Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
 def setUp(self):
     self.signal_phase = SignalPhase(SignalPhaseTests.INITIAL_PHASE)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
 def setUp(self):
     self.signal_phase = SignalPhase(SignalPhaseTests.INITIAL_PHASE)
Exemplo n.º 7
0
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)