77import pytest
88
99from pms import SensorWarning
10- from pms .core import Sensor , Supported
10+ from pms .core import Sensor
11+
12+
13+ @pytest .fixture (params = Sensor )
14+ def sensor (request : pytest .FixtureRequest ) -> Sensor :
15+ return request .param
1116
1217
13- @pytest .mark .parametrize ("sensor" , Supported )
1418@pytest .mark .parametrize ("attr" , ["Message" , "Data" , "Commands" ])
15- def test_sensor_attrs (sensor , attr ):
16- assert getattr (Sensor [ sensor ] , attr )
19+ def test_sensor_attrs (sensor : Sensor , attr : str ):
20+ assert getattr (sensor , attr )
1721
1822
19- @pytest .mark .parametrize ("sensor" , Supported )
20- @pytest .mark .parametrize ("command" , "passive_mode passive_read active_mode sleep wake" .split ())
21- def test_commands (sensor , command ):
22- assert Sensor [sensor ].command (command )
23+ @pytest .mark .parametrize (
24+ "command" , ["passive_mode" , "passive_read" , "active_mode" , "sleep" , "wake" ]
25+ )
26+ def test_commands (sensor : Sensor , command : str ):
27+ assert sensor .command (command )
2328
2429
25- @pytest .mark .parametrize ("sensor" , Supported )
26- def test_baud (sensor ):
27- baud = 9600 if sensor != "SPS30" else 115200
28- assert Sensor [sensor ].baud == baud
30+ def test_baud (sensor : Sensor ):
31+ baud = 9600 if sensor .name != "SPS30" else 115200
32+ assert sensor .baud == baud
2933
3034
31- @pytest .mark .parametrize ("sensor" , Supported )
32- def test_pre_heat (sensor ):
33- if sensor == "MHZ19B" :
35+ def test_pre_heat (sensor : Sensor ):
36+ if sensor .name == "MHZ19B" :
3437 pre_heat = 180
35- elif sensor == "PMSx003" :
38+ elif sensor . name == "PMSx003" :
3639 pre_heat = 10
3740 else :
3841 pre_heat = 0
39- assert Sensor [ sensor ] .pre_heat == pre_heat
42+ assert sensor .pre_heat == pre_heat
4043
4144
42- @pytest .mark .parametrize ("sensor" , ["HPMA115S0" , "HPMA115C0" ])
45+ @pytest .mark .parametrize ("sensor" , [Sensor [ "HPMA115S0" ], Sensor [ "HPMA115C0" ] ])
4346@pytest .mark .parametrize ("command" , ["passive_mode" , "wake" ])
4447@pytest .mark .parametrize (
4548 "buffer,check" ,
@@ -50,8 +53,8 @@ def test_pre_heat(sensor):
5053 pytest .param (b"\xa5 \xa5 \x40 \x0d \x04 " , False , id = "no ACK at end" ),
5154 ],
5255)
53- def test_HPMA115xx_ACK_message (sensor , command , buffer , check ):
54- assert Sensor [ sensor ] .check (buffer , command ) == check
56+ def test_HPMA115xx_ACK_message (sensor : Sensor , command : str , buffer : bytes , check : bool ):
57+ assert sensor .check (buffer , command ) == check
5558
5659
5760class RawData (NamedTuple ):
0 commit comments