public void SortExpression_WithOneColumn_ReturnsTheSampleEnumerableBackwards() { var query = QueryTestHelper.FormTestData((x, i) => x.IntProp = i, 10); var back = QueryTestHelper.FormTestData((x, i) => x.IntProp = i, 10).Reverse(); var sortexpr = new SortExpression<TestClass>(new string[] { "IntProp" }, true); Assert.Equal(back.ToList()[0].IntProp, sortexpr.Map(query).ToList()[0].IntProp); }
public void SortExpression_WithNullColumns_ReturnsSameNumberElemsAsQuery() { int number = 100; var query = QueryTestHelper.FormTestData((x, i) => x.IntProp = i, number); var sortexpr = new SortExpression<TestClass>(t => t.StringProp); Assert.Equal(number, sortexpr.Map(query).Count()); }
public void SortExpression_WithTwoColumnsAscendingSort_ReturnsSameEnumerable() { var random = new Random(); var query = QueryTestHelper.FormTestData((x, i) => { x.IntProp = random.Next(i); x.CharProp = (char)random.Next((int)char.MinValue, (int)char.MaxValue); }, 10); var sorted = new List<TestClass>(query.ToArray()).OrderBy(x => x.IntProp).ThenBy(x => x.CharProp).ToList(); var sortexpr = new SortExpression<TestClass>(new string[] { "IntProp", "CharProp" }); var output = sortexpr.Map(query).ToList(); Assert.Equal(sorted[0].IntProp, output[0].IntProp); Assert.Equal(sorted[0].CharProp, output[0].CharProp); }