public void VisitExtensionExpression() { var expression = new ReducibleExtensionExpression(Expression.Constant(0)); var result = FormattingExpressionVisitor.Format(expression); Assert.That(result, Is.EqualTo("Reducible(0)")); }
public void Reduce() { var expression = new ReducibleExtensionExpression(typeof(int)); var result = expression.Reduce(); var expectedExpression = Expression.Constant(0); ExpressionTreeComparer.CheckAreEqualTrees(expectedExpression, result); }
public void VisitExtensionExpression_ChildrenAreProcessed() { var extensionExpression = new ReducibleExtensionExpression(new QuerySourceReferenceExpression(_oldFromClause)); var result = (ReducibleExtensionExpression)ReferenceReplacingExpressionVisitor.ReplaceClauseReferences(extensionExpression, _querySourceMapping, true); var expectedExpression = new ReducibleExtensionExpression(new QuerySourceReferenceExpression(_newFromClause)); ExpressionTreeComparer.CheckAreEqualTrees(expectedExpression, result); }
public void VisitExtension_ReducedExpressionIsVisited() { RelinqExpressionVisitor visitor = new TestThrowingConstantExpressionVisitor(); var constantExpression = Expression.Constant(0); var expression = new ReducibleExtensionExpression(constantExpression); var result = visitor.Visit(expression); Assert.That(result, Is.Not.SameAs(constantExpression)); Assert.That(((ConstantExpression)result).Value, Is.EqualTo("ConstantExpression was visited")); }
public void VisitExtensionExpression() { var innerExpression = Expression.MakeBinary(ExpressionType.Equal, Expression.Constant(0), Expression.Constant(0)); var extensionExpression = new ReducibleExtensionExpression(innerExpression); var result = PartialEvaluatingExpressionVisitor.EvaluateIndependentSubtrees(extensionExpression, new TestEvaluatableExpressionFilter()); var expected = new ReducibleExtensionExpression(Expression.Constant(true)); ExpressionTreeComparer.CheckAreEqualTrees(expected, result); }
public void VisitExtensionExpression_ChildrenAreProcessed() { // new TestExtensionExpression (new AnonymousType ( a = 5 ).a) => new TestExtensionExpression (5) var memberExpression = Expression.MakeMemberAccess( _anonymousTypeNewExpressionWithAssignments, _anonymousTypeA); var extensionExpression = new ReducibleExtensionExpression(memberExpression); var result = TransparentIdentifierRemovingExpressionVisitor.ReplaceTransparentIdentifiers(extensionExpression); var expectedExpression = new ReducibleExtensionExpression(_assignedExpressionA); ExpressionTreeComparer.CheckAreEqualTrees(expectedExpression, result); }
public void Clone_VisitsExtensionExpression_AndChildren() { var referencedClause = ExpressionHelper.CreateMainFromClause_Int(); var expression = new ReducibleExtensionExpression(new QuerySourceReferenceExpression(referencedClause)); var querySourceMapping = new QuerySourceMapping(); var newReferenceExpression = new QuerySourceReferenceExpression(ExpressionHelper.CreateMainFromClause_Int()); querySourceMapping.AddMapping(referencedClause, newReferenceExpression); var queryModel = new QueryModel(_mainFromClause, new SelectClause(expression)); var clone = queryModel.Clone(querySourceMapping); Assert.That(((ReducibleExtensionExpression)clone.SelectClause.Selector), Is.Not.SameAs(expression)); Assert.That( ((QuerySourceReferenceExpression)((ReducibleExtensionExpression)clone.SelectClause.Selector).Expression), Is.SameAs(newReferenceExpression)); }
public void CanReduce_True() { var expression = new ReducibleExtensionExpression(typeof(int)); Assert.That(expression.CanReduce, Is.True); }
public void CreateExpressionNode_InvalidNodeParameterType() { var selector = new ReducibleExtensionExpression(Expression.Constant(0)); MethodCallExpressionNodeFactory.CreateExpressionNode(typeof(SelectExpressionNode), _parseInfo, new object[] { selector }); }