Ejemplo n.º 1
0
        public void ShouldBeSupportField()
        {
            // Given
            var entity = new FilterTestEntity {
                Field = 10
            };
            var filter = new EqualOperator(EntityType, Field, 10);

            // When
            var isSatisfy = filter.IsSatisfiedBy(entity);

            // Then
            Assert.IsTrue(isSatisfy);
        }
Ejemplo n.º 2
0
        public void ExitComparison(QueryParser.ComparisonContext context)
        {
            var opToken = context.REL_OP();

            if (opToken == null)
            {
                return;
            }

            var op    = opToken.Symbol;
            var right = _expressions.Pop();
            var left  = _expressions.Pop();

            BinaryOperatorExpression value = null;

            switch (op.Text)
            {
            case "<":
                value = new LessThanOperator(op.Line, op.Column, left, right);
                break;

            case "<=":
                value = new LessThanOrEqualOperator(op.Line, op.Column, left, right);
                break;

            case "<>":
            case "!=":
                value = new NotEqualOperator(op.Line, op.Column, left, right);
                break;

            case "==":
            case "=":
                value = new EqualOperator(op.Line, op.Column, left, right);
                break;

            case ">":
                value = new GreaterThanOperator(op.Line, op.Column, left, right);
                break;

            case ">=":
                value = new GreaterThanOrEqualOperator(op.Line, op.Column, left, right);
                break;
            }

            Trace.Assert(value != null, "Invalid comparison operator " + op.Text);

            _expressions.Push(value);
        }
Ejemplo n.º 3
0
        public void ShouldBeSupportLambdaExpressionInProperty()
        {
            // Given
            Expression <Func <FilterTestEntity, string> > propertyExpression = item => item.StringField.ToLower();

            var entity = new FilterTestEntity {
                StringField = "AbCd"
            };
            var filter = new EqualOperator(EntityType, propertyExpression, "abcd");

            // When
            var isSatisfy = filter.IsSatisfiedBy(entity);

            // Then
            Assert.IsTrue(isSatisfy);
        }
Ejemplo n.º 4
0
        public void CreateExpressionTest1()
        {
            // Arrange
            Expression parameterExpression = Expression.Parameter(typeof(Employee), "sample");
            Expression expressionProperty  = Expression.Property(parameterExpression, nameof(Employee.FirstName));
            Expression expressionConstant  = Expression.Constant("xxx");

            Expression expectedExpression = Expression.Equal(expressionProperty, expressionConstant);

            var _operator = new EqualOperator();

            // Act
            Expression resultExpression = _operator.CreateExpression(expressionProperty, expressionConstant);

            // Assert
            Assert.AreEqual(expectedExpression.ToString(), resultExpression.ToString(), "Expression not correct");
        }
Ejemplo n.º 5
0
        public void ShouldBeNull()
        {
            // Given
            var filter        = new EqualOperator(EntityType, StringField, null);
            var satisfyEntity = new FilterTestEntity {
                StringField = null
            };
            var noSatisfyEntity = new FilterTestEntity {
                StringField = "NotNull"
            };

            // When
            var isSatisfy   = filter.IsSatisfiedBy(satisfyEntity);
            var isNoSatisfy = filter.IsSatisfiedBy(noSatisfyEntity);

            // Then
            Assert.IsTrue(isSatisfy);
            Assert.IsFalse(isNoSatisfy);
        }
Ejemplo n.º 6
0
 public Bitmap Visit(EqualOperator expr)
 {
     return(ComputeFunction(expr));
 }