Beispiel #1
0
        public void ToExpression()
        {
            // Arrange
            ParserContext context = new ParserContext()
            {
                ModelParameter = Expression.Parameter(typeof(object[]), "model")
            };
            BinaryExpression            expression  = Expression.ArrayIndex(context.ModelParameter, Expression.Constant(5));
            BinaryExpressionFingerprint fingerprint = BinaryExpressionFingerprint.Create(expression, context);

            // Act
            BinaryExpression result = (BinaryExpression)fingerprint.ToExpression(context);

            // Assert
            Assert.AreEqual(ExpressionType.ArrayIndex, result.NodeType);
            Assert.AreEqual(ExpressionType.Parameter, result.Left.NodeType);
            Assert.AreEqual(ExpressionType.Convert, result.Right.NodeType);
        }