Inheritance: IEnableable
 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());
 }