public void VisitExtensionExpression () { var expression = new TestExtensionExpression (Expression.Constant (0)); var result = FormattingExpressionTreeVisitor.Format (expression); Assert.That (result, Is.EqualTo ("Test(0)")); }
public void VisitExtensionExpression_ReducedExpressionIsVisited () { ExpressionTreeVisitor visitor = new TestThrowingConstantExpressionTreeVisitor(); var constantExpression = Expression.Constant (0); var expression = new TestExtensionExpression (constantExpression); var result = visitor.VisitExpression (expression); Assert.That (result, Is.Not.SameAs (constantExpression)); Assert.That (((ConstantExpression) result).Value, Is.EqualTo("ConstantExpression was visited")); }
public void IsSupportedStandardExpression_False () { var extensionExpression = new TestExtensionExpression (Expression.Constant (0)); Assert.That (ExpressionTreeVisitor.IsSupportedStandardExpression (extensionExpression), Is.False); var unknownExpression = new UnknownExpression (typeof (int)); Assert.That (ExpressionTreeVisitor.IsSupportedStandardExpression (unknownExpression), Is.False); var querySourceReferenceExpression = new QuerySourceReferenceExpression (ExpressionHelper.CreateMainFromClause_Int()); Assert.That (ExpressionTreeVisitor.IsSupportedStandardExpression (querySourceReferenceExpression), Is.False); var subQueryExpression = new SubQueryExpression (ExpressionHelper.CreateQueryModel<Cook>()); Assert.That (ExpressionTreeVisitor.IsSupportedStandardExpression (subQueryExpression), Is.False); }
public void ApplyContext_SemanticsPropagatedToChildExpressionsByDefault () { var expressionOfCorrectType = new TestExtensionExpression (new TestExtensionExpressionWithoutChildren (typeof (bool))); var expressionOfIncorrectType = new TestExtensionExpression (new SqlConvertedBooleanExpression (new TestExtensionExpressionWithoutChildren (typeof (int)))); var result1 = _predicateRequiredVisitor.VisitExpression (expressionOfCorrectType); var result2 = _predicateRequiredVisitor.VisitExpression (expressionOfIncorrectType); Assert.That (result1, Is.SameAs (expressionOfCorrectType)); var expectedResult2 = new TestExtensionExpression ( Expression.Equal (((SqlConvertedBooleanExpression) expressionOfIncorrectType.Expression).Expression, new SqlLiteralExpression (1))); SqlExpressionTreeComparer.CheckAreEqualTrees (expectedResult2, result2); }
public void VisitExtensionExpression_NotEvaluatable_ButChildrenMayBe () { var innerExpression = Expression.MakeBinary (ExpressionType.Equal, Expression.Constant (0), Expression.Constant (0)); var extensionExpression = new TestExtensionExpression (innerExpression); var evaluationInfo = EvaluatableTreeFindingExpressionTreeVisitor.Analyze (extensionExpression); Assert.That (evaluationInfo.IsEvaluatableExpression (extensionExpression), Is.False); Assert.That (evaluationInfo.IsEvaluatableExpression (innerExpression), Is.True); }
public void VisitExtensionExpression_ChildrenAreProcessed () { // new TestExtensionExpression (new AnonymousType ( a = 5 ).a) => new TestExtensionExpression (5) var memberExpression = Expression.MakeMemberAccess ( _anonymousTypeNewExpressionWithAssignments, _anonymousTypeA); var extensionExpression = new TestExtensionExpression (memberExpression); var result = TransparentIdentifierRemovingExpressionTreeVisitor.ReplaceTransparentIdentifiers (extensionExpression); var expectedExpression = new TestExtensionExpression (_assignedExpressionA); ExpressionTreeComparer.CheckAreEqualTrees (expectedExpression, result); }
public void VisitExtensionExpression () { var innerExpression = Expression.MakeBinary (ExpressionType.Equal, Expression.Constant (0), Expression.Constant (0)); var extensionExpression = new TestExtensionExpression (innerExpression); var result = PartialEvaluatingExpressionTreeVisitor.EvaluateIndependentSubtrees (extensionExpression); var expected = new TestExtensionExpression (Expression.Constant (true)); ExpressionTreeComparer.CheckAreEqualTrees (expected, result); }
public void VisitExtensionExpression_ChildrenAreProcessed () { var extensionExpression = new TestExtensionExpression (new QuerySourceReferenceExpression (_oldFromClause)); var result = (TestExtensionExpression) ReferenceReplacingExpressionTreeVisitor.ReplaceClauseReferences (extensionExpression, _querySourceMapping, true); var expectedExpression = new TestExtensionExpression (new QuerySourceReferenceExpression (_newFromClause)); ExpressionTreeComparer.CheckAreEqualTrees (expectedExpression, result); }
public void CreateExpressionNode_InvalidNodeParameterType () { var selector = new TestExtensionExpression (Expression.Constant (0)); MethodCallExpressionNodeFactory.CreateExpressionNode (typeof (SelectExpressionNode), _parseInfo, new object[] { selector }); }