예제 #1
0
        public void SortByIdAscendingTest()
        {
            var parser = new IronySortSpecificationParser();
            var spec   = parser.Parse <int, Customer>("id a");
            var sorted = Sort(Customers, spec).ToList();

            for (var i = 0; i < sorted.Count; i++)
            {
                Assert.Equal(i + 1, sorted[i].Id);
            }
        }
예제 #2
0
        public void SortByDatePropertyTest()
        {
            var parser = new IronySortSpecificationParser();
            var spec   = parser.Parse <int, Customer>("dateRegistered d");
            var sorted = Sort(Customers, spec).ToList();

            for (var i = 1; i < sorted.Count; i++)
            {
                Assert.True(DateTime.Compare(sorted[i - 1].DateRegistered, sorted[i].DateRegistered) >= 0);
            }
        }
예제 #3
0
        public void SortByNameAscAndIdDescTest()
        {
            var parser = new IronySortSpecificationParser();
            var spec   = parser.Parse <int, Customer>("name d and id a");
            var sorted = Sort(Customers, spec).ToList();

            for (var i = 1; i < sorted.Count; i++)
            {
                Assert.True(string.Compare(sorted[i - 1].Name, sorted[i].Name) >= 0);
            }

            var jim = sorted.Where(c => c.Name == "jim");

            Assert.True(jim.ElementAt(0).Id <= jim.ElementAt(1).Id);

            var david = sorted.Where(c => c.Name == "david");

            Assert.True(david.ElementAt(0).Id <= david.ElementAt(1).Id);
        }