def test_get_normal_transition_when_there_is_a_match(self): fsm = FSM(1) fsm.state_transitions = {('b', 1): (None, None, 2)} first_fsm = self.get_test_fsm() fsm.memory = {2: [first_fsm]} (_, _, next_state) = fsm.get_transition('b', 1) self.assertEqual(next_state, 2) self.assertEqual(fsm.memory.get(2), [first_fsm])
def test_get_normal_transition_when_there_is_no_match_but_such_transition_exist( self): fsm = FSM(1) #fsm.state_transitions = {('b', 1):(None, 2)} first_fsm = FSM('1_1') first_fsm.state_transitions = { ('a', '1_1'): (None, None, '1_2'), (fsm.END_PAR_TRANSITION, '1_2'): (None, None, 2) } fsm.memory = {2: [first_fsm]} (_, _, next_state) = fsm.get_transition('a', 2) print "test_get_normal_transition_when_there_is_no_match_but_such_transition_exist:%s" % fsm.memory self.assertEqual(fsm.memory, {2: []}) self.assertEqual(next_state, 2)
def test_get_normal_transition_when_there_is_no_match(self): fsm = FSM(1) fsm.state_transitions = {('b', 1): (None, None, 2)} first_fsm = self.get_test_fsm() fsm.memory = {2: [first_fsm]} self.assertRaises(ExceptionFSM, fsm.get_transition, 'c', 1)
def get_test_fsm(self): # build test data testData = FSM('1_1') testData.state_transitions = {('a', '1_1'): (None, None, '1_2')} return testData