Ejemplo n.º 1
0
    def test_not_expression(self):
        s = 'NOT foo = "bar"'
        clause = build_expression_from_tokens(s.split())
        self.assertIsInstance(clause, NotExpression)

        expr = clause.expression
        self.assertIsInstance(expr, EqualsExpression)
        self.assertEqual(expr.fieldname, 'foo')
        self.assertEqual('bar', expr.value)
Ejemplo n.º 2
0
    def test_and_expression(self):
        s = 'a > 1 AND b = 0'
        clause = build_expression_from_tokens(s.split())
        self.assertIsInstance(clause, AndExpression)

        lhs, rhs = clause.left, clause.right
        self.assertIsInstance(lhs, GreaterThanExpression)
        self.assertIsInstance(rhs, EqualsExpression)

        self.assertEqual(lhs.fieldname, 'a')
        self.assertEqual(rhs.value, 0)
Ejemplo n.º 3
0
 def test_equals_expression(self):
     s = 'a = 1'
     clause = build_expression_from_tokens(s.split())
     self.assertIsInstance(clause, EqualsExpression)
     self.assertEqual(clause.fieldname, 'a')
     self.assertEqual(clause.value, 1)
Ejemplo n.º 4
0
 def test_greater_than(self):
     s = 'a > 1'
     clause = build_expression_from_tokens(s.split())
     self.assertIsInstance(clause, GreaterThanExpression)
     self.assertEqual(clause.fieldname, 'a')
     self.assertEqual(clause.value, 1)
Ejemplo n.º 5
0
 def test_boolean_expression(self):
     s = 'foo = False'
     clause = build_expression_from_tokens(s.split())
     self.assertIsInstance(clause, EqualsExpression)
     self.assertEqual(clause.fieldname, 'foo')
     self.assertEqual(clause.value, False)
Ejemplo n.º 6
0
 def validate(self):
     self.filter_criteria = build_expression_from_tokens(
         self.expression_buffer)
     if not self.filter_criteria:
         raise ValueError('No filter criteria given for where clause')