AddPostProcesing() 공개 메소드

Adds a post processing expression.
public AddPostProcesing ( LambdaExpression lambda ) : void
lambda System.Linq.Expressions.LambdaExpression Expression.
리턴 void
        public void AddTwoPostProcessing()
        {
            // Arrange
            var result = new TranslationResult();
            Expression<Func<int>> expression1 = () => 2;
            Expression<Func<int, int>> expression2 = (val) => val + 3;

            // Act
            result.AddPostProcesing(expression1);
            result.AddPostProcesing(expression2);

            // Assert
            Assert.NotNull(result.TableQuery);
            var etalon = expression2.Compile().DynamicInvoke(expression1.Compile().DynamicInvoke());
            Assert.Equal(etalon, result.PostProcessing.DynamicInvoke());
        }
        public void AddNullPostProcessingExpression()
        {
            // Arrange
            var result = new TranslationResult();

            // Act && Assert
            Assert.Throws<ArgumentNullException>(() => result.AddPostProcesing(null));
        }
        public void AddPostProcessing()
        {
            // Arrange
            var result = new TranslationResult();
            LambdaExpression expression = Expression.Lambda(Expression.Constant(2));

            // Act
            result.AddPostProcesing(expression);

            // Assert
            Assert.NotNull(result.TableQuery);
            Assert.Equal(expression.Compile().DynamicInvoke(), result.PostProcessing.DynamicInvoke());
        }