def testOfJunctionRklnDefaultProgram(self): duration = [30, 2, 6, 2, 31, 2] phase = ["rrrGGGGGg", "rrryyyyyg", "rrrrrrrrG", "rrrrrrrry", "GGGGrrrrr", "yyyyrrrrr"] myPhase = SignalPhase(phase[0]) for outer, repeat in enumerate(duration): for inner in range(0, duration[outer]): myPhase.setPhase(phase[outer]) for status in myPhase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status)
def testOfJunctionRklnDefaultProgram(self): duration = [30, 2, 6, 2, 31, 2] phase = [ "rrrGGGGGg", "rrryyyyyg", "rrrrrrrrG", "rrrrrrrry", "GGGGrrrrr", "yyyyrrrrr" ] myPhase = SignalPhase(phase[0]) for outer, repeat in enumerate(duration): for inner in range(0, duration[outer]): myPhase.setPhase(phase[outer]) for status in myPhase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status)
def __init__(self, initial_phase): self.junction = "JunctionRKLN" self.agent_name = "SafetyAgentRoseKiln" self.Connect_RabbitMQ() self.phase_manager = SignalPhase(initial_phase) if self.phase_manager.status_last_change_request ==\ SignalPhase.STATUS_OK: self.sendTrafficLightSignalCommand( self.phase_manager.current_phase)
def setUp(self): self.signal_phase = SignalPhase(SignalPhaseTests.INITIAL_PHASE)
class SignalPhaseTests(unittest.TestCase): INITIAL_PHASE = "rrGGGGGg" GOOD_NEXT_PHASE = "rryyyyyg" def setUp(self): self.signal_phase = SignalPhase(SignalPhaseTests.INITIAL_PHASE) def tearDown(self): self.signal_phase = None def testGetPhase(self): self.assertEqual(SignalPhaseTests.INITIAL_PHASE, self.signal_phase.current_phase) def testValidPhaseChange(self): result = self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.assertEqual(2, self.signal_phase.current_phase_age) self.assertEqual(SignalPhaseTests.INITIAL_PHASE, self.signal_phase.current_phase) for status in self.signal_phase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status) self.assertEqual(SignalPhase.STATUS_OK, result) def testValidDifferentPhaseChange(self): self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.signal_phase.setPhase(SignalPhaseTests.GOOD_NEXT_PHASE) self.assertEqual(SignalPhaseTests.GOOD_NEXT_PHASE, self.signal_phase.current_phase) for status in self.signal_phase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status) self.assertEqual(1, self.signal_phase.current_phase_age) def testBadTransitionLeavesPhaseUnchanged(self): self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.assertEqual(SignalPhase.STATUS_NO_CHANGE, self.signal_phase.setPhase("ryGGGGGg")) self.assertEqual(SignalPhaseTests.INITIAL_PHASE, self.signal_phase.current_phase) self.assertEqual([ SignalState.STATUS_OK, SignalState.STATUS_INVALID_PROGRESSION, SignalState.STATUS_OK, SignalState.STATUS_OK, SignalState.STATUS_OK, SignalState.STATUS_OK, SignalState.STATUS_OK, SignalState.STATUS_OK ], self.signal_phase.status_last_change_request) self.assertEqual(4, self.signal_phase.current_phase_age) def testOfJunctionSsDefaultProgram(self): duration = [30, 2, 6, 2, 31, 2] phase = [ "rrGGGGGg", "rryyyyyg", "rrrrrrrG", "rrrrrrry", "GGGrrrrr", "yyyrrrrr" ] myPhase = SignalPhase(phase[0]) for outer, repeat in enumerate(duration): for inner in range(0, duration[outer]): myPhase.setPhase(phase[outer]) for status in myPhase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status) def testOfJunctionRklnDefaultProgram(self): duration = [30, 2, 6, 2, 31, 2] phase = [ "rrrGGGGGg", "rrryyyyyg", "rrrrrrrrG", "rrrrrrrry", "GGGGrrrrr", "yyyyrrrrr" ] myPhase = SignalPhase(phase[0]) for outer, repeat in enumerate(duration): for inner in range(0, duration[outer]): myPhase.setPhase(phase[outer]) for status in myPhase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status)
class SignalPhaseTests(unittest.TestCase): INITIAL_PHASE = "rrGGGGGg" GOOD_NEXT_PHASE = "rryyyyyg" def setUp(self): self.signal_phase = SignalPhase(SignalPhaseTests.INITIAL_PHASE) def tearDown(self): self.signal_phase = None def testGetPhase(self): self.assertEqual(SignalPhaseTests.INITIAL_PHASE, self.signal_phase.current_phase) def testValidPhaseChange(self): result = self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.assertEqual(2, self.signal_phase.current_phase_age) self.assertEqual(SignalPhaseTests.INITIAL_PHASE, self.signal_phase.current_phase) for status in self.signal_phase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status) self.assertEqual(SignalPhase.STATUS_OK, result) def testValidDifferentPhaseChange(self): self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.signal_phase.setPhase(SignalPhaseTests.GOOD_NEXT_PHASE) self.assertEqual(SignalPhaseTests.GOOD_NEXT_PHASE, self.signal_phase.current_phase) for status in self.signal_phase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status) self.assertEqual(1, self.signal_phase.current_phase_age) def testBadTransitionLeavesPhaseUnchanged(self): self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.signal_phase.setPhase(SignalPhaseTests.INITIAL_PHASE) self.assertEqual(SignalPhase.STATUS_NO_CHANGE, self.signal_phase.setPhase("ryGGGGGg")) self.assertEqual(SignalPhaseTests.INITIAL_PHASE, self.signal_phase.current_phase) self.assertEqual([SignalState.STATUS_OK, SignalState.STATUS_INVALID_PROGRESSION, SignalState.STATUS_OK, SignalState.STATUS_OK, SignalState.STATUS_OK, SignalState.STATUS_OK, SignalState.STATUS_OK, SignalState.STATUS_OK], self.signal_phase.status_last_change_request) self.assertEqual(4, self.signal_phase.current_phase_age) def testOfJunctionSsDefaultProgram(self): duration = [30, 2, 6, 2, 31, 2] phase = ["rrGGGGGg", "rryyyyyg", "rrrrrrrG", "rrrrrrry", "GGGrrrrr", "yyyrrrrr"] myPhase = SignalPhase(phase[0]) for outer, repeat in enumerate(duration): for inner in range(0, duration[outer]): myPhase.setPhase(phase[outer]) for status in myPhase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status) def testOfJunctionRklnDefaultProgram(self): duration = [30, 2, 6, 2, 31, 2] phase = ["rrrGGGGGg", "rrryyyyyg", "rrrrrrrrG", "rrrrrrrry", "GGGGrrrrr", "yyyyrrrrr"] myPhase = SignalPhase(phase[0]) for outer, repeat in enumerate(duration): for inner in range(0, duration[outer]): myPhase.setPhase(phase[outer]) for status in myPhase.status_last_change_request: self.assertEqual(SignalState.STATUS_OK, status)