public void CanRecordTwoLevelLinqExpressionsWithProjection()
        {
            var queryable = new EmptyQueryable <DateTime>(Parameter <DateTime>("q"));
            var newQuery  = queryable.Where(x => x > DateTime.Now).Distinct().Select(x => x.Day);

            newQuery.Expression.ToString().Should().Be("q.Where(x => (x > DateTime.Now)).Distinct().Select(x => x.Day)");
        }
        public void CanRecordTwoLevelLinqExpressions()
        {
            var queryable = new EmptyQueryable <int>(Parameter <int>("q"));
            var newQuery  = queryable.Where(x => x > 2).Distinct();

            newQuery.Expression.ToString().Should().Be("q.Where(x => (x > 2)).Distinct()");
        }
        public void CanRecordTwoLevelLinqExpressionsWithAggregate()
        {
            var queryable = new EmptyQueryable <DateTime>(Parameter <DateTime>("q"));
            var newQuery  = queryable.Where(x => x > DateTime.Now).Distinct().GroupBy(x => x.Day).Select(x => x.Max());

            Assert.AreEqual("q.Where(x => (x > DateTime.Now)).Distinct().GroupBy(x => x.Day).Select(x => x.Max())",
                            newQuery.Expression.ToString());
        }