1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/tests/attr_class.py Fri Mar 31 00:17:01 2017 +0200
1.3 @@ -0,0 +1,43 @@
1.4 +class SignalState:
1.5 + Red = 1
1.6 + Amber = 2
1.7 + Green = 3
1.8 + AmberAgain = 4
1.9 + Off = None
1.10 +
1.11 +class Signal:
1.12 + def __init__(self):
1.13 + self.disable()
1.14 +
1.15 + def enable(self):
1.16 + self.state = SignalState.Red
1.17 +
1.18 + def disable(self):
1.19 + self.state = SignalState.Off
1.20 +
1.21 + def next(self):
1.22 + if self.state == SignalState.Red:
1.23 + self.state = SignalState.Amber
1.24 + elif self.state == SignalState.Amber:
1.25 + self.state = SignalState.Green
1.26 + elif self.state == SignalState.Green:
1.27 + self.state = SignalState.AmberAgain
1.28 + elif self.state == SignalState.AmberAgain:
1.29 + self.state = SignalState.Red
1.30 + else:
1.31 + self.state = SignalState.Off
1.32 +
1.33 +s = Signal()
1.34 +print s.state # None
1.35 +s.next()
1.36 +print s.state # None
1.37 +s.enable()
1.38 +print s.state # 1
1.39 +s.next()
1.40 +print s.state # 2
1.41 +s.next()
1.42 +print s.state # 3
1.43 +s.next()
1.44 +print s.state # 4
1.45 +s.next()
1.46 +print s.state # 1