IQueryable_OrderByAndRange_Test.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using Vit.Linq.ComponentModel;
  3. namespace Vit.Linq.MsTest.Extensions
  4. {
  5. [TestClass]
  6. public class IQueryable_OrderByAndRange_Test
  7. {
  8. #region Test
  9. [TestMethod]
  10. public void Test()
  11. {
  12. var query = DataSource.GetIQueryable();
  13. #region #1 OrderBy Range
  14. {
  15. var result = query
  16. .IQueryable_OrderBy(new[] {
  17. new OrderField { field = "job.departmentId", asc = false },
  18. new OrderField { field = "id", asc = true }
  19. })
  20. .IQueryable_Range(new PageInfo { pageSize = 10, pageIndex = 1 })
  21. .IQueryable_ToList<Person>();
  22. Assert.AreEqual(10, result.Count);
  23. Assert.AreEqual(990, result[0].id);
  24. }
  25. #endregion
  26. #region #2 OrderBy Range
  27. {
  28. var result = query
  29. .IQueryable_OrderBy("id", false)
  30. .IQueryable_Range(skip: 10, take: 10)
  31. .IQueryable_ToList<Person>();
  32. Assert.AreEqual(10, result.Count);
  33. Assert.AreEqual(989, result[0].id);
  34. }
  35. #endregion
  36. #region #3 ToRangeData
  37. {
  38. var result = query
  39. .IQueryable_OrderBy(new[] {
  40. new OrderField { field = "job.departmentId", asc = false },
  41. new OrderField { field = "id", asc = true }
  42. })
  43. .IQueryable_ToRangeData<Person>(RangeInfo.FromPage(pageSize: 10, pageIndex: 1));
  44. Assert.AreEqual(1000, result.totalCount);
  45. Assert.AreEqual(10, result.items.Count);
  46. Assert.AreEqual(990, result.items[0].id);
  47. }
  48. #endregion
  49. }
  50. #endregion
  51. }
  52. }