You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuOrderByBinderTest.cs 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. using Luticate2.Utils.Dbo.OrderBy;
  2. using Luticate2.Utils.Dbo.Result;
  3. using Xunit;
  4. namespace TestUtils.Binders
  5. {
  6. public class LuOrderByBinderTest
  7. {
  8. [Fact]
  9. public void Test1()
  10. {
  11. var res = LuOrderByBinder.FromString("");
  12. Assert.NotNull(res);
  13. Assert.Equal(LuStatus.Success, res.Status);
  14. var dbo = res.Data;
  15. Assert.NotNull(dbo);
  16. Assert.NotNull(dbo.Fields);
  17. Assert.Equal(0, dbo.Fields.Count);
  18. }
  19. [Fact]
  20. public void Test2()
  21. {
  22. var res = LuOrderByBinder.FromString("test");
  23. Assert.NotNull(res);
  24. Assert.Equal(LuStatus.Success, res.Status);
  25. var dbo = res.Data;
  26. Assert.NotNull(dbo);
  27. Assert.NotNull(dbo.Fields);
  28. Assert.Equal(1, dbo.Fields.Count);
  29. var field = dbo.Fields[0];
  30. Assert.NotNull(field);
  31. Assert.True(field.Asc);
  32. Assert.Equal("test", field.Name);
  33. }
  34. [Fact]
  35. public void Test3()
  36. {
  37. var res = LuOrderByBinder.FromString("test,test2");
  38. Assert.NotNull(res);
  39. Assert.Equal(LuStatus.Success, res.Status);
  40. var dbo = res.Data;
  41. Assert.NotNull(dbo);
  42. Assert.NotNull(dbo.Fields);
  43. Assert.Equal(2, dbo.Fields.Count);
  44. var field = dbo.Fields[0];
  45. Assert.NotNull(field);
  46. Assert.True(field.Asc);
  47. Assert.Equal("test", field.Name);
  48. field = dbo.Fields[1];
  49. Assert.NotNull(field);
  50. Assert.True(field.Asc);
  51. Assert.Equal("test2", field.Name);
  52. }
  53. [Fact]
  54. public void Test4()
  55. {
  56. var res = LuOrderByBinder.FromString("test:DESC,test2:ASC");
  57. Assert.NotNull(res);
  58. Assert.Equal(LuStatus.Success, res.Status);
  59. var dbo = res.Data;
  60. Assert.NotNull(dbo);
  61. Assert.NotNull(dbo.Fields);
  62. Assert.Equal(2, dbo.Fields.Count);
  63. var field = dbo.Fields[0];
  64. Assert.NotNull(field);
  65. Assert.False(field.Asc);
  66. Assert.Equal("test", field.Name);
  67. field = dbo.Fields[1];
  68. Assert.NotNull(field);
  69. Assert.True(field.Asc);
  70. Assert.Equal("test2", field.Name);
  71. }
  72. [Fact]
  73. public void Test5()
  74. {
  75. var res = LuOrderByBinder.FromString(",test2:ASC");
  76. Assert.NotNull(res);
  77. Assert.Equal(LuStatus.InputError, res.Status);
  78. }
  79. [Fact]
  80. public void Test6()
  81. {
  82. var res = LuOrderByBinder.FromString("test2:ASC,");
  83. Assert.NotNull(res);
  84. Assert.Equal(LuStatus.InputError, res.Status);
  85. }
  86. [Fact]
  87. public void Test7()
  88. {
  89. var res = LuOrderByBinder.FromString(",");
  90. Assert.NotNull(res);
  91. Assert.Equal(LuStatus.InputError, res.Status);
  92. }
  93. [Fact]
  94. public void Test8()
  95. {
  96. var res = LuOrderByBinder.FromString("test:firstOrder");
  97. Assert.NotNull(res);
  98. Assert.Equal(LuStatus.InputError, res.Status);
  99. }
  100. [Fact]
  101. public void Test9()
  102. {
  103. var res = LuOrderByBinder.FromString("test:42:ASC");
  104. Assert.NotNull(res);
  105. Assert.Equal(LuStatus.InputError, res.Status);
  106. }
  107. }
  108. }