pygpibtoolkit/test/test_prologix_emulator.py

changeset 101
975576e55563
child 102
91713944ebb0
equal deleted inserted replaced
100:709ffa28cf7e 101:975576e55563
1 #
2 import serial
3 import time
4 import pygpibtoolkit.prologix_emulator as PE
5
6 import pytest
7
8
9 @pytest.fixture(scope='session')
10 def emulator():
11 emul = PE.BasePrologixEmulator()
12 cnx = serial.Serial(emul.serialurl, timeout=0)
13 yield (emul, cnx)
14 emul.close()
15 cnx.close()
16
17
18 def test_base(emulator):
19 emul, cnx = emulator
20 emul.reset()
21 assert emul.mode == 1
22 assert emul.addr == 5
23
24
25 def test_cmd_mode_get(emulator):
26 emul, cnx = emulator
27 emul.reset()
28 cnx.write(b'++mode\r\n')
29 time.sleep(0.1)
30 result = cnx.readlines()
31 assert len(result) == 1
32 result = result[0].strip()
33 assert result == b'1'
34
35
36 def test_cmd_mode_set(emulator):
37 emul, cnx = emulator
38 emul.reset()
39 cnx.write(b'++mode 0\r\n')
40 time.sleep(0.1)
41 result = cnx.readlines()
42 assert len(result) == 0
43 assert emul.mode == 0
44
45
46 def test_cmd_mode_err(emulator):
47 emul, cnx = emulator
48 emul.reset()
49 for value in (b'2', b'0 0', b'a'):
50 cnx.write(b'++mode %s\r\n' % value)
51 time.sleep(0.1)
52 result = cnx.readlines()
53 assert len(result) == 1
54 result = result[0].strip()
55 assert result == b'Error'
56 assert emul.mode == 1
57
58
59 def test_cmd_addr_get(emulator):
60 emul, cnx = emulator
61 emul.reset()
62 cnx.write(b'++addr\r\n')
63 time.sleep(0.1)
64 result = cnx.readlines()
65 assert len(result) == 1
66 result = result[0].strip()
67 assert result == b'5'
68
69
70 def test_cmd_addr_set(emulator):
71 emul, cnx = emulator
72 emul.reset()
73 for value in (0, 1, 10, 31):
74 cnx.write(b'++addr %s\r\n' % str(value).encode())
75 time.sleep(0.1)
76 result = cnx.readlines()
77 assert len(result) == 0
78 assert emul.addr == value
79
80
81 def test_cmd_addr_err(emulator):
82 emul, cnx = emulator
83 emul.reset()
84 for value in (b'-2', b'0 0', b'a'):
85 cnx.write(b'++addr %s\r\n' % value)
86 time.sleep(0.1)
87 result = cnx.readlines()
88 assert len(result) == 1
89 result = result[0].strip()
90 assert result == b'Error'
91 assert emul.addr == 5

mercurial