def test_uno_pin_ids_are_sequential() -> None: for pin_no, pin in enumerate(get_uno_pins()): assert pin_no == pin.pin_id def test_mega_pin_ids_are_sequential() -> None: for pin_no, pin in enumerate(get_mega_pins()): assert pin_no == pin.pin_id @pytest.mark.parametrize( "arduino,expected_pins", [ pytest.param(Arduino.uno(port="", conn_class=get_mock_conn_class()), get_uno_pins()), pytest.param(Arduino.nano(port="", conn_class=get_mock_conn_class()), get_nano_pins()), pytest.param(Arduino.mega(port="", conn_class=get_mock_conn_class()), get_mega_pins()), ], ) def test_classmethods_set_correct_pins(arduino: Arduino, expected_pins: Tuple[Pin, ...]) -> None: assert arduino.pins == expected_pins @pytest.mark.parametrize( "analog_alias,pins", [
def arduino(serial: Mock) -> Arduino: arduino = Arduino.uno(port="", conn_class=serial) return arduino