def test_led_bar_graph_value(): pin1 = MockPin(2) pin2 = MockPin(3) pin3 = MockPin(4) with LEDBarGraph(pin1, pin2, pin3) as graph: assert isinstance(graph[0], LED) assert isinstance(graph[1], LED) assert isinstance(graph[2], LED) assert graph.active_high assert graph[0].active_high assert graph[1].active_high assert graph[2].active_high graph.value = 0 assert graph.value == 0 assert not any((pin1.state, pin2.state, pin3.state)) graph.value = 1 assert graph.value == 1 assert all((pin1.state, pin2.state, pin3.state)) graph.value = 1 / 3 assert graph.value == 1 / 3 assert pin1.state and not (pin2.state or pin3.state) graph.value = -1 / 3 assert graph.value == -1 / 3 assert pin3.state and not (pin1.state or pin2.state) pin1.state = True pin2.state = True assert graph.value == 1 pin3.state = False assert graph.value == 2 / 3 pin3.state = True pin1.state = False assert graph.value == -2 / 3
def test_led_bar_graph_value(): pin1 = MockPin(2) pin2 = MockPin(3) pin3 = MockPin(4) with LEDBarGraph(pin1, pin2, pin3) as graph: assert isinstance(graph[0], LED) assert isinstance(graph[1], LED) assert isinstance(graph[2], LED) assert graph.active_high assert graph[0].active_high assert graph[1].active_high assert graph[2].active_high graph.value = 0 assert graph.value == 0 assert not any((pin1.state, pin2.state, pin3.state)) graph.value = 1 assert graph.value == 1 assert all((pin1.state, pin2.state, pin3.state)) graph.value = 1/3 assert graph.value == 1/3 assert pin1.state and not (pin2.state or pin3.state) graph.value = -1/3 assert graph.value == -1/3 assert pin3.state and not (pin1.state or pin2.state) pin1.state = True pin2.state = True assert graph.value == 1 pin3.state = False assert graph.value == 2/3 pin3.state = True pin1.state = False assert graph.value == -2/3
def test_mock_pin_state(): pin = MockPin(2) with pytest.raises(PinSetInput): pin.state = 1 pin.function = 'output' assert pin.state == 0 pin.state = 1 assert pin.state == 1 pin.state = 0 assert pin.state == 0 pin.state = 0.5 assert pin.state == 1
def test_mock_pin_state(): pin = MockPin(2) with pytest.raises(PinSetInput): pin.state = 1 pin.function = "output" assert pin.state == 0 pin.state = 1 assert pin.state == 1 pin.state = 0 assert pin.state == 0 pin.state = 0.5 assert pin.state == 1
def test_led_bar_graph_value(): pin1 = MockPin(2) pin2 = MockPin(3) pin3 = MockPin(4) with LEDBarGraph(pin1, pin2, pin3) as graph: graph.value = 0 assert not any((pin1.state, pin2.state, pin3.state)) graph.value = 1 assert all((pin1.state, pin2.state, pin3.state)) graph.value = 1/3 assert pin1.state and not (pin2.state or pin3.state) graph.value = -1/3 assert pin3.state and not (pin1.state or pin2.state) pin1.state = True pin2.state = True assert graph.value == 1 pin3.state = False assert graph.value == 2/3 pin3.state = True pin1.state = False assert graph.value == -2/3
def test_led_bar_graph_value(): pin1 = MockPin(2) pin2 = MockPin(3) pin3 = MockPin(4) with LEDBarGraph(pin1, pin2, pin3) as graph: graph.value = 0 assert not any((pin1.state, pin2.state, pin3.state)) graph.value = 1 assert all((pin1.state, pin2.state, pin3.state)) graph.value = 1 / 3 assert pin1.state and not (pin2.state or pin3.state) graph.value = -1 / 3 assert pin3.state and not (pin1.state or pin2.state) pin1.state = True pin2.state = True assert graph.value == 1 pin3.state = False assert graph.value == 2 / 3 pin3.state = True pin1.state = False assert graph.value == -2 / 3