def test_create_AP_labels(self): model = Model(set(), collections.Counter(), dict(), set()) complex_parser = Parser("rate_complex") complex_1 = complex_parser.parse("K(S{i},T{a}).B{o}::cyt").data.children[0] complex_2 = complex_parser.parse("K(S{a},T{a}).B{o}::cyt").data.children[0] complex_3 = complex_parser.parse("K(S{a},T{i}).B{o}::cyt").data.children[0] complex_abstract = complex_parser.parse("K(S{a}).B{_}::cyt").data.children[0] ordering = (complex_1, complex_2, complex_3) APs = [Core.Formula.AtomicProposition(complex_abstract, " >= ", "3"), Core.Formula.AtomicProposition(complex_1, " < ", 2)] s1 = State(np.array((1, 2, 2))) s2 = State(np.array((5, 1, 1))) s3 = State(np.array((2, 4, 3))) s4 = State(np.array((1, 4, 3))) states_encoding = {s1: 1, s2: 2, s3: 3, s4: 4} result_AP_lables = {APs[0]: 'property_0', APs[1]: 'property_1'} result_state_labels = {1: {'property_0', 'property_1'}, 3: {'property_0', 'init'}, 4: {'property_0', 'property_1'}} ts = TS.TransitionSystem.TransitionSystem(ordering) ts.states_encoding = states_encoding ts.init = 3 state_labels, AP_lables = model.create_AP_labels(APs, ts, 0) self.assertEqual(state_labels, result_state_labels) self.assertEqual(AP_lables, result_AP_lables)