version_compare.phpt 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795
  1. --TEST--
  2. version_compare test
  3. --FILE--
  4. <?php
  5. print "TESTING COMPARE\n";
  6. $special_forms = array("-dev", "a1", "b1", "RC1", "rc1", "", "pl1");
  7. $operators = array(
  8. "lt", "<",
  9. "le", "<=",
  10. "gt", ">",
  11. "ge", ">=",
  12. "eq", "=", "==",
  13. "ne", "<>", "!="
  14. );
  15. test("1", "2");
  16. test("10", "2");
  17. test("1.0", "1.1");
  18. test("1.2", "1.0.1");
  19. foreach ($special_forms as $f1) {
  20. foreach ($special_forms as $f2) {
  21. test("1.0$f1", "1.0$f2");
  22. }
  23. }
  24. print "TESTING OPERATORS\n";
  25. foreach ($special_forms as $f1) {
  26. foreach ($special_forms as $f2) {
  27. foreach ($operators as $op) {
  28. $v1 = "1.0$f1";
  29. $v2 = "1.0$f2";
  30. $test = version_compare($v1, $v2, $op) ? "true" : "false";
  31. printf("%7s %2s %-7s : %s\n", $v1, $op, $v2, $test);
  32. }
  33. }
  34. }
  35. function test($v1, $v2) {
  36. $compare = version_compare($v1, $v2);
  37. switch ($compare) {
  38. case -1:
  39. print "$v1 < $v2\n";
  40. break;
  41. case 1:
  42. print "$v1 > $v2\n";
  43. break;
  44. case 0:
  45. default:
  46. print "$v1 = $v2\n";
  47. break;
  48. }
  49. }
  50. ?>
  51. --EXPECT--
  52. TESTING COMPARE
  53. 1 < 2
  54. 10 > 2
  55. 1.0 < 1.1
  56. 1.2 > 1.0.1
  57. 1.0-dev = 1.0-dev
  58. 1.0-dev < 1.0a1
  59. 1.0-dev < 1.0b1
  60. 1.0-dev < 1.0RC1
  61. 1.0-dev < 1.0rc1
  62. 1.0-dev < 1.0
  63. 1.0-dev < 1.0pl1
  64. 1.0a1 > 1.0-dev
  65. 1.0a1 = 1.0a1
  66. 1.0a1 < 1.0b1
  67. 1.0a1 < 1.0RC1
  68. 1.0a1 < 1.0rc1
  69. 1.0a1 < 1.0
  70. 1.0a1 < 1.0pl1
  71. 1.0b1 > 1.0-dev
  72. 1.0b1 > 1.0a1
  73. 1.0b1 = 1.0b1
  74. 1.0b1 < 1.0RC1
  75. 1.0b1 < 1.0rc1
  76. 1.0b1 < 1.0
  77. 1.0b1 < 1.0pl1
  78. 1.0RC1 > 1.0-dev
  79. 1.0RC1 > 1.0a1
  80. 1.0RC1 > 1.0b1
  81. 1.0RC1 = 1.0RC1
  82. 1.0RC1 = 1.0rc1
  83. 1.0RC1 < 1.0
  84. 1.0RC1 < 1.0pl1
  85. 1.0rc1 > 1.0-dev
  86. 1.0rc1 > 1.0a1
  87. 1.0rc1 > 1.0b1
  88. 1.0rc1 = 1.0RC1
  89. 1.0rc1 = 1.0rc1
  90. 1.0rc1 < 1.0
  91. 1.0rc1 < 1.0pl1
  92. 1.0 > 1.0-dev
  93. 1.0 > 1.0a1
  94. 1.0 > 1.0b1
  95. 1.0 > 1.0RC1
  96. 1.0 > 1.0rc1
  97. 1.0 = 1.0
  98. 1.0 < 1.0pl1
  99. 1.0pl1 > 1.0-dev
  100. 1.0pl1 > 1.0a1
  101. 1.0pl1 > 1.0b1
  102. 1.0pl1 > 1.0RC1
  103. 1.0pl1 > 1.0rc1
  104. 1.0pl1 > 1.0
  105. 1.0pl1 = 1.0pl1
  106. TESTING OPERATORS
  107. 1.0-dev lt 1.0-dev : false
  108. 1.0-dev < 1.0-dev : false
  109. 1.0-dev le 1.0-dev : true
  110. 1.0-dev <= 1.0-dev : true
  111. 1.0-dev gt 1.0-dev : false
  112. 1.0-dev > 1.0-dev : false
  113. 1.0-dev ge 1.0-dev : true
  114. 1.0-dev >= 1.0-dev : true
  115. 1.0-dev eq 1.0-dev : true
  116. 1.0-dev = 1.0-dev : true
  117. 1.0-dev == 1.0-dev : true
  118. 1.0-dev ne 1.0-dev : false
  119. 1.0-dev <> 1.0-dev : false
  120. 1.0-dev != 1.0-dev : false
  121. 1.0-dev lt 1.0a1 : true
  122. 1.0-dev < 1.0a1 : true
  123. 1.0-dev le 1.0a1 : true
  124. 1.0-dev <= 1.0a1 : true
  125. 1.0-dev gt 1.0a1 : false
  126. 1.0-dev > 1.0a1 : false
  127. 1.0-dev ge 1.0a1 : false
  128. 1.0-dev >= 1.0a1 : false
  129. 1.0-dev eq 1.0a1 : false
  130. 1.0-dev = 1.0a1 : false
  131. 1.0-dev == 1.0a1 : false
  132. 1.0-dev ne 1.0a1 : true
  133. 1.0-dev <> 1.0a1 : true
  134. 1.0-dev != 1.0a1 : true
  135. 1.0-dev lt 1.0b1 : true
  136. 1.0-dev < 1.0b1 : true
  137. 1.0-dev le 1.0b1 : true
  138. 1.0-dev <= 1.0b1 : true
  139. 1.0-dev gt 1.0b1 : false
  140. 1.0-dev > 1.0b1 : false
  141. 1.0-dev ge 1.0b1 : false
  142. 1.0-dev >= 1.0b1 : false
  143. 1.0-dev eq 1.0b1 : false
  144. 1.0-dev = 1.0b1 : false
  145. 1.0-dev == 1.0b1 : false
  146. 1.0-dev ne 1.0b1 : true
  147. 1.0-dev <> 1.0b1 : true
  148. 1.0-dev != 1.0b1 : true
  149. 1.0-dev lt 1.0RC1 : true
  150. 1.0-dev < 1.0RC1 : true
  151. 1.0-dev le 1.0RC1 : true
  152. 1.0-dev <= 1.0RC1 : true
  153. 1.0-dev gt 1.0RC1 : false
  154. 1.0-dev > 1.0RC1 : false
  155. 1.0-dev ge 1.0RC1 : false
  156. 1.0-dev >= 1.0RC1 : false
  157. 1.0-dev eq 1.0RC1 : false
  158. 1.0-dev = 1.0RC1 : false
  159. 1.0-dev == 1.0RC1 : false
  160. 1.0-dev ne 1.0RC1 : true
  161. 1.0-dev <> 1.0RC1 : true
  162. 1.0-dev != 1.0RC1 : true
  163. 1.0-dev lt 1.0rc1 : true
  164. 1.0-dev < 1.0rc1 : true
  165. 1.0-dev le 1.0rc1 : true
  166. 1.0-dev <= 1.0rc1 : true
  167. 1.0-dev gt 1.0rc1 : false
  168. 1.0-dev > 1.0rc1 : false
  169. 1.0-dev ge 1.0rc1 : false
  170. 1.0-dev >= 1.0rc1 : false
  171. 1.0-dev eq 1.0rc1 : false
  172. 1.0-dev = 1.0rc1 : false
  173. 1.0-dev == 1.0rc1 : false
  174. 1.0-dev ne 1.0rc1 : true
  175. 1.0-dev <> 1.0rc1 : true
  176. 1.0-dev != 1.0rc1 : true
  177. 1.0-dev lt 1.0 : true
  178. 1.0-dev < 1.0 : true
  179. 1.0-dev le 1.0 : true
  180. 1.0-dev <= 1.0 : true
  181. 1.0-dev gt 1.0 : false
  182. 1.0-dev > 1.0 : false
  183. 1.0-dev ge 1.0 : false
  184. 1.0-dev >= 1.0 : false
  185. 1.0-dev eq 1.0 : false
  186. 1.0-dev = 1.0 : false
  187. 1.0-dev == 1.0 : false
  188. 1.0-dev ne 1.0 : true
  189. 1.0-dev <> 1.0 : true
  190. 1.0-dev != 1.0 : true
  191. 1.0-dev lt 1.0pl1 : true
  192. 1.0-dev < 1.0pl1 : true
  193. 1.0-dev le 1.0pl1 : true
  194. 1.0-dev <= 1.0pl1 : true
  195. 1.0-dev gt 1.0pl1 : false
  196. 1.0-dev > 1.0pl1 : false
  197. 1.0-dev ge 1.0pl1 : false
  198. 1.0-dev >= 1.0pl1 : false
  199. 1.0-dev eq 1.0pl1 : false
  200. 1.0-dev = 1.0pl1 : false
  201. 1.0-dev == 1.0pl1 : false
  202. 1.0-dev ne 1.0pl1 : true
  203. 1.0-dev <> 1.0pl1 : true
  204. 1.0-dev != 1.0pl1 : true
  205. 1.0a1 lt 1.0-dev : false
  206. 1.0a1 < 1.0-dev : false
  207. 1.0a1 le 1.0-dev : false
  208. 1.0a1 <= 1.0-dev : false
  209. 1.0a1 gt 1.0-dev : true
  210. 1.0a1 > 1.0-dev : true
  211. 1.0a1 ge 1.0-dev : true
  212. 1.0a1 >= 1.0-dev : true
  213. 1.0a1 eq 1.0-dev : false
  214. 1.0a1 = 1.0-dev : false
  215. 1.0a1 == 1.0-dev : false
  216. 1.0a1 ne 1.0-dev : true
  217. 1.0a1 <> 1.0-dev : true
  218. 1.0a1 != 1.0-dev : true
  219. 1.0a1 lt 1.0a1 : false
  220. 1.0a1 < 1.0a1 : false
  221. 1.0a1 le 1.0a1 : true
  222. 1.0a1 <= 1.0a1 : true
  223. 1.0a1 gt 1.0a1 : false
  224. 1.0a1 > 1.0a1 : false
  225. 1.0a1 ge 1.0a1 : true
  226. 1.0a1 >= 1.0a1 : true
  227. 1.0a1 eq 1.0a1 : true
  228. 1.0a1 = 1.0a1 : true
  229. 1.0a1 == 1.0a1 : true
  230. 1.0a1 ne 1.0a1 : false
  231. 1.0a1 <> 1.0a1 : false
  232. 1.0a1 != 1.0a1 : false
  233. 1.0a1 lt 1.0b1 : true
  234. 1.0a1 < 1.0b1 : true
  235. 1.0a1 le 1.0b1 : true
  236. 1.0a1 <= 1.0b1 : true
  237. 1.0a1 gt 1.0b1 : false
  238. 1.0a1 > 1.0b1 : false
  239. 1.0a1 ge 1.0b1 : false
  240. 1.0a1 >= 1.0b1 : false
  241. 1.0a1 eq 1.0b1 : false
  242. 1.0a1 = 1.0b1 : false
  243. 1.0a1 == 1.0b1 : false
  244. 1.0a1 ne 1.0b1 : true
  245. 1.0a1 <> 1.0b1 : true
  246. 1.0a1 != 1.0b1 : true
  247. 1.0a1 lt 1.0RC1 : true
  248. 1.0a1 < 1.0RC1 : true
  249. 1.0a1 le 1.0RC1 : true
  250. 1.0a1 <= 1.0RC1 : true
  251. 1.0a1 gt 1.0RC1 : false
  252. 1.0a1 > 1.0RC1 : false
  253. 1.0a1 ge 1.0RC1 : false
  254. 1.0a1 >= 1.0RC1 : false
  255. 1.0a1 eq 1.0RC1 : false
  256. 1.0a1 = 1.0RC1 : false
  257. 1.0a1 == 1.0RC1 : false
  258. 1.0a1 ne 1.0RC1 : true
  259. 1.0a1 <> 1.0RC1 : true
  260. 1.0a1 != 1.0RC1 : true
  261. 1.0a1 lt 1.0rc1 : true
  262. 1.0a1 < 1.0rc1 : true
  263. 1.0a1 le 1.0rc1 : true
  264. 1.0a1 <= 1.0rc1 : true
  265. 1.0a1 gt 1.0rc1 : false
  266. 1.0a1 > 1.0rc1 : false
  267. 1.0a1 ge 1.0rc1 : false
  268. 1.0a1 >= 1.0rc1 : false
  269. 1.0a1 eq 1.0rc1 : false
  270. 1.0a1 = 1.0rc1 : false
  271. 1.0a1 == 1.0rc1 : false
  272. 1.0a1 ne 1.0rc1 : true
  273. 1.0a1 <> 1.0rc1 : true
  274. 1.0a1 != 1.0rc1 : true
  275. 1.0a1 lt 1.0 : true
  276. 1.0a1 < 1.0 : true
  277. 1.0a1 le 1.0 : true
  278. 1.0a1 <= 1.0 : true
  279. 1.0a1 gt 1.0 : false
  280. 1.0a1 > 1.0 : false
  281. 1.0a1 ge 1.0 : false
  282. 1.0a1 >= 1.0 : false
  283. 1.0a1 eq 1.0 : false
  284. 1.0a1 = 1.0 : false
  285. 1.0a1 == 1.0 : false
  286. 1.0a1 ne 1.0 : true
  287. 1.0a1 <> 1.0 : true
  288. 1.0a1 != 1.0 : true
  289. 1.0a1 lt 1.0pl1 : true
  290. 1.0a1 < 1.0pl1 : true
  291. 1.0a1 le 1.0pl1 : true
  292. 1.0a1 <= 1.0pl1 : true
  293. 1.0a1 gt 1.0pl1 : false
  294. 1.0a1 > 1.0pl1 : false
  295. 1.0a1 ge 1.0pl1 : false
  296. 1.0a1 >= 1.0pl1 : false
  297. 1.0a1 eq 1.0pl1 : false
  298. 1.0a1 = 1.0pl1 : false
  299. 1.0a1 == 1.0pl1 : false
  300. 1.0a1 ne 1.0pl1 : true
  301. 1.0a1 <> 1.0pl1 : true
  302. 1.0a1 != 1.0pl1 : true
  303. 1.0b1 lt 1.0-dev : false
  304. 1.0b1 < 1.0-dev : false
  305. 1.0b1 le 1.0-dev : false
  306. 1.0b1 <= 1.0-dev : false
  307. 1.0b1 gt 1.0-dev : true
  308. 1.0b1 > 1.0-dev : true
  309. 1.0b1 ge 1.0-dev : true
  310. 1.0b1 >= 1.0-dev : true
  311. 1.0b1 eq 1.0-dev : false
  312. 1.0b1 = 1.0-dev : false
  313. 1.0b1 == 1.0-dev : false
  314. 1.0b1 ne 1.0-dev : true
  315. 1.0b1 <> 1.0-dev : true
  316. 1.0b1 != 1.0-dev : true
  317. 1.0b1 lt 1.0a1 : false
  318. 1.0b1 < 1.0a1 : false
  319. 1.0b1 le 1.0a1 : false
  320. 1.0b1 <= 1.0a1 : false
  321. 1.0b1 gt 1.0a1 : true
  322. 1.0b1 > 1.0a1 : true
  323. 1.0b1 ge 1.0a1 : true
  324. 1.0b1 >= 1.0a1 : true
  325. 1.0b1 eq 1.0a1 : false
  326. 1.0b1 = 1.0a1 : false
  327. 1.0b1 == 1.0a1 : false
  328. 1.0b1 ne 1.0a1 : true
  329. 1.0b1 <> 1.0a1 : true
  330. 1.0b1 != 1.0a1 : true
  331. 1.0b1 lt 1.0b1 : false
  332. 1.0b1 < 1.0b1 : false
  333. 1.0b1 le 1.0b1 : true
  334. 1.0b1 <= 1.0b1 : true
  335. 1.0b1 gt 1.0b1 : false
  336. 1.0b1 > 1.0b1 : false
  337. 1.0b1 ge 1.0b1 : true
  338. 1.0b1 >= 1.0b1 : true
  339. 1.0b1 eq 1.0b1 : true
  340. 1.0b1 = 1.0b1 : true
  341. 1.0b1 == 1.0b1 : true
  342. 1.0b1 ne 1.0b1 : false
  343. 1.0b1 <> 1.0b1 : false
  344. 1.0b1 != 1.0b1 : false
  345. 1.0b1 lt 1.0RC1 : true
  346. 1.0b1 < 1.0RC1 : true
  347. 1.0b1 le 1.0RC1 : true
  348. 1.0b1 <= 1.0RC1 : true
  349. 1.0b1 gt 1.0RC1 : false
  350. 1.0b1 > 1.0RC1 : false
  351. 1.0b1 ge 1.0RC1 : false
  352. 1.0b1 >= 1.0RC1 : false
  353. 1.0b1 eq 1.0RC1 : false
  354. 1.0b1 = 1.0RC1 : false
  355. 1.0b1 == 1.0RC1 : false
  356. 1.0b1 ne 1.0RC1 : true
  357. 1.0b1 <> 1.0RC1 : true
  358. 1.0b1 != 1.0RC1 : true
  359. 1.0b1 lt 1.0rc1 : true
  360. 1.0b1 < 1.0rc1 : true
  361. 1.0b1 le 1.0rc1 : true
  362. 1.0b1 <= 1.0rc1 : true
  363. 1.0b1 gt 1.0rc1 : false
  364. 1.0b1 > 1.0rc1 : false
  365. 1.0b1 ge 1.0rc1 : false
  366. 1.0b1 >= 1.0rc1 : false
  367. 1.0b1 eq 1.0rc1 : false
  368. 1.0b1 = 1.0rc1 : false
  369. 1.0b1 == 1.0rc1 : false
  370. 1.0b1 ne 1.0rc1 : true
  371. 1.0b1 <> 1.0rc1 : true
  372. 1.0b1 != 1.0rc1 : true
  373. 1.0b1 lt 1.0 : true
  374. 1.0b1 < 1.0 : true
  375. 1.0b1 le 1.0 : true
  376. 1.0b1 <= 1.0 : true
  377. 1.0b1 gt 1.0 : false
  378. 1.0b1 > 1.0 : false
  379. 1.0b1 ge 1.0 : false
  380. 1.0b1 >= 1.0 : false
  381. 1.0b1 eq 1.0 : false
  382. 1.0b1 = 1.0 : false
  383. 1.0b1 == 1.0 : false
  384. 1.0b1 ne 1.0 : true
  385. 1.0b1 <> 1.0 : true
  386. 1.0b1 != 1.0 : true
  387. 1.0b1 lt 1.0pl1 : true
  388. 1.0b1 < 1.0pl1 : true
  389. 1.0b1 le 1.0pl1 : true
  390. 1.0b1 <= 1.0pl1 : true
  391. 1.0b1 gt 1.0pl1 : false
  392. 1.0b1 > 1.0pl1 : false
  393. 1.0b1 ge 1.0pl1 : false
  394. 1.0b1 >= 1.0pl1 : false
  395. 1.0b1 eq 1.0pl1 : false
  396. 1.0b1 = 1.0pl1 : false
  397. 1.0b1 == 1.0pl1 : false
  398. 1.0b1 ne 1.0pl1 : true
  399. 1.0b1 <> 1.0pl1 : true
  400. 1.0b1 != 1.0pl1 : true
  401. 1.0RC1 lt 1.0-dev : false
  402. 1.0RC1 < 1.0-dev : false
  403. 1.0RC1 le 1.0-dev : false
  404. 1.0RC1 <= 1.0-dev : false
  405. 1.0RC1 gt 1.0-dev : true
  406. 1.0RC1 > 1.0-dev : true
  407. 1.0RC1 ge 1.0-dev : true
  408. 1.0RC1 >= 1.0-dev : true
  409. 1.0RC1 eq 1.0-dev : false
  410. 1.0RC1 = 1.0-dev : false
  411. 1.0RC1 == 1.0-dev : false
  412. 1.0RC1 ne 1.0-dev : true
  413. 1.0RC1 <> 1.0-dev : true
  414. 1.0RC1 != 1.0-dev : true
  415. 1.0RC1 lt 1.0a1 : false
  416. 1.0RC1 < 1.0a1 : false
  417. 1.0RC1 le 1.0a1 : false
  418. 1.0RC1 <= 1.0a1 : false
  419. 1.0RC1 gt 1.0a1 : true
  420. 1.0RC1 > 1.0a1 : true
  421. 1.0RC1 ge 1.0a1 : true
  422. 1.0RC1 >= 1.0a1 : true
  423. 1.0RC1 eq 1.0a1 : false
  424. 1.0RC1 = 1.0a1 : false
  425. 1.0RC1 == 1.0a1 : false
  426. 1.0RC1 ne 1.0a1 : true
  427. 1.0RC1 <> 1.0a1 : true
  428. 1.0RC1 != 1.0a1 : true
  429. 1.0RC1 lt 1.0b1 : false
  430. 1.0RC1 < 1.0b1 : false
  431. 1.0RC1 le 1.0b1 : false
  432. 1.0RC1 <= 1.0b1 : false
  433. 1.0RC1 gt 1.0b1 : true
  434. 1.0RC1 > 1.0b1 : true
  435. 1.0RC1 ge 1.0b1 : true
  436. 1.0RC1 >= 1.0b1 : true
  437. 1.0RC1 eq 1.0b1 : false
  438. 1.0RC1 = 1.0b1 : false
  439. 1.0RC1 == 1.0b1 : false
  440. 1.0RC1 ne 1.0b1 : true
  441. 1.0RC1 <> 1.0b1 : true
  442. 1.0RC1 != 1.0b1 : true
  443. 1.0RC1 lt 1.0RC1 : false
  444. 1.0RC1 < 1.0RC1 : false
  445. 1.0RC1 le 1.0RC1 : true
  446. 1.0RC1 <= 1.0RC1 : true
  447. 1.0RC1 gt 1.0RC1 : false
  448. 1.0RC1 > 1.0RC1 : false
  449. 1.0RC1 ge 1.0RC1 : true
  450. 1.0RC1 >= 1.0RC1 : true
  451. 1.0RC1 eq 1.0RC1 : true
  452. 1.0RC1 = 1.0RC1 : true
  453. 1.0RC1 == 1.0RC1 : true
  454. 1.0RC1 ne 1.0RC1 : false
  455. 1.0RC1 <> 1.0RC1 : false
  456. 1.0RC1 != 1.0RC1 : false
  457. 1.0RC1 lt 1.0rc1 : false
  458. 1.0RC1 < 1.0rc1 : false
  459. 1.0RC1 le 1.0rc1 : true
  460. 1.0RC1 <= 1.0rc1 : true
  461. 1.0RC1 gt 1.0rc1 : false
  462. 1.0RC1 > 1.0rc1 : false
  463. 1.0RC1 ge 1.0rc1 : true
  464. 1.0RC1 >= 1.0rc1 : true
  465. 1.0RC1 eq 1.0rc1 : true
  466. 1.0RC1 = 1.0rc1 : true
  467. 1.0RC1 == 1.0rc1 : true
  468. 1.0RC1 ne 1.0rc1 : false
  469. 1.0RC1 <> 1.0rc1 : false
  470. 1.0RC1 != 1.0rc1 : false
  471. 1.0RC1 lt 1.0 : true
  472. 1.0RC1 < 1.0 : true
  473. 1.0RC1 le 1.0 : true
  474. 1.0RC1 <= 1.0 : true
  475. 1.0RC1 gt 1.0 : false
  476. 1.0RC1 > 1.0 : false
  477. 1.0RC1 ge 1.0 : false
  478. 1.0RC1 >= 1.0 : false
  479. 1.0RC1 eq 1.0 : false
  480. 1.0RC1 = 1.0 : false
  481. 1.0RC1 == 1.0 : false
  482. 1.0RC1 ne 1.0 : true
  483. 1.0RC1 <> 1.0 : true
  484. 1.0RC1 != 1.0 : true
  485. 1.0RC1 lt 1.0pl1 : true
  486. 1.0RC1 < 1.0pl1 : true
  487. 1.0RC1 le 1.0pl1 : true
  488. 1.0RC1 <= 1.0pl1 : true
  489. 1.0RC1 gt 1.0pl1 : false
  490. 1.0RC1 > 1.0pl1 : false
  491. 1.0RC1 ge 1.0pl1 : false
  492. 1.0RC1 >= 1.0pl1 : false
  493. 1.0RC1 eq 1.0pl1 : false
  494. 1.0RC1 = 1.0pl1 : false
  495. 1.0RC1 == 1.0pl1 : false
  496. 1.0RC1 ne 1.0pl1 : true
  497. 1.0RC1 <> 1.0pl1 : true
  498. 1.0RC1 != 1.0pl1 : true
  499. 1.0rc1 lt 1.0-dev : false
  500. 1.0rc1 < 1.0-dev : false
  501. 1.0rc1 le 1.0-dev : false
  502. 1.0rc1 <= 1.0-dev : false
  503. 1.0rc1 gt 1.0-dev : true
  504. 1.0rc1 > 1.0-dev : true
  505. 1.0rc1 ge 1.0-dev : true
  506. 1.0rc1 >= 1.0-dev : true
  507. 1.0rc1 eq 1.0-dev : false
  508. 1.0rc1 = 1.0-dev : false
  509. 1.0rc1 == 1.0-dev : false
  510. 1.0rc1 ne 1.0-dev : true
  511. 1.0rc1 <> 1.0-dev : true
  512. 1.0rc1 != 1.0-dev : true
  513. 1.0rc1 lt 1.0a1 : false
  514. 1.0rc1 < 1.0a1 : false
  515. 1.0rc1 le 1.0a1 : false
  516. 1.0rc1 <= 1.0a1 : false
  517. 1.0rc1 gt 1.0a1 : true
  518. 1.0rc1 > 1.0a1 : true
  519. 1.0rc1 ge 1.0a1 : true
  520. 1.0rc1 >= 1.0a1 : true
  521. 1.0rc1 eq 1.0a1 : false
  522. 1.0rc1 = 1.0a1 : false
  523. 1.0rc1 == 1.0a1 : false
  524. 1.0rc1 ne 1.0a1 : true
  525. 1.0rc1 <> 1.0a1 : true
  526. 1.0rc1 != 1.0a1 : true
  527. 1.0rc1 lt 1.0b1 : false
  528. 1.0rc1 < 1.0b1 : false
  529. 1.0rc1 le 1.0b1 : false
  530. 1.0rc1 <= 1.0b1 : false
  531. 1.0rc1 gt 1.0b1 : true
  532. 1.0rc1 > 1.0b1 : true
  533. 1.0rc1 ge 1.0b1 : true
  534. 1.0rc1 >= 1.0b1 : true
  535. 1.0rc1 eq 1.0b1 : false
  536. 1.0rc1 = 1.0b1 : false
  537. 1.0rc1 == 1.0b1 : false
  538. 1.0rc1 ne 1.0b1 : true
  539. 1.0rc1 <> 1.0b1 : true
  540. 1.0rc1 != 1.0b1 : true
  541. 1.0rc1 lt 1.0RC1 : false
  542. 1.0rc1 < 1.0RC1 : false
  543. 1.0rc1 le 1.0RC1 : true
  544. 1.0rc1 <= 1.0RC1 : true
  545. 1.0rc1 gt 1.0RC1 : false
  546. 1.0rc1 > 1.0RC1 : false
  547. 1.0rc1 ge 1.0RC1 : true
  548. 1.0rc1 >= 1.0RC1 : true
  549. 1.0rc1 eq 1.0RC1 : true
  550. 1.0rc1 = 1.0RC1 : true
  551. 1.0rc1 == 1.0RC1 : true
  552. 1.0rc1 ne 1.0RC1 : false
  553. 1.0rc1 <> 1.0RC1 : false
  554. 1.0rc1 != 1.0RC1 : false
  555. 1.0rc1 lt 1.0rc1 : false
  556. 1.0rc1 < 1.0rc1 : false
  557. 1.0rc1 le 1.0rc1 : true
  558. 1.0rc1 <= 1.0rc1 : true
  559. 1.0rc1 gt 1.0rc1 : false
  560. 1.0rc1 > 1.0rc1 : false
  561. 1.0rc1 ge 1.0rc1 : true
  562. 1.0rc1 >= 1.0rc1 : true
  563. 1.0rc1 eq 1.0rc1 : true
  564. 1.0rc1 = 1.0rc1 : true
  565. 1.0rc1 == 1.0rc1 : true
  566. 1.0rc1 ne 1.0rc1 : false
  567. 1.0rc1 <> 1.0rc1 : false
  568. 1.0rc1 != 1.0rc1 : false
  569. 1.0rc1 lt 1.0 : true
  570. 1.0rc1 < 1.0 : true
  571. 1.0rc1 le 1.0 : true
  572. 1.0rc1 <= 1.0 : true
  573. 1.0rc1 gt 1.0 : false
  574. 1.0rc1 > 1.0 : false
  575. 1.0rc1 ge 1.0 : false
  576. 1.0rc1 >= 1.0 : false
  577. 1.0rc1 eq 1.0 : false
  578. 1.0rc1 = 1.0 : false
  579. 1.0rc1 == 1.0 : false
  580. 1.0rc1 ne 1.0 : true
  581. 1.0rc1 <> 1.0 : true
  582. 1.0rc1 != 1.0 : true
  583. 1.0rc1 lt 1.0pl1 : true
  584. 1.0rc1 < 1.0pl1 : true
  585. 1.0rc1 le 1.0pl1 : true
  586. 1.0rc1 <= 1.0pl1 : true
  587. 1.0rc1 gt 1.0pl1 : false
  588. 1.0rc1 > 1.0pl1 : false
  589. 1.0rc1 ge 1.0pl1 : false
  590. 1.0rc1 >= 1.0pl1 : false
  591. 1.0rc1 eq 1.0pl1 : false
  592. 1.0rc1 = 1.0pl1 : false
  593. 1.0rc1 == 1.0pl1 : false
  594. 1.0rc1 ne 1.0pl1 : true
  595. 1.0rc1 <> 1.0pl1 : true
  596. 1.0rc1 != 1.0pl1 : true
  597. 1.0 lt 1.0-dev : false
  598. 1.0 < 1.0-dev : false
  599. 1.0 le 1.0-dev : false
  600. 1.0 <= 1.0-dev : false
  601. 1.0 gt 1.0-dev : true
  602. 1.0 > 1.0-dev : true
  603. 1.0 ge 1.0-dev : true
  604. 1.0 >= 1.0-dev : true
  605. 1.0 eq 1.0-dev : false
  606. 1.0 = 1.0-dev : false
  607. 1.0 == 1.0-dev : false
  608. 1.0 ne 1.0-dev : true
  609. 1.0 <> 1.0-dev : true
  610. 1.0 != 1.0-dev : true
  611. 1.0 lt 1.0a1 : false
  612. 1.0 < 1.0a1 : false
  613. 1.0 le 1.0a1 : false
  614. 1.0 <= 1.0a1 : false
  615. 1.0 gt 1.0a1 : true
  616. 1.0 > 1.0a1 : true
  617. 1.0 ge 1.0a1 : true
  618. 1.0 >= 1.0a1 : true
  619. 1.0 eq 1.0a1 : false
  620. 1.0 = 1.0a1 : false
  621. 1.0 == 1.0a1 : false
  622. 1.0 ne 1.0a1 : true
  623. 1.0 <> 1.0a1 : true
  624. 1.0 != 1.0a1 : true
  625. 1.0 lt 1.0b1 : false
  626. 1.0 < 1.0b1 : false
  627. 1.0 le 1.0b1 : false
  628. 1.0 <= 1.0b1 : false
  629. 1.0 gt 1.0b1 : true
  630. 1.0 > 1.0b1 : true
  631. 1.0 ge 1.0b1 : true
  632. 1.0 >= 1.0b1 : true
  633. 1.0 eq 1.0b1 : false
  634. 1.0 = 1.0b1 : false
  635. 1.0 == 1.0b1 : false
  636. 1.0 ne 1.0b1 : true
  637. 1.0 <> 1.0b1 : true
  638. 1.0 != 1.0b1 : true
  639. 1.0 lt 1.0RC1 : false
  640. 1.0 < 1.0RC1 : false
  641. 1.0 le 1.0RC1 : false
  642. 1.0 <= 1.0RC1 : false
  643. 1.0 gt 1.0RC1 : true
  644. 1.0 > 1.0RC1 : true
  645. 1.0 ge 1.0RC1 : true
  646. 1.0 >= 1.0RC1 : true
  647. 1.0 eq 1.0RC1 : false
  648. 1.0 = 1.0RC1 : false
  649. 1.0 == 1.0RC1 : false
  650. 1.0 ne 1.0RC1 : true
  651. 1.0 <> 1.0RC1 : true
  652. 1.0 != 1.0RC1 : true
  653. 1.0 lt 1.0rc1 : false
  654. 1.0 < 1.0rc1 : false
  655. 1.0 le 1.0rc1 : false
  656. 1.0 <= 1.0rc1 : false
  657. 1.0 gt 1.0rc1 : true
  658. 1.0 > 1.0rc1 : true
  659. 1.0 ge 1.0rc1 : true
  660. 1.0 >= 1.0rc1 : true
  661. 1.0 eq 1.0rc1 : false
  662. 1.0 = 1.0rc1 : false
  663. 1.0 == 1.0rc1 : false
  664. 1.0 ne 1.0rc1 : true
  665. 1.0 <> 1.0rc1 : true
  666. 1.0 != 1.0rc1 : true
  667. 1.0 lt 1.0 : false
  668. 1.0 < 1.0 : false
  669. 1.0 le 1.0 : true
  670. 1.0 <= 1.0 : true
  671. 1.0 gt 1.0 : false
  672. 1.0 > 1.0 : false
  673. 1.0 ge 1.0 : true
  674. 1.0 >= 1.0 : true
  675. 1.0 eq 1.0 : true
  676. 1.0 = 1.0 : true
  677. 1.0 == 1.0 : true
  678. 1.0 ne 1.0 : false
  679. 1.0 <> 1.0 : false
  680. 1.0 != 1.0 : false
  681. 1.0 lt 1.0pl1 : true
  682. 1.0 < 1.0pl1 : true
  683. 1.0 le 1.0pl1 : true
  684. 1.0 <= 1.0pl1 : true
  685. 1.0 gt 1.0pl1 : false
  686. 1.0 > 1.0pl1 : false
  687. 1.0 ge 1.0pl1 : false
  688. 1.0 >= 1.0pl1 : false
  689. 1.0 eq 1.0pl1 : false
  690. 1.0 = 1.0pl1 : false
  691. 1.0 == 1.0pl1 : false
  692. 1.0 ne 1.0pl1 : true
  693. 1.0 <> 1.0pl1 : true
  694. 1.0 != 1.0pl1 : true
  695. 1.0pl1 lt 1.0-dev : false
  696. 1.0pl1 < 1.0-dev : false
  697. 1.0pl1 le 1.0-dev : false
  698. 1.0pl1 <= 1.0-dev : false
  699. 1.0pl1 gt 1.0-dev : true
  700. 1.0pl1 > 1.0-dev : true
  701. 1.0pl1 ge 1.0-dev : true
  702. 1.0pl1 >= 1.0-dev : true
  703. 1.0pl1 eq 1.0-dev : false
  704. 1.0pl1 = 1.0-dev : false
  705. 1.0pl1 == 1.0-dev : false
  706. 1.0pl1 ne 1.0-dev : true
  707. 1.0pl1 <> 1.0-dev : true
  708. 1.0pl1 != 1.0-dev : true
  709. 1.0pl1 lt 1.0a1 : false
  710. 1.0pl1 < 1.0a1 : false
  711. 1.0pl1 le 1.0a1 : false
  712. 1.0pl1 <= 1.0a1 : false
  713. 1.0pl1 gt 1.0a1 : true
  714. 1.0pl1 > 1.0a1 : true
  715. 1.0pl1 ge 1.0a1 : true
  716. 1.0pl1 >= 1.0a1 : true
  717. 1.0pl1 eq 1.0a1 : false
  718. 1.0pl1 = 1.0a1 : false
  719. 1.0pl1 == 1.0a1 : false
  720. 1.0pl1 ne 1.0a1 : true
  721. 1.0pl1 <> 1.0a1 : true
  722. 1.0pl1 != 1.0a1 : true
  723. 1.0pl1 lt 1.0b1 : false
  724. 1.0pl1 < 1.0b1 : false
  725. 1.0pl1 le 1.0b1 : false
  726. 1.0pl1 <= 1.0b1 : false
  727. 1.0pl1 gt 1.0b1 : true
  728. 1.0pl1 > 1.0b1 : true
  729. 1.0pl1 ge 1.0b1 : true
  730. 1.0pl1 >= 1.0b1 : true
  731. 1.0pl1 eq 1.0b1 : false
  732. 1.0pl1 = 1.0b1 : false
  733. 1.0pl1 == 1.0b1 : false
  734. 1.0pl1 ne 1.0b1 : true
  735. 1.0pl1 <> 1.0b1 : true
  736. 1.0pl1 != 1.0b1 : true
  737. 1.0pl1 lt 1.0RC1 : false
  738. 1.0pl1 < 1.0RC1 : false
  739. 1.0pl1 le 1.0RC1 : false
  740. 1.0pl1 <= 1.0RC1 : false
  741. 1.0pl1 gt 1.0RC1 : true
  742. 1.0pl1 > 1.0RC1 : true
  743. 1.0pl1 ge 1.0RC1 : true
  744. 1.0pl1 >= 1.0RC1 : true
  745. 1.0pl1 eq 1.0RC1 : false
  746. 1.0pl1 = 1.0RC1 : false
  747. 1.0pl1 == 1.0RC1 : false
  748. 1.0pl1 ne 1.0RC1 : true
  749. 1.0pl1 <> 1.0RC1 : true
  750. 1.0pl1 != 1.0RC1 : true
  751. 1.0pl1 lt 1.0rc1 : false
  752. 1.0pl1 < 1.0rc1 : false
  753. 1.0pl1 le 1.0rc1 : false
  754. 1.0pl1 <= 1.0rc1 : false
  755. 1.0pl1 gt 1.0rc1 : true
  756. 1.0pl1 > 1.0rc1 : true
  757. 1.0pl1 ge 1.0rc1 : true
  758. 1.0pl1 >= 1.0rc1 : true
  759. 1.0pl1 eq 1.0rc1 : false
  760. 1.0pl1 = 1.0rc1 : false
  761. 1.0pl1 == 1.0rc1 : false
  762. 1.0pl1 ne 1.0rc1 : true
  763. 1.0pl1 <> 1.0rc1 : true
  764. 1.0pl1 != 1.0rc1 : true
  765. 1.0pl1 lt 1.0 : false
  766. 1.0pl1 < 1.0 : false
  767. 1.0pl1 le 1.0 : false
  768. 1.0pl1 <= 1.0 : false
  769. 1.0pl1 gt 1.0 : true
  770. 1.0pl1 > 1.0 : true
  771. 1.0pl1 ge 1.0 : true
  772. 1.0pl1 >= 1.0 : true
  773. 1.0pl1 eq 1.0 : false
  774. 1.0pl1 = 1.0 : false
  775. 1.0pl1 == 1.0 : false
  776. 1.0pl1 ne 1.0 : true
  777. 1.0pl1 <> 1.0 : true
  778. 1.0pl1 != 1.0 : true
  779. 1.0pl1 lt 1.0pl1 : false
  780. 1.0pl1 < 1.0pl1 : false
  781. 1.0pl1 le 1.0pl1 : true
  782. 1.0pl1 <= 1.0pl1 : true
  783. 1.0pl1 gt 1.0pl1 : false
  784. 1.0pl1 > 1.0pl1 : false
  785. 1.0pl1 ge 1.0pl1 : true
  786. 1.0pl1 >= 1.0pl1 : true
  787. 1.0pl1 eq 1.0pl1 : true
  788. 1.0pl1 = 1.0pl1 : true
  789. 1.0pl1 == 1.0pl1 : true
  790. 1.0pl1 ne 1.0pl1 : false
  791. 1.0pl1 <> 1.0pl1 : false
  792. 1.0pl1 != 1.0pl1 : false