示例#1
0
    def test_coreachable_no_accepting_states_gives_empty_dfa(self):

        dfa = SimpleDFA(
            {"q0", "q1", "q2"},
            MapAlphabet({"a1", "a2"}),
            "q0",
            set(),
            {"q0": {"a1": "q0", "a2": "q1"}},
        )

        actual_coreachable = dfa.coreachable()

        expected_coreachable = EmptyDFA(MapAlphabet({"a1", "a2"}))

        assert actual_coreachable == expected_coreachable
示例#2
0
    def test_coreachable_simple_case(self):

        dfa = SimpleDFA(
            {"q0", "q1", "q2"},
            MapAlphabet({"a1", "a2"}),
            "q0",
            {"q0"},
            {"q0": {"a1": "q0", "a2": "q1"}},
        )

        actual_coreachable = dfa.coreachable()

        expected_coreachable = SimpleDFA(
            {"q0"}, MapAlphabet({"a1", "a2"}), "q0", {"q0"}, {"q0": {"a1": "q0"}}
        )

        assert actual_coreachable == expected_coreachable