public void CachedExpression_Can_Verify_Path_StartsWith_Predicate_In_Same_Result() { // Arrange // use a single cached expression for multiple expressions and ensure the correct output // is done for both of them. var cachedExpression = new CachedExpression(); Expression <Func <IContent, bool> > predicate1 = content => content.Path.StartsWith("-1"); cachedExpression.Wrap(predicate1); var modelToSqlExpressionHelper1 = new ModelToSqlExpressionVisitor <IContent>(SqlContext.SqlSyntax, Mappers); var result1 = modelToSqlExpressionHelper1.Visit(cachedExpression); Assert.AreEqual("upper([umbracoNode].[path]) LIKE upper(@0)", result1); Assert.AreEqual("-1%", modelToSqlExpressionHelper1.GetSqlParameters()[0]); Expression <Func <IContent, bool> > predicate2 = content => content.Path.StartsWith("-1,123,97"); cachedExpression.Wrap(predicate2); var modelToSqlExpressionHelper2 = new ModelToSqlExpressionVisitor <IContent>(SqlContext.SqlSyntax, Mappers); var result2 = modelToSqlExpressionHelper2.Visit(cachedExpression); Assert.AreEqual("upper([umbracoNode].[path]) LIKE upper(@0)", result2); Assert.AreEqual("-1,123,97%", modelToSqlExpressionHelper2.GetSqlParameters()[0]); }
public void ShouldCompileExpression() { Expression <Func <int, int> > expression = i => i + i; var subject = CachedExpression.From(expression); Assert.Equal(2, subject.Compiled(1)); }
public ModelToSqlExpressionHelperBenchmarks() { var contentMapper = new ContentMapper(MockSqlContext(), CreateMaps()); _cachedExpression = new CachedExpression(); var mapperCollection = new Mock <IMapperCollection>(); mapperCollection.Setup(x => x[It.IsAny <Type>()]).Returns(contentMapper); _mapperCollection = mapperCollection.Object; }
public void ShouldCastToLambdaExpression() { Expression <Func <int, int> > expected = i => i + i; var subject = CachedExpression.From(expected); var actual = (LambdaExpression)subject; Assert.Equal(expected, actual); }
public ModelToSqlExpressionHelperBenchmarks() { var contentMapper = new ContentMapper(_syntaxProvider); contentMapper.BuildMap(); _cachedExpression = new CachedExpression(); var mappingResolver = new Mock <MappingResolver>(); mappingResolver.Setup(resolver => resolver.ResolveMapperByType(It.IsAny <Type>())).Returns(contentMapper); _mappingResolver = mappingResolver.Object; }
public ValidationError(IRule rule, CachedExpression cachedExpression, object[] validationArguments, object value) { if (validationArguments == null) throw new System.ArgumentNullException("validationArguments"); if (value == null) throw new System.ArgumentNullException("value"); if (cachedExpression == null) throw new System.ArgumentNullException("cachedExpression"); if (rule == null) throw new System.ArgumentNullException("rule"); _rule = rule; _cachedExpression = cachedExpression; _validationArguments = validationArguments; _value = value; }
public ValidationError(IRule rule, CachedExpression cachedExpression, object[] validationArguments, object value) { if (validationArguments == null) { throw new System.ArgumentNullException("validationArguments"); } if (value == null) { throw new System.ArgumentNullException("value"); } if (cachedExpression == null) { throw new System.ArgumentNullException("cachedExpression"); } if (rule == null) { throw new System.ArgumentNullException("rule"); } _rule = rule; _cachedExpression = cachedExpression; _validationArguments = validationArguments; _value = value; }