public void OrderByProperty_desc()
        {
            var dto1 = new OrderByPropertyDTO(1, "zzz", DateTime.Today);
            var dto2 = new OrderByPropertyDTO(2, "aaa", DateTime.Today.AddMonths(1));
            var dto3 = new OrderByPropertyDTO(3, "hhh", DateTime.Today.AddMonths(-1));

            var query = Coll.Array(dto1, dto2, dto3).AsQueryable();

            query = query.OrderByProperty("Property1", false);
            Assert.Equal(dto1.Property1, query.ElementAt(2).Property1);
            Assert.Equal(dto2.Property1, query.ElementAt(1).Property1);
            Assert.Equal(dto3.Property1, query.ElementAt(0).Property1);

            query = query.OrderByProperty("Property2", false);
            Assert.Equal(dto2.Property2, query.ElementAt(2).Property2);
            Assert.Equal(dto3.Property2, query.ElementAt(1).Property2);
            Assert.Equal(dto1.Property2, query.ElementAt(0).Property2);

            query = query.OrderByProperty("Property3", false);
            Assert.Equal(dto3.Property3, query.ElementAt(2).Property3);
            Assert.Equal(dto1.Property3, query.ElementAt(1).Property3);
            Assert.Equal(dto2.Property3, query.ElementAt(0).Property3);
        }
        public void OrderByProperty_asc()
        {
            var dto1 = new OrderByPropertyDTO(1, "zzz", DateTime.Today);
            var dto2 = new OrderByPropertyDTO(2, "aaa", DateTime.Today.AddMonths(1));
            var dto3 = new OrderByPropertyDTO(3, "hhh", DateTime.Today.AddMonths(-1));

            var query = Coll.Array(dto1, dto2, dto3).AsQueryable();

            query = query.OrderByProperty("Property1", true);
            Assert.Equal(dto1.Property1, query.ElementAt(0).Property1);
            Assert.Equal(dto2.Property1, query.ElementAt(1).Property1);
            Assert.Equal(dto3.Property1, query.ElementAt(2).Property1);

            query = query.OrderByProperty("Property2", true);
            Assert.Equal(dto2.Property2, query.ElementAt(0).Property2);
            Assert.Equal(dto3.Property2, query.ElementAt(1).Property2);
            Assert.Equal(dto1.Property2, query.ElementAt(2).Property2);

            query = query.OrderByProperty("Property3", true);
            Assert.Equal(dto3.Property3, query.ElementAt(0).Property3);
            Assert.Equal(dto1.Property3, query.ElementAt(1).Property3);
            Assert.Equal(dto2.Property3, query.ElementAt(2).Property3);
        }