def test_reachable_no_transitions(self): """Test that the reachable SimpleDFA of a SimpleDFA without transitions is the SimpleDFA with only the initial state.""" dfa = SimpleDFA({"q0", "q1", "q2"}, MapAlphabet({"a1", "a2"}), "q0", {"q1"}, {}) actual_reachable_dfa = dfa.reachable() expected_reachable_dfa = SimpleDFA( {"q0"}, MapAlphabet({"a1", "a2"}), "q0", set(), {} ) assert actual_reachable_dfa == expected_reachable_dfa
def test_reachable_simple_case(self): dfa = SimpleDFA( {"q0", "q1", "q2"}, MapAlphabet({"a1", "a2"}), "q0", {"q0"}, {"q0": {"a1": "q0", "a2": "q1"}}, ) actual_reachable = dfa.reachable() expected_reachable = SimpleDFA( {"q0", "q1"}, MapAlphabet({"a1", "a2"}), "q0", {"q0"}, {"q0": {"a1": "q0", "a2": "q1"}}, ) assert actual_reachable == expected_reachable