def test_miro_machine(self):
        states, trans = make_miro_machine(use_logging=False)
        hsm = HSM(states, trans)

        s1 = get_state_by_sig(('s11',), hsm.flattened)
        s211 = get_state_by_sig(('s211',), hsm.flattened)

        tree = tree_from_state_set( set([s1, s211]) )
        assert len(tree) == 1  # only one root node

        assert self.extract_names(tree) == [
            ('top', [
                ('s', [
                    ('s1', [
                        ('s11', [])
                    ]),
                    ('s2', [
                        ('s21', [
                            ('s211', []),
                        ])
                    ])
                ]),
                # ('final', []),  # final should NOT be in the tree
            ])
        ]
示例#2
0
文件: test_misc.py 项目: bgr/hsmpy
    def test_flatten_miro_machine(self):
        states, trans = make_miro_machine(use_logging=False)

        hsm = HSM(states, trans)
        names = [st.name for st in hsm.flattened]
        assert sorted(names) == sorted(['top', 'final', 's', 's1', 's11', 's2',
                                        's21', 's211'])
示例#3
0
 def test_reformat_miro_machine(self):
     states, _ = reformat(*make_miro_machine(use_logging=False))
     expected_states = [
         composite('top', [
             composite('s', [
                 composite('s1', [
                     leaf('s11')
                 ]),
                 composite('s2', [
                     composite('s21', [
                         leaf('s211')
                     ])
                 ])
             ]),
             leaf('final')
         ])
     ]
     assert states == expected_states
示例#4
0
 def setup_class(self):
     states, trans = make_miro_machine(use_logging=False)
     self.hsm = HSM(states, trans)
示例#5
0
 def setup_class(self):
     self.states, self.trans = make_miro_machine(use_logging=True)
     self.hsm = HSM(self.states, self.trans)
     self.eb = EventBus()
示例#6
0
文件: test_misc.py 项目: bgr/hsmpy
 def test_miro_machine_events(self):
     states, trans = make_miro_machine(use_logging=False)
     hsm = HSM(states, trans)
     event_set = get_events(hsm.flattened, trans)
     assert event_set == set([A, B, C, D, E, F, G, H, I, TERMINATE])