Queryable_OrderByAndRange_Test.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Linq;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. using Vit.Linq.ComponentModel;
  4. namespace Vit.Linq.MsTest.Extensions
  5. {
  6. [TestClass]
  7. public class Queryable_OrderByAndRange_Test
  8. {
  9. [TestMethod]
  10. public void Test()
  11. {
  12. var query = DataSource.GetQueryable();
  13. #region #1 OrderBy Range
  14. {
  15. var result = query
  16. .OrderBy(new[] {
  17. new OrderField { field = "job.departmentId", asc = false },
  18. new OrderField { field = "id", asc = true }
  19. })
  20. .Range(new PageInfo { pageSize = 10, pageIndex = 1 })
  21. .ToList();
  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. .OrderBy("id", false)
  30. .Range(skip: 10, take: 10)
  31. .ToList();
  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. .OrderBy(new[] {
  40. new OrderField { field = "job.departmentId", asc = false },
  41. new OrderField { field = "id", asc = true }
  42. })
  43. .ToRangeData(new PageInfo { pageSize = 10, pageIndex = 1 }.ToRange());
  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. }
  51. }