示例#1
0
        public void CreateExpressionTest1()
        {
            // Arrange
            var parameterExpression = Expression.Parameter(typeof(Employee), "sample");
            var expressionProperty  = Expression.Property(parameterExpression, nameof(Employee.FirstName));
            var containsOperator    = new ContainsOperator();

            Expression leftExpression  = containsOperator.CreateExpression(expressionProperty, Expression.Constant("xxx"));
            Expression rightExpression = containsOperator.CreateExpression(expressionProperty, Expression.Constant("yyy"));

            Expression expectedExpression = Expression.And(leftExpression, rightExpression);

            var _operator = new AndOperator();

            // Act
            Expression resultExpression = _operator.CreateExpression(leftExpression, rightExpression);

            // Assert
            Assert.AreEqual(expectedExpression.ToString(), resultExpression.ToString(), "Expression not correct");
        }