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 ]) ]
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'])
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
def setup_class(self): states, trans = make_miro_machine(use_logging=False) self.hsm = HSM(states, trans)
def setup_class(self): self.states, self.trans = make_miro_machine(use_logging=True) self.hsm = HSM(self.states, self.trans) self.eb = EventBus()
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])