public void find_the_statistics_member()
        {
            var plan = new CompiledQueryPlan(typeof(PagedTargets), typeof(Target));

            plan.FindMembers();

            plan.StatisticsMember.Name.ShouldBe("Statistics");
        }
        public void find_field_members()
        {
            var plan = new CompiledQueryPlan(typeof(QueryWithLots), typeof(Target));

            plan.FindMembers();

            plan.Parameters.OfType <FieldQueryMember <DateTime> >()
            .Count().ShouldBe(1);
        }
        public void find_members_that_are_not_supported()
        {
            var plan = new CompiledQueryPlan(typeof(QueryWithLots), typeof(Target));

            plan.FindMembers();

            var invalids = plan.InvalidMembers;

            invalids.Select(x => x.Name).OrderBy(x => x)
            .ShouldHaveTheSameElementsAs("Flag", "NullableDate", "NullableNumber");
        }
        public void find_property_members()
        {
            var plan = new CompiledQueryPlan(typeof(QueryWithLots), typeof(Target));

            plan.FindMembers();

            plan.Parameters.OfType <PropertyQueryMember <string> >()
            .Count().ShouldBe(1);

            plan.Parameters.OfType <PropertyQueryMember <int> >()
            .Count().ShouldBe(1);
        }