def test_body(self): """Test that the HOA body is correct.""" state_edges_dict = OrderedDict({}) state_edges_dict[State(0, name=string("a U b"), acc_sig=frozenset({0}))] = [ Edge([2]), Edge([0]), Edge([1]), Edge([1]), ] state_edges_dict[State(1, acc_sig=frozenset({1}))] = [ Edge([1]), Edge([1]), Edge([1]), Edge([1]), ] state_edges_dict[ State(2, name=string("sink state"), acc_sig=frozenset({0})) ] = [ Edge([2]), Edge([2]), Edge([2]), Edge([2]), ] assert self.hoa_body.state2edges == state_edges_dict
def test_hoa_header(self): """Test that the HOA header is correct.""" hoa_header = HOAHeader( identifier("v1"), Acceptance(Inf(0), identifier("Buchi")), nb_states=2, start_states={frozenset([0]), frozenset([1])}, propositions=(string("a"),), name=string("GFa"), ) assert self.hoa_header == hoa_header
def test_hoa_header(self): """Test that the HOA header is correct.""" hoa_header = HOAHeader( identifier("v1"), Acceptance(Inf(0) & Inf(1), identifier("generalized-Buchi"), (2,)), nb_states=1, start_states={frozenset([0])}, propositions=(string("a"), string("b")), name=string("GFa & GFb"), ) assert self.hoa_header == hoa_header
def test_hoa(self): """Test that the HOA automaton is correct.""" hoa_header = HOAHeader( identifier("v1"), Acceptance(Fin(0), identifier("co-Buchi")), nb_states=4, start_states={frozenset([0, 2]), frozenset([3])}, propositions=(string("a"), string("b"), string("c")), name=string("(Fa & G(b&Xc)) | c"), ) state_edges_dict = OrderedDict({}) state_edges_dict[State(0, name=string("Fa"))] = [ Edge([0], label=TRUE, acc_sig=frozenset({0})), Edge([1], label=LabelAtom(0)), ] state_edges_dict[State(1, name=string("true"))] = [Edge([1], label=TRUE)] state_edges_dict[State(2, name=string("G(b&Xc)"))] = [ Edge([2, 3], label=LabelAtom(1)) ] state_edges_dict[State(3, name=string("c"))] = [Edge([1], label=LabelAtom(2))] hoa_body = HOABody(state_edges_dict) hoa_obj = HOA(hoa_header, hoa_body) assert self.hoa_obj == hoa_obj
def test_hoa(self): """Test that the HOA automaton is correct.""" hoa_header = HOAHeader( identifier("v1"), Acceptance(Inf(0), identifier("Buchi")), nb_states=3, start_states={frozenset([0])}, propositions=(string("a"),), ) state_edges_dict = OrderedDict({}) state_edges_dict[State(0)] = [ Edge([1], label=LabelAtom(0)), Edge([2], label=~(LabelAtom(0))), ] state_edges_dict[State(1)] = [ Edge([1], label=LabelAtom(0), acc_sig=frozenset({0})), Edge( [2], label=~(LabelAtom(0)), acc_sig=frozenset({0}), ), ] state_edges_dict[State(2)] = [ Edge([1], label=LabelAtom(0)), Edge([2], label=~LabelAtom(0)), ] hoa_body = HOABody(state_edges_dict) hoa_obj = HOA(hoa_header, hoa_body) assert self.hoa_obj == hoa_obj
def test_body(self): """Test that the HOA body is correct.""" state_edges_dict = OrderedDict({}) state_edges_dict[State(0, name=string("a U b"))] = [ Edge( [0], LabelAtom(0) & ~LabelAtom(1), {0}, ), Edge([1], LabelAtom(1), {0}), ] state_edges_dict[State(1)] = [Edge([1], TRUE, {1})] assert self.hoa_body.state2edges == state_edges_dict
def test_hoa(self): """Test that the HOA automaton is correct.""" hoa_header = HOAHeader( identifier("v1"), Acceptance(Inf(0), identifier("Buchi")), start_states={frozenset([0])}, propositions=(string("a"), string("b")), name=string("GFa | G(b <-> Xa)"), properties=[ identifier("explicit-labels"), identifier("trans-labels"), identifier("trans-acc"), ], ) state_edges_dict = OrderedDict({}) state_edges_dict[State(0)] = [ Edge([1], label=TRUE), Edge([2], label=LabelAtom(1)), Edge([3], label=~(LabelAtom(1))), ] state_edges_dict[State(1, name=string("GFa"))] = [ Edge([1], label=LabelAtom(0), acc_sig=frozenset({0})), Edge([1], label=~(LabelAtom(0))), ] state_edges_dict[State(2, name=string("a & G(b <-> Xa)"))] = [ Edge( [2], label=LabelAtom(0) & LabelAtom(1), acc_sig=frozenset({0}), ), Edge( [3], label=LabelAtom(0) & ~LabelAtom(1), acc_sig=frozenset({0}), ), ] state_edges_dict[State(3, name=string("!a & G(b <-> Xa)"))] = [ Edge( [2], label=~LabelAtom(0) & LabelAtom(1), acc_sig=frozenset({0}), ), Edge( [3], label=~LabelAtom(0) & ~LabelAtom(1), acc_sig=frozenset({0}), ), ] hoa_body = HOABody(state_edges_dict) hoa_obj = HOA(hoa_header, hoa_body) assert self.hoa_obj == hoa_obj