Coverage for microbit/test_microbit_output.py: 100%
46 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
2import time
4from birdbrain_device import BirdbrainDevice
5from birdbrain_exception import BirdbrainException
6from birdbrain_microbit import BirdbrainMicrobit
7from birdbrain_microbit_output import BirdbrainMicrobitOutput
8from birdbrain_request import BirdbrainRequest
9from birdbrain_state import BirdbrainState
11def test_display():
12 state = BirdbrainState()
14 BirdbrainMicrobitOutput.display(state, "A", [ 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 ])
16 time.sleep(0.15)
18 BirdbrainRequest.stop_all("A")
20def test_display_wrong_size():
21 with pytest.raises(BirdbrainException) as e:
22 state = BirdbrainState()
24 list = [ 0,1 ]
26 BirdbrainMicrobitOutput.display(state, "A", list)
27 assert e.value.message == "Error: display() requires a list of length 25"
29def test_point_and_clear_display():
30 state = BirdbrainState()
32 for i in range(2):
33 assert BirdbrainMicrobitOutput.point(state, "A", 1, 1, 1)
34 assert BirdbrainMicrobitOutput.point(state, "A", 1, 5, 1)
35 assert BirdbrainMicrobitOutput.point(state, "A", 5, 1, 1)
36 assert BirdbrainMicrobitOutput.point(state, "A", 5, 5, 1)
38 time.sleep(0.15)
40 BirdbrainMicrobitOutput.clear_display(state, "A")
42def test_point_true_or_false():
43 state = BirdbrainState()
45 assert BirdbrainMicrobitOutput.point(state, "A", 3, 3, True)
47 time.sleep(0.15)
49 assert BirdbrainMicrobitOutput.point(state, "A", 3, 3, False)
51def test_point_out_of_range():
52 with pytest.raises(BirdbrainException) as e:
53 state = BirdbrainState()
55 assert BirdbrainMicrobitOutput.point(state, "A", 999, 1, 1)
56 assert e.value.message == "Error: point out of range"
58def test_print():
59 state = BirdbrainState()
61 assert BirdbrainMicrobitOutput.print(state, "A", "B")
62 time.sleep(1)
64 assert BirdbrainMicrobitOutput.print(state, "A", " ")
65 time.sleep(1)
67def test_play_note():
68 assert BirdbrainMicrobitOutput.play_note("A", 50, 0.25)