Coverage for microbit/test_microbit_input.py: 100%
52 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-12 11:24 -0400
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-12 11:24 -0400
1import pytest
3from birdbrain_constant import BirdbrainConstant
4from birdbrain_exception import BirdbrainException
5from birdbrain_microbit_input import BirdbrainMicrobitInput
7def test_acceleration():
8 response = BirdbrainMicrobitInput.acceleration("A", "Accelerometer")
9 response = BirdbrainMicrobitInput.acceleration("A")
11 assert (-100.0 <= response[0] <= 100.0)
12 assert (-100.0 <= response[1] <= 100.0)
13 assert (-100.0 <= response[2] <= 100.0)
15 assert isinstance(response[0], float)
16 assert isinstance(response[1], float)
17 assert isinstance(response[2], float)
19def test_compass():
20 response = BirdbrainMicrobitInput.compass("A", "Compass")
21 response = BirdbrainMicrobitInput.compass("A")
23 assert (0 <= response <= 359)
24 assert isinstance(response, int)
26def test_magnetometer():
27 response = BirdbrainMicrobitInput.magnetometer("A")
29 assert (-180.0 <= response[0] <= 180.0)
30 assert (-180.0 <= response[1] <= 180.0)
31 assert (-180.0 <= response[2] <= 180.0)
33 assert isinstance(response[0], int)
34 assert isinstance(response[1], int)
35 assert isinstance(response[2], int)
37def test_button():
38 assert not BirdbrainMicrobitInput.button("A", "A")
39 assert not BirdbrainMicrobitInput.button("A", "B")
40 assert not BirdbrainMicrobitInput.button("A", "LOGO")
41 assert not BirdbrainMicrobitInput.button("A", "Logo")
42 assert not BirdbrainMicrobitInput.button("A", "logo")
44 with pytest.raises(BirdbrainException) as e:
45 BirdbrainMicrobitInput.button("A", "BAD")
46 assert e.value.message == "Error: Request to device failed"
48def test_sound():
49 response = BirdbrainMicrobitInput.sound("A")
51 assert (0 <= response <= 100)
52 assert isinstance(response, int)
54def test_temperature():
55 response = BirdbrainMicrobitInput.temperature("A")
57 assert (0 <= response <= 50)
58 assert isinstance(response, int)
60def test_is_shaking():
61 response = BirdbrainMicrobitInput.is_shaking("A")
63 assert not response
65def test_orientation():
66 response = BirdbrainMicrobitInput.orientation("A")
68 some_position = False
69 for orientation in BirdbrainConstant.HUMMINGBIRD_ORIENTATION_RESULTS:
70 some_position = some_position or (orientation == response)
72 assert some_position