def test_open_interval_start(self): self.check_parser('1 in (2..3]', AST.In(AST.Number(1), AST.PositiveUnaryTests([AST.Interval(AST.OpenIntervalStart(), AST.Endpoint(AST.Number(2)), AST.Endpoint(AST.Number(3)), AST.ClosedIntervalEnd())]))) self.check_parser('1 in ]2..3]', AST.In(AST.Number(1), AST.PositiveUnaryTests([AST.Interval(AST.OpenIntervalStart(), AST.Endpoint(AST.Number(2)), AST.Endpoint(AST.Number(3)), AST.ClosedIntervalEnd())])))
def p_interval(self, p): """interval : interval_starts endpoint DOTS endpoint interval_ends""" p[0] = AST.Interval(p[1], p[2], p[4], p[5])