def test_direct_parse(self):
self.assertEqual(parse('(1,2,3)^T (x, y, z) <= 42'), AP(None, (1, 2, 3), operator.le, 42., ('x', 'y', 'z')))
self.assertEqual(parse('(1,2,3)^T (x, y, z) >= 42'), AP(None, (1, 2, 3), operator.ge, 42., ('x', 'y', 'z')))
self.assertEqual(parse('(1,2,3)^T (x, y, z) < 42'), AP(None, (1, 2, 3), operator.lt, 42., ('x', 'y', 'z')))
self.assertEqual(parse('G a'), GLOBALLY(AP("a")))
self.assertEqual(parse('F a'), FINALLY(AP("a")))
self.assertEqual(parse('N a'), NEXT(AP("a")))
self.assertEqual(parse('G (a)'), GLOBALLY(AP("a")))
self.assertEqual(parse('a&b'), AND(AP("a"), AP("b")))
self.assertEqual(parse('(a) & (b)'), AND(AP("a"), AP("b")))
self.assertEqual(parse('a | b'), OR(AP("a"), AP("b")))
self.assertEqual(parse('(a) | (b)'), OR(AP("a"), AP("b")))
self.assertEqual(parse('a->b'), IMPLIES(AP("a"), AP("b")))
self.assertEqual(parse('(a) -> (b)'), IMPLIES(AP("a"), AP("b")))
self.assertEqual(parse('a U b'), UNTIL(AP("a"), AP("b")))
self.assertEqual(parse('(a)U(b)'), UNTIL(AP("a"), AP("b")))
self.assertEqual(parse('a R b'), RELEASE(AP("a"), AP("b")))
self.assertEqual(parse('(a) R (b)'), RELEASE(AP("a"), AP("b")))
评论列表
文章目录