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.

OneArmedPrimitiveTests.java 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. import org.aspectj.testing.Tester;
  2. public class OneArmedPrimitiveTests {
  3. static byte bn = -1;
  4. static byte bz = 0;
  5. static byte b1 = 1;
  6. static short sn = -1;
  7. static short sz = 0;
  8. static short s1 = 1;
  9. static int in = -1;
  10. static int iz = 0;
  11. static int i1 = 1;
  12. static long ln = -1;
  13. static long lz = 0;
  14. static long l1 = 1;
  15. static float fn = -1;
  16. static float fz = 0;
  17. static float f1 = 1;
  18. static float fx = Float.NaN;
  19. static double dn = -1;
  20. static double dz = 0;
  21. static double d1 = 1;
  22. static double dx = Double.NaN;
  23. static char cz = 0;
  24. static char c1 = 1;
  25. static boolean neg(boolean b) { return ! b; }
  26. static boolean pos(boolean b) { return b; }
  27. public static void main(String[] args) {
  28. doByte();
  29. doShort();
  30. doInt();
  31. doLong();
  32. doFloat();
  33. doDouble();
  34. doChar();
  35. }
  36. static void doByte() {
  37. Tester.check(neg(0 < bn), "! 0 < bn");
  38. Tester.check(neg(0 <= bn), "! 0 <= bn");
  39. Tester.check(neg(0 == bn), "! 0 == bn");
  40. Tester.check(pos(0 != bn), "0 != bn");
  41. Tester.check(pos(0 > bn), "0 > bn");
  42. Tester.check(pos(0 >= bn), "0 >= bn");
  43. Tester.check(pos(bn < 0), "bn < 0");
  44. Tester.check(pos(bn <= 0), "bn <= 0");
  45. Tester.check(neg(bn == 0), "! bn == 0");
  46. Tester.check(pos(bn != 0), "bn != 0");
  47. Tester.check(neg(bn > 0), "! bn > 0");
  48. Tester.check(neg(bn >= 0), "! bn >= 0");
  49. Tester.check(neg(0 < bz), "! 0 < bz");
  50. Tester.check(pos(0 <= bz), "0 <= bz");
  51. Tester.check(pos(0 == bz), "0 == bz");
  52. Tester.check(neg(0 != bz), "! 0 != bz");
  53. Tester.check(neg(0 > bz), "! 0 > bz");
  54. Tester.check(pos(0 >= bz), "0 >= bz");
  55. Tester.check(neg(bz < 0), "! bz < 0");
  56. Tester.check(pos(bz <= 0), "bz <= 0");
  57. Tester.check(pos(bz == 0), "bz == 0");
  58. Tester.check(neg(bz != 0), "! bz != 0");
  59. Tester.check(neg(bz > 0), "! bz > 0");
  60. Tester.check(pos(bz >= 0), "bz >= 0");
  61. Tester.check(pos(0 < b1), "0 < b1");
  62. Tester.check(pos(0 <= b1), "0 <= b1");
  63. Tester.check(neg(0 == b1), "! 0 == b1");
  64. Tester.check(pos(0 != b1), "0 != b1");
  65. Tester.check(neg(0 > b1), "! 0 > b1");
  66. Tester.check(neg(0 >= b1), "! 0 >= b1");
  67. Tester.check(neg(b1 < 0), "! b1 < 0");
  68. Tester.check(neg(b1 <= 0), "! b1 <= 0");
  69. Tester.check(neg(b1 == 0), "! b1 == 0");
  70. Tester.check(pos(b1 != 0), "b1 != 0");
  71. Tester.check(pos(b1 > 0), "b1 > 0");
  72. Tester.check(pos(b1 >= 0), "b1 >= 0");
  73. }
  74. static void doShort() {
  75. Tester.check(neg(0 < sn), "! 0 < sn");
  76. Tester.check(neg(0 <= sn), "! 0 <= sn");
  77. Tester.check(neg(0 == sn), "! 0 == sn");
  78. Tester.check(pos(0 != sn), "0 != sn");
  79. Tester.check(pos(0 > sn), "0 > sn");
  80. Tester.check(pos(0 >= sn), "0 >= sn");
  81. Tester.check(pos(sn < 0), "sn < 0");
  82. Tester.check(pos(sn <= 0), "sn <= 0");
  83. Tester.check(neg(sn == 0), "! sn == 0");
  84. Tester.check(pos(sn != 0), "sn != 0");
  85. Tester.check(neg(sn > 0), "! sn > 0");
  86. Tester.check(neg(sn >= 0), "! sn >= 0");
  87. Tester.check(neg(0 < sz), "! 0 < sz");
  88. Tester.check(pos(0 <= sz), "0 <= sz");
  89. Tester.check(pos(0 == sz), "0 == sz");
  90. Tester.check(neg(0 != sz), "! 0 != sz");
  91. Tester.check(neg(0 > sz), "! 0 > sz");
  92. Tester.check(pos(0 >= sz), "0 >= sz");
  93. Tester.check(neg(sz < 0), "! sz < 0");
  94. Tester.check(pos(sz <= 0), "sz <= 0");
  95. Tester.check(pos(sz == 0), "sz == 0");
  96. Tester.check(neg(sz != 0), "! sz != 0");
  97. Tester.check(neg(sz > 0), "! sz > 0");
  98. Tester.check(pos(sz >= 0), "sz >= 0");
  99. Tester.check(pos(0 < s1), "0 < s1");
  100. Tester.check(pos(0 <= s1), "0 <= s1");
  101. Tester.check(neg(0 == s1), "! 0 == s1");
  102. Tester.check(pos(0 != s1), "0 != s1");
  103. Tester.check(neg(0 > s1), "! 0 > s1");
  104. Tester.check(neg(0 >= s1), "! 0 >= s1");
  105. Tester.check(neg(s1 < 0), "! s1 < 0");
  106. Tester.check(neg(s1 <= 0), "! s1 <= 0");
  107. Tester.check(neg(s1 == 0), "! s1 == 0");
  108. Tester.check(pos(s1 != 0), "s1 != 0");
  109. Tester.check(pos(s1 > 0), "s1 > 0");
  110. Tester.check(pos(s1 >= 0), "s1 >= 0");
  111. }
  112. static void doInt() {
  113. Tester.check(neg(0 < in), "! 0 < in");
  114. Tester.check(neg(0 <= in), "! 0 <= in");
  115. Tester.check(neg(0 == in), "! 0 == in");
  116. Tester.check(pos(0 != in), "0 != in");
  117. Tester.check(pos(0 > in), "0 > in");
  118. Tester.check(pos(0 >= in), "0 >= in");
  119. Tester.check(pos(in < 0), "in < 0");
  120. Tester.check(pos(in <= 0), "in <= 0");
  121. Tester.check(neg(in == 0), "! in == 0");
  122. Tester.check(pos(in != 0), "in != 0");
  123. Tester.check(neg(in > 0), "! in > 0");
  124. Tester.check(neg(in >= 0), "! in >= 0");
  125. Tester.check(neg(0 < iz), "! 0 < iz");
  126. Tester.check(pos(0 <= iz), "0 <= iz");
  127. Tester.check(pos(0 == iz), "0 == iz");
  128. Tester.check(neg(0 != iz), "! 0 != iz");
  129. Tester.check(neg(0 > iz), "! 0 > iz");
  130. Tester.check(pos(0 >= iz), "0 >= iz");
  131. Tester.check(neg(iz < 0), "! iz < 0");
  132. Tester.check(pos(iz <= 0), "iz <= 0");
  133. Tester.check(pos(iz == 0), "iz == 0");
  134. Tester.check(neg(iz != 0), "! iz != 0");
  135. Tester.check(neg(iz > 0), "! iz > 0");
  136. Tester.check(pos(iz >= 0), "iz >= 0");
  137. Tester.check(pos(0 < i1), "0 < i1");
  138. Tester.check(pos(0 <= i1), "0 <= i1");
  139. Tester.check(neg(0 == i1), "! 0 == i1");
  140. Tester.check(pos(0 != i1), "0 != i1");
  141. Tester.check(neg(0 > i1), "! 0 > i1");
  142. Tester.check(neg(0 >= i1), "! 0 >= i1");
  143. Tester.check(neg(i1 < 0), "! i1 < 0");
  144. Tester.check(neg(i1 <= 0), "! i1 <= 0");
  145. Tester.check(neg(i1 == 0), "! i1 == 0");
  146. Tester.check(pos(i1 != 0), "i1 != 0");
  147. Tester.check(pos(i1 > 0), "i1 > 0");
  148. Tester.check(pos(i1 >= 0), "i1 >= 0");
  149. }
  150. static void doLong() {
  151. Tester.check(neg(0 < ln), "! 0 < ln");
  152. Tester.check(neg(0 <= ln), "! 0 <= ln");
  153. Tester.check(neg(0 == ln), "! 0 == ln");
  154. Tester.check(pos(0 != ln), "0 != ln");
  155. Tester.check(pos(0 > ln), "0 > ln");
  156. Tester.check(pos(0 >= ln), "0 >= ln");
  157. Tester.check(pos(ln < 0), "ln < 0");
  158. Tester.check(pos(ln <= 0), "ln <= 0");
  159. Tester.check(neg(ln == 0), "! ln == 0");
  160. Tester.check(pos(ln != 0), "ln != 0");
  161. Tester.check(neg(ln > 0), "! ln > 0");
  162. Tester.check(neg(ln >= 0), "! ln >= 0");
  163. Tester.check(neg(0 < lz), "! 0 < lz");
  164. Tester.check(pos(0 <= lz), "0 <= lz");
  165. Tester.check(pos(0 == lz), "0 == lz");
  166. Tester.check(neg(0 != lz), "! 0 != lz");
  167. Tester.check(neg(0 > lz), "! 0 > lz");
  168. Tester.check(pos(0 >= lz), "0 >= lz");
  169. Tester.check(neg(lz < 0), "! lz < 0");
  170. Tester.check(pos(lz <= 0), "lz <= 0");
  171. Tester.check(pos(lz == 0), "lz == 0");
  172. Tester.check(neg(lz != 0), "! lz != 0");
  173. Tester.check(neg(lz > 0), "! lz > 0");
  174. Tester.check(pos(lz >= 0), "lz >= 0");
  175. Tester.check(pos(0 < l1), "0 < l1");
  176. Tester.check(pos(0 <= l1), "0 <= l1");
  177. Tester.check(neg(0 == l1), "! 0 == l1");
  178. Tester.check(pos(0 != l1), "0 != l1");
  179. Tester.check(neg(0 > l1), "! 0 > l1");
  180. Tester.check(neg(0 >= l1), "! 0 >= l1");
  181. Tester.check(neg(l1 < 0), "! l1 < 0");
  182. Tester.check(neg(l1 <= 0), "! l1 <= 0");
  183. Tester.check(neg(l1 == 0), "! l1 == 0");
  184. Tester.check(pos(l1 != 0), "l1 != 0");
  185. Tester.check(pos(l1 > 0), "l1 > 0");
  186. Tester.check(pos(l1 >= 0), "l1 >= 0");
  187. }
  188. static void doFloat() {
  189. Tester.check(neg(0 < fn), "! 0 < fn");
  190. Tester.check(neg(0 <= fn), "! 0 <= fn");
  191. Tester.check(neg(0 == fn), "! 0 == fn");
  192. Tester.check(pos(0 != fn), "0 != fn");
  193. Tester.check(pos(0 > fn), "0 > fn");
  194. Tester.check(pos(0 >= fn), "0 >= fn");
  195. Tester.check(pos(fn < 0), "fn < 0");
  196. Tester.check(pos(fn <= 0), "fn <= 0");
  197. Tester.check(neg(fn == 0), "! fn == 0");
  198. Tester.check(pos(fn != 0), "fn != 0");
  199. Tester.check(neg(fn > 0), "! fn > 0");
  200. Tester.check(neg(fn >= 0), "! fn >= 0");
  201. Tester.check(neg(0 < fz), "! 0 < fz");
  202. Tester.check(pos(0 <= fz), "0 <= fz");
  203. Tester.check(pos(0 == fz), "0 == fz");
  204. Tester.check(neg(0 != fz), "! 0 != fz");
  205. Tester.check(neg(0 > fz), "! 0 > fz");
  206. Tester.check(pos(0 >= fz), "0 >= fz");
  207. Tester.check(neg(fz < 0), "! fz < 0");
  208. Tester.check(pos(fz <= 0), "fz <= 0");
  209. Tester.check(pos(fz == 0), "fz == 0");
  210. Tester.check(neg(fz != 0), "! fz != 0");
  211. Tester.check(neg(fz > 0), "! fz > 0");
  212. Tester.check(pos(fz >= 0), "fz >= 0");
  213. Tester.check(pos(0 < f1), "0 < f1");
  214. Tester.check(pos(0 <= f1), "0 <= f1");
  215. Tester.check(neg(0 == f1), "! 0 == f1");
  216. Tester.check(pos(0 != f1), "0 != f1");
  217. Tester.check(neg(0 > f1), "! 0 > f1");
  218. Tester.check(neg(0 >= f1), "! 0 >= f1");
  219. Tester.check(neg(f1 < 0), "! f1 < 0");
  220. Tester.check(neg(f1 <= 0), "! f1 <= 0");
  221. Tester.check(neg(f1 == 0), "! f1 == 0");
  222. Tester.check(pos(f1 != 0), "f1 != 0");
  223. Tester.check(pos(f1 > 0), "f1 > 0");
  224. Tester.check(pos(f1 >= 0), "f1 >= 0");
  225. Tester.check(neg(0 < fx), "! 0 < fx");
  226. Tester.check(neg(0 <= fx), "! 0 <= fx");
  227. Tester.check(neg(0 == fx), "! 0 == fx");
  228. Tester.check(pos(0 != fx), "0 != fx");
  229. Tester.check(neg(0 > fx), "! 0 > fx");
  230. Tester.check(neg(0 >= fx), "! 0 >= fx");
  231. Tester.check(neg(fx < 0), "! fx < 0");
  232. Tester.check(neg(fx <= 0), "! fx <= 0");
  233. Tester.check(neg(fx == 0), "! fx == 0");
  234. Tester.check(pos(fx != 0), "fx != 0");
  235. Tester.check(neg(fx > 0), "! fx > 0");
  236. Tester.check(neg(fx >= 0), "! fx >= 0");
  237. }
  238. static void doDouble() {
  239. Tester.check(neg(0 < dn), "! 0 < dn");
  240. Tester.check(neg(0 <= dn), "! 0 <= dn");
  241. Tester.check(neg(0 == dn), "! 0 == dn");
  242. Tester.check(pos(0 != dn), "0 != dn");
  243. Tester.check(pos(0 > dn), "0 > dn");
  244. Tester.check(pos(0 >= dn), "0 >= dn");
  245. Tester.check(pos(dn < 0), "dn < 0");
  246. Tester.check(pos(dn <= 0), "dn <= 0");
  247. Tester.check(neg(dn == 0), "! dn == 0");
  248. Tester.check(pos(dn != 0), "dn != 0");
  249. Tester.check(neg(dn > 0), "! dn > 0");
  250. Tester.check(neg(dn >= 0), "! dn >= 0");
  251. Tester.check(neg(0 < dz), "! 0 < dz");
  252. Tester.check(pos(0 <= dz), "0 <= dz");
  253. Tester.check(pos(0 == dz), "0 == dz");
  254. Tester.check(neg(0 != dz), "! 0 != dz");
  255. Tester.check(neg(0 > dz), "! 0 > dz");
  256. Tester.check(pos(0 >= dz), "0 >= dz");
  257. Tester.check(neg(dz < 0), "! dz < 0");
  258. Tester.check(pos(dz <= 0), "dz <= 0");
  259. Tester.check(pos(dz == 0), "dz == 0");
  260. Tester.check(neg(dz != 0), "! dz != 0");
  261. Tester.check(neg(dz > 0), "! dz > 0");
  262. Tester.check(pos(dz >= 0), "dz >= 0");
  263. Tester.check(pos(0 < d1), "0 < d1");
  264. Tester.check(pos(0 <= d1), "0 <= d1");
  265. Tester.check(neg(0 == d1), "! 0 == d1");
  266. Tester.check(pos(0 != d1), "0 != d1");
  267. Tester.check(neg(0 > d1), "! 0 > d1");
  268. Tester.check(neg(0 >= d1), "! 0 >= d1");
  269. Tester.check(neg(d1 < 0), "! d1 < 0");
  270. Tester.check(neg(d1 <= 0), "! d1 <= 0");
  271. Tester.check(neg(d1 == 0), "! d1 == 0");
  272. Tester.check(pos(d1 != 0), "d1 != 0");
  273. Tester.check(pos(d1 > 0), "d1 > 0");
  274. Tester.check(pos(d1 >= 0), "d1 >= 0");
  275. Tester.check(neg(0 < dx), "! 0 < dx");
  276. Tester.check(neg(0 <= dx), "! 0 <= dx");
  277. Tester.check(neg(0 == dx), "! 0 == dx");
  278. Tester.check(pos(0 != dx), "0 != dx");
  279. Tester.check(neg(0 > dx), "! 0 > dx");
  280. Tester.check(neg(0 >= dx), "! 0 >= dx");
  281. Tester.check(neg(dx < 0), "! dx < 0");
  282. Tester.check(neg(dx <= 0), "! dx <= 0");
  283. Tester.check(neg(dx == 0), "! dx == 0");
  284. Tester.check(pos(dx != 0), "dx != 0");
  285. Tester.check(neg(dx > 0), "! dx > 0");
  286. Tester.check(neg(dx >= 0), "! dx >= 0");
  287. }
  288. static void doChar() {
  289. Tester.check(neg(0 < cz), "! 0 < cz");
  290. Tester.check(pos(0 <= cz), "0 <= cz");
  291. Tester.check(pos(0 == cz), "0 == cz");
  292. Tester.check(neg(0 != cz), "! 0 != cz");
  293. Tester.check(neg(0 > cz), "! 0 > cz");
  294. Tester.check(pos(0 >= cz), "0 >= cz");
  295. Tester.check(neg(cz < 0), "! cz < 0");
  296. Tester.check(pos(cz <= 0), "cz <= 0");
  297. Tester.check(pos(cz == 0), "cz == 0");
  298. Tester.check(neg(cz != 0), "! cz != 0");
  299. Tester.check(neg(cz > 0), "! cz > 0");
  300. Tester.check(pos(cz >= 0), "cz >= 0");
  301. Tester.check(pos(0 < c1), "0 < c1");
  302. Tester.check(pos(0 <= c1), "0 <= c1");
  303. Tester.check(neg(0 == c1), "! 0 == c1");
  304. Tester.check(pos(0 != c1), "0 != c1");
  305. Tester.check(neg(0 > c1), "! 0 > c1");
  306. Tester.check(neg(0 >= c1), "! 0 >= c1");
  307. Tester.check(neg(c1 < 0), "! c1 < 0");
  308. Tester.check(neg(c1 <= 0), "! c1 <= 0");
  309. Tester.check(neg(c1 == 0), "! c1 == 0");
  310. Tester.check(pos(c1 != 0), "c1 != 0");
  311. Tester.check(pos(c1 > 0), "c1 > 0");
  312. Tester.check(pos(c1 >= 0), "c1 >= 0");
  313. }
  314. }