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"); }