string_utils_test.cpp 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. // Copyright (c) 2017 Google Inc.
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. #include <string>
  15. #include "gtest/gtest.h"
  16. #include "source/util/string_utils.h"
  17. #include "spirv-tools/libspirv.h"
  18. namespace spvtools {
  19. namespace utils {
  20. namespace {
  21. TEST(ToString, Int) {
  22. EXPECT_EQ("0", ToString(0));
  23. EXPECT_EQ("1000", ToString(1000));
  24. EXPECT_EQ("-1", ToString(-1));
  25. EXPECT_EQ("0", ToString(0LL));
  26. EXPECT_EQ("1000", ToString(1000LL));
  27. EXPECT_EQ("-1", ToString(-1LL));
  28. }
  29. TEST(ToString, Uint) {
  30. EXPECT_EQ("0", ToString(0U));
  31. EXPECT_EQ("1000", ToString(1000U));
  32. EXPECT_EQ("0", ToString(0ULL));
  33. EXPECT_EQ("1000", ToString(1000ULL));
  34. }
  35. TEST(ToString, Float) {
  36. EXPECT_EQ("0", ToString(0.f));
  37. EXPECT_EQ("1000", ToString(1000.f));
  38. EXPECT_EQ("-1.5", ToString(-1.5f));
  39. }
  40. TEST(ToString, Double) {
  41. EXPECT_EQ("0", ToString(0.));
  42. EXPECT_EQ("1000", ToString(1000.));
  43. EXPECT_EQ("-1.5", ToString(-1.5));
  44. }
  45. TEST(CardinalToOrdinal, Test) {
  46. EXPECT_EQ("1st", CardinalToOrdinal(1));
  47. EXPECT_EQ("2nd", CardinalToOrdinal(2));
  48. EXPECT_EQ("3rd", CardinalToOrdinal(3));
  49. EXPECT_EQ("4th", CardinalToOrdinal(4));
  50. EXPECT_EQ("5th", CardinalToOrdinal(5));
  51. EXPECT_EQ("6th", CardinalToOrdinal(6));
  52. EXPECT_EQ("7th", CardinalToOrdinal(7));
  53. EXPECT_EQ("8th", CardinalToOrdinal(8));
  54. EXPECT_EQ("9th", CardinalToOrdinal(9));
  55. EXPECT_EQ("10th", CardinalToOrdinal(10));
  56. EXPECT_EQ("11th", CardinalToOrdinal(11));
  57. EXPECT_EQ("12th", CardinalToOrdinal(12));
  58. EXPECT_EQ("13th", CardinalToOrdinal(13));
  59. EXPECT_EQ("14th", CardinalToOrdinal(14));
  60. EXPECT_EQ("15th", CardinalToOrdinal(15));
  61. EXPECT_EQ("16th", CardinalToOrdinal(16));
  62. EXPECT_EQ("17th", CardinalToOrdinal(17));
  63. EXPECT_EQ("18th", CardinalToOrdinal(18));
  64. EXPECT_EQ("19th", CardinalToOrdinal(19));
  65. EXPECT_EQ("20th", CardinalToOrdinal(20));
  66. EXPECT_EQ("21st", CardinalToOrdinal(21));
  67. EXPECT_EQ("22nd", CardinalToOrdinal(22));
  68. EXPECT_EQ("23rd", CardinalToOrdinal(23));
  69. EXPECT_EQ("24th", CardinalToOrdinal(24));
  70. EXPECT_EQ("25th", CardinalToOrdinal(25));
  71. EXPECT_EQ("26th", CardinalToOrdinal(26));
  72. EXPECT_EQ("27th", CardinalToOrdinal(27));
  73. EXPECT_EQ("28th", CardinalToOrdinal(28));
  74. EXPECT_EQ("29th", CardinalToOrdinal(29));
  75. EXPECT_EQ("30th", CardinalToOrdinal(30));
  76. EXPECT_EQ("31st", CardinalToOrdinal(31));
  77. EXPECT_EQ("32nd", CardinalToOrdinal(32));
  78. EXPECT_EQ("33rd", CardinalToOrdinal(33));
  79. EXPECT_EQ("34th", CardinalToOrdinal(34));
  80. EXPECT_EQ("35th", CardinalToOrdinal(35));
  81. EXPECT_EQ("100th", CardinalToOrdinal(100));
  82. EXPECT_EQ("101st", CardinalToOrdinal(101));
  83. EXPECT_EQ("102nd", CardinalToOrdinal(102));
  84. EXPECT_EQ("103rd", CardinalToOrdinal(103));
  85. EXPECT_EQ("104th", CardinalToOrdinal(104));
  86. EXPECT_EQ("105th", CardinalToOrdinal(105));
  87. EXPECT_EQ("106th", CardinalToOrdinal(106));
  88. EXPECT_EQ("107th", CardinalToOrdinal(107));
  89. EXPECT_EQ("108th", CardinalToOrdinal(108));
  90. EXPECT_EQ("109th", CardinalToOrdinal(109));
  91. EXPECT_EQ("110th", CardinalToOrdinal(110));
  92. EXPECT_EQ("111th", CardinalToOrdinal(111));
  93. EXPECT_EQ("112th", CardinalToOrdinal(112));
  94. EXPECT_EQ("113th", CardinalToOrdinal(113));
  95. EXPECT_EQ("114th", CardinalToOrdinal(114));
  96. EXPECT_EQ("115th", CardinalToOrdinal(115));
  97. EXPECT_EQ("116th", CardinalToOrdinal(116));
  98. EXPECT_EQ("117th", CardinalToOrdinal(117));
  99. EXPECT_EQ("118th", CardinalToOrdinal(118));
  100. EXPECT_EQ("119th", CardinalToOrdinal(119));
  101. EXPECT_EQ("120th", CardinalToOrdinal(120));
  102. EXPECT_EQ("121st", CardinalToOrdinal(121));
  103. EXPECT_EQ("122nd", CardinalToOrdinal(122));
  104. EXPECT_EQ("123rd", CardinalToOrdinal(123));
  105. EXPECT_EQ("124th", CardinalToOrdinal(124));
  106. EXPECT_EQ("125th", CardinalToOrdinal(125));
  107. EXPECT_EQ("126th", CardinalToOrdinal(126));
  108. EXPECT_EQ("127th", CardinalToOrdinal(127));
  109. EXPECT_EQ("128th", CardinalToOrdinal(128));
  110. EXPECT_EQ("129th", CardinalToOrdinal(129));
  111. EXPECT_EQ("130th", CardinalToOrdinal(130));
  112. EXPECT_EQ("131st", CardinalToOrdinal(131));
  113. EXPECT_EQ("132nd", CardinalToOrdinal(132));
  114. EXPECT_EQ("133rd", CardinalToOrdinal(133));
  115. EXPECT_EQ("134th", CardinalToOrdinal(134));
  116. EXPECT_EQ("135th", CardinalToOrdinal(135));
  117. EXPECT_EQ("1000th", CardinalToOrdinal(1000));
  118. EXPECT_EQ("1001st", CardinalToOrdinal(1001));
  119. EXPECT_EQ("1002nd", CardinalToOrdinal(1002));
  120. EXPECT_EQ("1003rd", CardinalToOrdinal(1003));
  121. EXPECT_EQ("1004th", CardinalToOrdinal(1004));
  122. EXPECT_EQ("1005th", CardinalToOrdinal(1005));
  123. EXPECT_EQ("1006th", CardinalToOrdinal(1006));
  124. EXPECT_EQ("1007th", CardinalToOrdinal(1007));
  125. EXPECT_EQ("1008th", CardinalToOrdinal(1008));
  126. EXPECT_EQ("1009th", CardinalToOrdinal(1009));
  127. EXPECT_EQ("1010th", CardinalToOrdinal(1010));
  128. EXPECT_EQ("1011th", CardinalToOrdinal(1011));
  129. EXPECT_EQ("1012th", CardinalToOrdinal(1012));
  130. EXPECT_EQ("1013th", CardinalToOrdinal(1013));
  131. EXPECT_EQ("1014th", CardinalToOrdinal(1014));
  132. EXPECT_EQ("1015th", CardinalToOrdinal(1015));
  133. EXPECT_EQ("1016th", CardinalToOrdinal(1016));
  134. EXPECT_EQ("1017th", CardinalToOrdinal(1017));
  135. EXPECT_EQ("1018th", CardinalToOrdinal(1018));
  136. EXPECT_EQ("1019th", CardinalToOrdinal(1019));
  137. EXPECT_EQ("1020th", CardinalToOrdinal(1020));
  138. EXPECT_EQ("1021st", CardinalToOrdinal(1021));
  139. EXPECT_EQ("1022nd", CardinalToOrdinal(1022));
  140. EXPECT_EQ("1023rd", CardinalToOrdinal(1023));
  141. EXPECT_EQ("1024th", CardinalToOrdinal(1024));
  142. EXPECT_EQ("1025th", CardinalToOrdinal(1025));
  143. EXPECT_EQ("1026th", CardinalToOrdinal(1026));
  144. EXPECT_EQ("1027th", CardinalToOrdinal(1027));
  145. EXPECT_EQ("1028th", CardinalToOrdinal(1028));
  146. EXPECT_EQ("1029th", CardinalToOrdinal(1029));
  147. EXPECT_EQ("1030th", CardinalToOrdinal(1030));
  148. EXPECT_EQ("1031st", CardinalToOrdinal(1031));
  149. EXPECT_EQ("1032nd", CardinalToOrdinal(1032));
  150. EXPECT_EQ("1033rd", CardinalToOrdinal(1033));
  151. EXPECT_EQ("1034th", CardinalToOrdinal(1034));
  152. EXPECT_EQ("1035th", CardinalToOrdinal(1035));
  153. EXPECT_EQ("1200th", CardinalToOrdinal(1200));
  154. EXPECT_EQ("1201st", CardinalToOrdinal(1201));
  155. EXPECT_EQ("1202nd", CardinalToOrdinal(1202));
  156. EXPECT_EQ("1203rd", CardinalToOrdinal(1203));
  157. EXPECT_EQ("1204th", CardinalToOrdinal(1204));
  158. EXPECT_EQ("1205th", CardinalToOrdinal(1205));
  159. EXPECT_EQ("1206th", CardinalToOrdinal(1206));
  160. EXPECT_EQ("1207th", CardinalToOrdinal(1207));
  161. EXPECT_EQ("1208th", CardinalToOrdinal(1208));
  162. EXPECT_EQ("1209th", CardinalToOrdinal(1209));
  163. EXPECT_EQ("1210th", CardinalToOrdinal(1210));
  164. EXPECT_EQ("1211th", CardinalToOrdinal(1211));
  165. EXPECT_EQ("1212th", CardinalToOrdinal(1212));
  166. EXPECT_EQ("1213th", CardinalToOrdinal(1213));
  167. EXPECT_EQ("1214th", CardinalToOrdinal(1214));
  168. EXPECT_EQ("1215th", CardinalToOrdinal(1215));
  169. EXPECT_EQ("1216th", CardinalToOrdinal(1216));
  170. EXPECT_EQ("1217th", CardinalToOrdinal(1217));
  171. EXPECT_EQ("1218th", CardinalToOrdinal(1218));
  172. EXPECT_EQ("1219th", CardinalToOrdinal(1219));
  173. EXPECT_EQ("1220th", CardinalToOrdinal(1220));
  174. EXPECT_EQ("1221st", CardinalToOrdinal(1221));
  175. EXPECT_EQ("1222nd", CardinalToOrdinal(1222));
  176. EXPECT_EQ("1223rd", CardinalToOrdinal(1223));
  177. EXPECT_EQ("1224th", CardinalToOrdinal(1224));
  178. EXPECT_EQ("1225th", CardinalToOrdinal(1225));
  179. }
  180. } // namespace
  181. } // namespace utils
  182. } // namespace spvtools