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); } }
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); } }
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); }