Esempio n. 1
0
    def test_expression_resolves_condition(self):

        expression = Expression('(a = 1)')
        conditions = expression.to_conditions()

        self.assertEqual('a', conditions.conditions[0].key)
        self.assertEqual('=', conditions.conditions[0].operator)
        self.assertEqual('1', conditions.conditions[0].value)
Esempio n. 2
0
    def test_expression_resolves_nested_compound_condition(self):

        expression = Expression('(a = 1 or (b = 2 and c = 3))')
        conditions = expression.to_conditions()

        self.assertEqual('or', conditions.conditions[1].value)

        self.assertEqual('c', conditions.conditions[2][2].key)
        self.assertEqual('=', conditions.conditions[2][2].operator)
        self.assertEqual('3', conditions.conditions[2][2].value)
Esempio n. 3
0
    def test_expression_resolves_compound_condition(self):

        expression = Expression('(a = 1 and b = 2)')
        conditions = expression.to_conditions()

        self.assertEqual('and', conditions.conditions[1].value)

        self.assertEqual('b', conditions.conditions[2].key)
        self.assertEqual('=', conditions.conditions[2].operator)
        self.assertEqual('2', conditions.conditions[2].value)
    def handle(self, command):

        expression = Expression(command.filter)
        conditions = expression.to_conditions()
        return self.todo_repository.fetch_todos(conditions)
Esempio n. 5
0
    def test_expression_raises_badly_terminated_error(self):

        expression = Expression('(a = 1 or (b = 2 and c = 3)) or')
        with self.assertRaises(ExpressionBadlyTerminated):
            expression.to_conditions()
Esempio n. 6
0
    def test_expression_raises_badly_formatted_error(self):

        expression = Expression('(a = 1 and or (b = 2 and c = 3))')
        with self.assertRaises(ExpressionBadlyFormatted):
            expression.to_conditions()