88ev3dev .Device .DEVICE_ROOT_PATH = os .path .join (os .path .dirname (__file__ ), 'fake_sys_class' )
99
1010class TestAPI (unittest .TestCase ):
11+ def test_device (self ):
12+ d = ev3dev .Device ('tacho-motor' , 'motor*' )
13+ self .assertTrue (d .connected )
14+
15+ d = ev3dev .Device ('tacho-motor' , 'motor0' )
16+ self .assertTrue (d .connected )
17+
18+ d = ev3dev .Device ('tacho-motor' , 'motor*' , driver_name = 'lego-ev3-m-motor' )
19+ self .assertTrue (d .connected )
20+
21+ d = ev3dev .Device ('tacho-motor' , 'motor*' , port_name = 'outA' )
22+ self .assertTrue (d .connected )
23+
24+ d = ev3dev .Device ('tacho-motor' , 'motor*' , port_name = 'outA' , driver_name = 'not-valid' )
25+ self .assertTrue (not d .connected )
26+
27+ d = ev3dev .Device ('lego-sensor' , 'sensor*' )
28+ self .assertTrue (d .connected )
29+
1130 def test_medium_motor (self ):
1231 m = ev3dev .MediumMotor ()
1332
1433 self .assertTrue (m .connected );
34+
1535 self .assertEqual (m .count_per_rot , 360 )
36+ self .assertEqual (m .commands , ['run-forever' , 'run-to-abs-pos' , 'run-to-rel-pos' , 'run-timed' , 'run-direct' , 'stop' , 'reset' ])
1637 self .assertEqual (m .driver_name , 'lego-ev3-m-motor' )
1738 self .assertEqual (m .duty_cycle , 0 )
1839 self .assertEqual (m .duty_cycle_sp , 42 )
@@ -30,6 +51,19 @@ def test_medium_motor(self):
3051 self .assertEqual (m .stop_command , 'coast' )
3152 self .assertEqual (m .time_sp , 1000 )
3253
54+ with self .assertRaises (Exception ):
55+ c = m .command
56+
57+ def test_infrared_sensor (self ):
58+ s = ev3dev .InfraredSensor ()
59+
60+ self .assertTrue (s .connected )
61+
62+ self .assertEqual (s .bin_data_format , 's8' )
63+ self .assertEqual (s .bin_data ('<b' ), (16 ,))
64+ self .assertEqual (s .num_values , 1 )
65+ self .assertEqual (s .port_name , 'in1' )
66+ self .assertEqual (s .value (0 ), 16 )
3367
3468if __name__ == "__main__" :
3569 unittest .main ()
0 commit comments