IQueryable_SortAndPage_Test.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using Vit.Extensions.Linq_Extensions;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. using Vit.Core.Util.ComponentModel.Data;
  4. using Vit.Core.Util.ComponentModel.Query;
  5. namespace Vit.Linq.MsTest
  6. {
  7. [TestClass]
  8. public class IQueryable_SortAndPage_Test
  9. {
  10. #region TestSortAndPage
  11. [TestMethod]
  12. public void TestSortAndPage()
  13. {
  14. var query = DataSource.GetIQueryable();
  15. #region #1
  16. {
  17. var result = query
  18. .IQueryable_Sort(new[] {
  19. new SortItem { field = "b1.pid", asc = false },
  20. new SortItem { field = "id", asc = true }
  21. })
  22. .IQueryable_Page(new PageInfo { pageIndex = 1, pageSize = 10 })
  23. .IQueryable_ToList<ModelA>();
  24. Assert.AreEqual(result.Count, 10);
  25. Assert.AreEqual(result[0].id, 990);
  26. }
  27. #endregion
  28. #region #2
  29. {
  30. var result = query
  31. .IQueryable_Sort("id", false)
  32. .IQueryable_Page(2, 10)
  33. .IQueryable_ToList<ModelA>();
  34. Assert.AreEqual(result.Count, 10);
  35. Assert.AreEqual(result[0].id, 989);
  36. }
  37. #endregion
  38. #region #3
  39. {
  40. var result = query
  41. .IQueryable_Sort(new[] {
  42. new SortItem { field = "b1.pid", asc = false },
  43. new SortItem { field = "id", asc = true }
  44. })
  45. .IQueryable_ToPageData<ModelA>(new PageInfo { pageIndex = 1, pageSize = 10 });
  46. Assert.AreEqual(result.totalCount, 1000);
  47. Assert.AreEqual(result.rows.Count, 10);
  48. Assert.AreEqual(result.rows[0].id, 990);
  49. }
  50. #endregion
  51. }
  52. #endregion
  53. }
  54. }