Exemplo n.º 1
0
 def test_enter_top(self):
     expected_action_names = ['top-entry', 'top-Initial', 'left-entry',
                              'left[0].top-entry', 'left[0].top-Initial',
                              'left[0].start-entry']
     seq = entry_sequence(self.hsm.root, self.hsm.trans,
                          self.hsm.flattened, self.hsm)
     assert [str(act) for act in seq] == expected_action_names
Exemplo n.º 2
0
 def test_enter_right(self):
     expected_action_names = ['right-entry', 'right-Initial', 'subs-entry',
                              'subs[0].top-entry', 'subs[0].top-Initial',
                              'subs[0].start-entry', 'subs[1].top-entry',
                              'subs[1].top-Initial', 'subs[1].start-entry']
     right = get_state_by_sig(('right',), self.hsm.flattened)
     seq = entry_sequence(right, self.hsm.trans,
                          self.hsm.flattened, self.hsm)
     assert [str(act) for act in seq] == expected_action_names
Exemplo n.º 3
0
    def test_enter_A(self):
        mock = MockHSM()
        A_state = get_state_by_sig(('A',), self.hsm.flattened)

        for key in [1, 3, 4, 5, 6, 'asd']:
            mock.data.foo = key

            expected_action_names = ['A-entry', 'A-Initial', 'B-entry',
                                     'C-entry']
            seq = entry_sequence(A_state, self.hsm.trans,
                                 self.hsm.flattened, mock)
            assert [str(act) for act in seq] == expected_action_names

        mock.data.foo = 2
        expected_action_names = ['A-entry', 'A-Initial', 'B-entry',
                                 'B-Initial', 'C-entry']
        seq = entry_sequence(A_state, self.hsm.trans,
                             self.hsm.flattened, mock)
        assert [str(act) for act in seq] == expected_action_names
Exemplo n.º 4
0
    def test_enter_B(self):
        mock = MockHSM()
        B_state = get_state_by_sig(('B',), self.hsm.flattened)

        for key in [3, 4, 5, 6, 'blah']:
            mock.data.foo = key

            expected_action_names = ['B-entry', 'B-Initial', 'C-entry']
            seq = entry_sequence(B_state, self.hsm.trans,
                                 self.hsm.flattened, mock)
            assert [str(act) for act in seq] == expected_action_names
Exemplo n.º 5
0
    def test_enter_top(self):
        mock = MockHSM()
        mock.data.foo = 1
        expected_action_names = ['top-entry', 'top-Initial', 'A-entry',
                                 'A-Initial', 'B-entry', 'C-entry']
        seq = entry_sequence(self.hsm.root, self.hsm.trans,
                             self.hsm.flattened, mock)
        assert [str(act) for act in seq] == expected_action_names

        mock.data.foo = 2
        expected_action_names = ['top-entry', 'top-Initial', 'A-entry',
                                 'B-entry', 'B-Initial', 'C-entry']
        seq = entry_sequence(self.hsm.root, self.hsm.trans,
                             self.hsm.flattened, mock)
        assert [str(act) for act in seq] == expected_action_names

        mock.data.foo = 3
        expected_action_names = ['top-entry', 'top-Initial', 'A-entry',
                                 'B-entry', 'C-entry']
        seq = entry_sequence(self.hsm.root, self.hsm.trans,
                             self.hsm.flattened, mock)
        assert [str(act) for act in seq] == expected_action_names

        mock.data.foo = 'BLAH'  # take default
        expected_action_names = ['top-entry', 'top-Initial', 'A-entry',
                                 'B-entry', 'C-entry']
        seq = entry_sequence(self.hsm.root, self.hsm.trans,
                             self.hsm.flattened, mock)
        assert [str(act) for act in seq] == expected_action_names

        mock.data.foo = 4
        expected_action_names = ['top-entry', 'top-Initial', 'D-entry',
                                 'D-Initial', 'E-entry', 'F-entry']
        seq = entry_sequence(self.hsm.root, self.hsm.trans,
                             self.hsm.flattened, mock)
        assert [str(act) for act in seq] == expected_action_names

        mock.data.foo = 5
        expected_action_names = ['top-entry', 'top-Initial', 'D-entry',
                                 'E-entry', 'E-Initial', 'F-entry']
        seq = entry_sequence(self.hsm.root, self.hsm.trans,
                             self.hsm.flattened, mock)
        assert [str(act) for act in seq] == expected_action_names

        mock.data.foo = 6
        expected_action_names = ['top-entry', 'top-Initial', 'D-entry',
                                 'E-entry', 'F-entry']
        seq = entry_sequence(self.hsm.root, self.hsm.trans,
                             self.hsm.flattened, mock)
        assert [str(act) for act in seq] == expected_action_names
Exemplo n.º 6
0
 def test_enter_s2(self):
     expected_action_names = ['s2-entry', 's2-Initial', 's21-entry',
                              's211-entry']
     s2 = get_state_by_sig(('s2',), self.hsm.flattened)
     seq = entry_sequence(s2, self.hsm.trans, self.hsm.flattened, self.hsm)
     assert [str(act) for act in seq] == expected_action_names