From 1b3e6a429b315232cd3c596f9b321b6ab05e8f04 Mon Sep 17 00:00:00 2001 From: Andrew Scheller Date: Mon, 19 Sep 2016 12:00:38 +0100 Subject: [PATCH] Add extra TrafficLight tests, and remove the redundant setattr function - `CompositeDevice`s can't have any of their attributes set anyway --- gpiozero/boards.py | 7 ------- tests/test_boards.py | 6 ++++++ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/gpiozero/boards.py b/gpiozero/boards.py index ec8ccbe..ab6bde3 100644 --- a/gpiozero/boards.py +++ b/gpiozero/boards.py @@ -710,13 +710,6 @@ class TrafficLights(LEDBoard): name = 'amber' return super(TrafficLights, self).__getattr__(name) - def __setattr__(self, name, value): - if name == 'amber' and self._display_yellow: - name = 'yellow' - elif name == 'yellow' and not self._display_yellow: - name = 'amber' - return super(TrafficLights, self).__setattr__(name, value) - class PiTraffic(TrafficLights): """ diff --git a/tests/test_boards.py b/tests/test_boards.py index d1accde..a7d99f3 100644 --- a/tests/test_boards.py +++ b/tests/test_boards.py @@ -555,6 +555,10 @@ def test_traffic_lights(): assert red_pin.state assert not amber_pin.state assert not green_pin.state + board.amber.on() + assert amber_pin.state + board.yellow.off() + assert not amber_pin.state with TrafficLights(red=red_pin, yellow=amber_pin, green=green_pin) as board: board.yellow.on() assert not board.red.value @@ -564,6 +568,8 @@ def test_traffic_lights(): assert not red_pin.state assert amber_pin.state assert not green_pin.state + board.amber.off() + assert not amber_pin.state def test_traffic_lights_bad_init(): with pytest.raises(ValueError):