예제 #1
0
    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
예제 #2
0
    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