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

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