def test_final_state(self): f = MutableFST() s0 = f.get_initial_state() s1 = f.add_state() self.assertEqual(f.get_final_states(), []) f.set_final_state(s1) self.assertEqual(f.get_final_states(), [s1]) self.assertEqual(f.to_dict(), {"initial": s0, "finals": [s1], "transitions": {s0: {}, s1: {}}}) s2 = f.add_state() f.set_final_state(s2) self.assertEqual(f.get_final_states(), [s1, s2]) self.assertEqual(f.to_dict(), {"initial": s0, "finals": [s1, s2], "transitions": {s0: {}, s1: {}, s2: {}}})
def test_construction(self): f = MutableFST() self.assertEqual(f.get_letters(), []) s0 = f.get_initial_state() self.assertEqual(s0, 0) self.assertEqual(f.get_states(), [s0]) self.assertEqual(f.get_final_states(), []) self.assertEqual(f.to_dict(), {"initial": s0, "finals": [], "transitions": {s0: {}}})