示例#1
0
        public void Get_students_no_filtered_inlude_no_filter_select_expand_definition()
        {
            ICollection <StudentModel> students = ProjectionOperations <StudentModel, Student> .GetItems
                                                  (
                serviceProvider.GetRequiredService <ISchoolRepository>(),
                serviceProvider.GetRequiredService <IMapper>(),
                new FilterLambdaOperatorParameters
                (
                    new GreaterThanBinaryOperatorParameters
                    (
                        new CountOperatorParameters
                        (
                            new MemberSelectorOperatorParameters("Enrollments", new ParameterOperatorParameters("f"))
                        ),
                        new ConstantOperatorParameters(0)
                    ),
                    typeof(StudentModel),
                    "f"
                ),
                null,
                null
                                                  );

            Assert.Null(students.First().Enrollments);
        }
示例#2
0
        public void Get_students_with_filtered_inlude_with_filter_select_expand_definition()
        {
            ICollection <StudentModel> students = ProjectionOperations <StudentModel, Student> .GetItems
                                                  (
                serviceProvider.GetRequiredService <ISchoolRepository>(),
                serviceProvider.GetRequiredService <IMapper>(),
                new FilterLambdaOperatorParameters
                (
                    new GreaterThanBinaryOperatorParameters
                    (
                        new CountOperatorParameters
                        (
                            new MemberSelectorOperatorParameters("Enrollments", new ParameterOperatorParameters("f"))
                        ),
                        new ConstantOperatorParameters(0)
                    ),
                    typeof(StudentModel),
                    "f"
                ),
                null,
                new SelectExpandDefinitionParameters
                (
                    null,
                    new List <SelectExpandItemParameters>
            {
                new SelectExpandItemParameters
                (
                    "enrollments",
                    new SelectExpandItemFilterParameters
                    (
                        new FilterLambdaOperatorParameters
                        (
                            new EqualsBinaryOperatorParameters
                            (
                                new MemberSelectorOperatorParameters("enrollmentID", new ParameterOperatorParameters("a")),
                                new ConstantOperatorParameters(-1)
                            ),
                            typeof(EnrollmentModel),
                            "a"
                        )
                    ),
                    null,
                    null,
                    null
                )
            }
                )
                                                  );

            Assert.False(students.First().Enrollments.Any());
        }
示例#3
0
        public void Get_enrollments_filtered_by_grade_letter()
        {
            ICollection <EnrollmentModel> enrollments = ProjectionOperations <EnrollmentModel, Enrollment> .GetItems
                                                        (
                serviceProvider.GetRequiredService <ISchoolRepository>(),
                serviceProvider.GetRequiredService <IMapper>(),
                new FilterLambdaOperatorParameters
                (
                    new EqualsBinaryOperatorParameters
                    (
                        new MemberSelectorOperatorParameters("GradeLetter", new ParameterOperatorParameters("f")),
                        new ConstantOperatorParameters("A")
                    ),
                    typeof(EnrollmentModel),
                    "f"
                ),
                null,
                null
                                                        );

            Assert.Single(enrollments);
        }
示例#4
0
        public void Get_students_with_filtered_inlude_no_filter_sort_skip_and_take_select_expand_definition()
        {
            ICollection <StudentModel> students = ProjectionOperations <StudentModel, Student> .GetItems
                                                  (
                serviceProvider.GetRequiredService <ISchoolRepository>(),
                serviceProvider.GetRequiredService <IMapper>(),
                new FilterLambdaOperatorParameters
                (
                    new AndBinaryOperatorParameters
                    (
                        new EqualsBinaryOperatorParameters
                        (
                            new MemberSelectorOperatorParameters("FirstName", new ParameterOperatorParameters("f")),
                            new ConstantOperatorParameters("Carson")
                        ),
                        new EqualsBinaryOperatorParameters
                        (
                            new MemberSelectorOperatorParameters("LastName", new ParameterOperatorParameters("f")),
                            new ConstantOperatorParameters("Alexander")
                        )
                    ),
                    typeof(StudentModel),
                    "f"
                ),
                null,
                new SelectExpandDefinitionParameters
                (
                    null,
                    new List <SelectExpandItemParameters>
            {
                new SelectExpandItemParameters
                (
                    "enrollments",
                    new SelectExpandItemFilterParameters
                    (
                        new FilterLambdaOperatorParameters
                        (
                            new GreaterThanBinaryOperatorParameters
                            (
                                new MemberSelectorOperatorParameters("enrollmentID", new ParameterOperatorParameters("a")),
                                new ConstantOperatorParameters(0)
                            ),
                            typeof(EnrollmentModel),
                            "a"
                        )
                    ),
                    new SelectExpandItemQueryFunctionParameters
                    (
                        new SortCollectionParameters
                        (
                            new List <SortDescriptionParameters>
                {
                    new SortDescriptionParameters("Grade", ListSortDirection.Descending)
                },
                            1,
                            2
                        )
                    ),
                    null,
                    null
                )
            }
                )
                                                  );

            Assert.Single(students);
            Assert.Equal(2, students.First().Enrollments.Count);
            Assert.Equal("A", students.First().Enrollments.Last().GradeLetter);
        }
示例#5
0
        public void Get_students_with_filtered_inlude_no_filter_sorted_select_expand_definition()
        {
            ICollection <StudentModel> students = ProjectionOperations <StudentModel, Student> .GetItems
                                                  (
                serviceProvider.GetRequiredService <ISchoolRepository>(),
                serviceProvider.GetRequiredService <IMapper>(),
                new FilterLambdaOperatorParameters
                (
                    new GreaterThanBinaryOperatorParameters
                    (
                        new CountOperatorParameters
                        (
                            new MemberSelectorOperatorParameters("Enrollments", new ParameterOperatorParameters("f"))
                        ),
                        new ConstantOperatorParameters(0)
                    ),
                    typeof(StudentModel),
                    "f"
                ),
                null,
                new SelectExpandDefinitionParameters
                (
                    null,
                    new List <SelectExpandItemParameters>
            {
                new SelectExpandItemParameters
                (
                    "enrollments",
                    new SelectExpandItemFilterParameters
                    (
                        new FilterLambdaOperatorParameters
                        (
                            new GreaterThanBinaryOperatorParameters
                            (
                                new MemberSelectorOperatorParameters("enrollmentID", new ParameterOperatorParameters("a")),
                                new ConstantOperatorParameters(0)
                            ),
                            typeof(EnrollmentModel),
                            "a"
                        )
                    ),
                    new SelectExpandItemQueryFunctionParameters
                    (
                        new SortCollectionParameters
                        (
                            new List <SortDescriptionParameters>
                {
                    new SortDescriptionParameters("Grade", ListSortDirection.Ascending)
                },
                            null,
                            null
                        )
                    ),
                    null,
                    null
                )
            }
                )
                                                  );

            Assert.True(students.First().Enrollments.Count > 0);
            Assert.True
            (
                string.Compare
                (
                    students.First().Enrollments.First().GradeLetter,
                    students.Skip(1).First().Enrollments.First().GradeLetter
                ) <= 0
            );
        }