コード例 #1
0
        public void Test_Accepted_By_OrderByApplicator_Apply()
        {
            // Act
            var results = OrderByExpressionBuilder.Build <TestType>("IntValue, StringValue desc, DecValue").ToList();
            var query   = new List <TestType>().AsQueryable();

            // Assert
            query = OrderByApplicator.Apply(query, results);
            Assert.True(true);
        }
コード例 #2
0
        public void Test_Apply_Single_Descending()
        {
            // Arrange
            var orderBy = new[]
            {
                new OrderByItem {
                    Expression = _intValueExpression, Descending = true
                }
            };

            var query = FakeQuery <TestType>();

            // Act
            var result = OrderByApplicator.Apply(query, orderBy);

            // Assert
            AssertProviderCalls(query, "OrderByDescending");
        }
コード例 #3
0
        public void Test_Apply_Multiple_Mixed()
        {
            // Arrange
            var orderBy = new[]
            {
                new OrderByItem {
                    Expression = _intValueExpression
                },
                new OrderByItem {
                    Expression = _stringValueExpression, Descending = true
                },
                new OrderByItem {
                    Expression = _decValueExpression
                }
            };

            var query = FakeQuery <TestType>();

            // Act
            var result = OrderByApplicator.Apply(query, orderBy);

            // Assert
            AssertProviderCalls(query, "OrderBy", "ThenByDescending", "ThenBy");
        }
コード例 #4
0
        public static IQueryable <T> OrderByDefault <T>(this IQueryable <T> query)
        {
            var expressions = OrderByExpressionBuilder.BuildDefault <T>();

            return(OrderByApplicator.Apply(query, expressions));
        }
コード例 #5
0
        public static IQueryable <T> OrderBy <T>(this IQueryable <T> query, string orderBy)
        {
            var expressions = OrderByExpressionBuilder.Build <T>(orderBy);

            return(OrderByApplicator.Apply(query, expressions));
        }