def setUp(self): automaton = Automaton("automaton", float('inf'), float('inf')) self.eq_solver = EquationSolver(automaton) self.s = self.eq_solver.s self.vector1 = IntVector("a", 4) self.vector2 = IntVector("b", 4) self.result = IntVector("c", 4)
def test_one_node_configuration(self): manager = ReachManager(Automaton("test", 0, 10)) manager.add_state("q0") manager.add_interval("q0", "q0", 0, True, 0, True) reach = manager.get_reach("q0") interval = reach.get_reachable_set("q0") self.assertIsNotNone(reach) self.assertIsNotNone(interval) self.assertEqual("[0, 0]", str(interval))
def test_automaton_configuration(self): automaton = Automaton("test", 0, 10) automaton\ .create_new_node("qi")\ .create_new_node("q0")\ .create_new_node("q1")\ .create_new_node("q2")\ .create_new_edge("q0", "q1")\ .create_new_edge("q1", "q2")\ .create_new_edge("qi", "q0") automaton.set_node_invisible("qi") automaton.find_initial_node() manager = ReachManager(automaton) reach = manager.get_reach("q0") interval = reach.get_reachable_set("q0") self.assertIsNotNone(reach) self.assertIsNotNone(interval) self.assertEqual("[0, 0]", str(interval)) reach = manager.get_reach("q1") interval = reach.get_reachable_set("q1") self.assertIsNotNone(reach) self.assertIsNone(interval) reach = manager.get_reach("q2") interval = reach.get_reachable_set("q2") self.assertIsNotNone(reach) self.assertIsNone(interval)
def test_no_node_configuration(self): manager = ReachManager(Automaton("test", 0, 10)) self.assertIsNone(manager.get_reach("q0"))