Esempio n. 1
0
    def test_ast_expression_contains_error(self):
        container = ast.StringExpression(context, 'Rule Engine')
        member = ast.FloatExpression(context, 1.0)
        with self.assertRaises(errors.EvaluationError):
            ast.ContainsExpression(context, container, member).evaluate(None)

        container = ast.FloatExpression(context, 1.0)
        with self.assertRaises(errors.EvaluationError):
            ast.ContainsExpression(context, container, member).evaluate(None)
Esempio n. 2
0
    def test_ast_expression_contains(self):
        container = ast.LiteralExpressionBase.from_value(context, range(3))

        member = ast.FloatExpression(context, 1.0)
        contains = ast.ContainsExpression(context, container, member)
        self.assertTrue(contains.evaluate(None))
        self.assertIsInstance(contains.reduce(), ast.BooleanExpression)

        member = ast.FloatExpression(context, -1.0)
        contains = ast.ContainsExpression(context, container, member)
        self.assertFalse(contains.evaluate(None))
        self.assertIsInstance(contains.reduce(), ast.BooleanExpression)

        container = ast.StringExpression(context, 'Rule Engine')

        member = ast.StringExpression(context, ' ')
        self.assertTrue(
            ast.ContainsExpression(context, container, member).evaluate(None))

        member = ast.StringExpression(context, 'x')
        self.assertFalse(
            ast.ContainsExpression(context, container, member).evaluate(None))