public void OrElseScopesNullCheckCorrectly() { var author = new User(); var blogIds = new List<int>(); Expression<Func<Post, bool>> exp = p => p.Author == author || blogIds.Contains(p.Blog.BlogId); Expression<Func<Post, bool>> expectedResult = p => (p.Author != null && p.Author == author) || (p.Blog != null && blogIds.Contains(p.Blog.BlogId)); var rewriter = new WhereClauseNullCheckRewriter(); var rewrittenClause = rewriter.Rewrite(exp); Assert.Equal(expectedResult.ToDebugString(), rewrittenClause.ToDebugString()); }
public void OrWithEmptyCollectionOnNullRelationshipWorks() { var session = this.GetSession(); var blogIds = new List<int>(); var author = new User { UserId = 2 }; var posts = session.Query<Post>().Where(p => p.Author == author || blogIds.Contains(p.Blog.BlogId)); Assert.Equal(1, posts.Count()); }