1
0
mirror of https://github.com/php/php-src.git synced 2026-04-14 11:32:11 +02:00
Files
archived-php-src/ext/standard/tests/versioning/version_compare.phpt
Peter Kokot d679f02295 Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:33:09 +02:00

796 lines
20 KiB
PHP

--TEST--
version_compare test
--FILE--
<?php
print "TESTING COMPARE\n";
$special_forms = array("-dev", "a1", "b1", "RC1", "rc1", "", "pl1");
$operators = array(
"lt", "<",
"le", "<=",
"gt", ">",
"ge", ">=",
"eq", "=", "==",
"ne", "<>", "!="
);
test("1", "2");
test("10", "2");
test("1.0", "1.1");
test("1.2", "1.0.1");
foreach ($special_forms as $f1) {
foreach ($special_forms as $f2) {
test("1.0$f1", "1.0$f2");
}
}
print "TESTING OPERATORS\n";
foreach ($special_forms as $f1) {
foreach ($special_forms as $f2) {
foreach ($operators as $op) {
$v1 = "1.0$f1";
$v2 = "1.0$f2";
$test = version_compare($v1, $v2, $op) ? "true" : "false";
printf("%7s %2s %-7s : %s\n", $v1, $op, $v2, $test);
}
}
}
function test($v1, $v2) {
$compare = version_compare($v1, $v2);
switch ($compare) {
case -1:
print "$v1 < $v2\n";
break;
case 1:
print "$v1 > $v2\n";
break;
case 0:
default:
print "$v1 = $v2\n";
break;
}
}
?>
--EXPECT--
TESTING COMPARE
1 < 2
10 > 2
1.0 < 1.1
1.2 > 1.0.1
1.0-dev = 1.0-dev
1.0-dev < 1.0a1
1.0-dev < 1.0b1
1.0-dev < 1.0RC1
1.0-dev < 1.0rc1
1.0-dev < 1.0
1.0-dev < 1.0pl1
1.0a1 > 1.0-dev
1.0a1 = 1.0a1
1.0a1 < 1.0b1
1.0a1 < 1.0RC1
1.0a1 < 1.0rc1
1.0a1 < 1.0
1.0a1 < 1.0pl1
1.0b1 > 1.0-dev
1.0b1 > 1.0a1
1.0b1 = 1.0b1
1.0b1 < 1.0RC1
1.0b1 < 1.0rc1
1.0b1 < 1.0
1.0b1 < 1.0pl1
1.0RC1 > 1.0-dev
1.0RC1 > 1.0a1
1.0RC1 > 1.0b1
1.0RC1 = 1.0RC1
1.0RC1 = 1.0rc1
1.0RC1 < 1.0
1.0RC1 < 1.0pl1
1.0rc1 > 1.0-dev
1.0rc1 > 1.0a1
1.0rc1 > 1.0b1
1.0rc1 = 1.0RC1
1.0rc1 = 1.0rc1
1.0rc1 < 1.0
1.0rc1 < 1.0pl1
1.0 > 1.0-dev
1.0 > 1.0a1
1.0 > 1.0b1
1.0 > 1.0RC1
1.0 > 1.0rc1
1.0 = 1.0
1.0 < 1.0pl1
1.0pl1 > 1.0-dev
1.0pl1 > 1.0a1
1.0pl1 > 1.0b1
1.0pl1 > 1.0RC1
1.0pl1 > 1.0rc1
1.0pl1 > 1.0
1.0pl1 = 1.0pl1
TESTING OPERATORS
1.0-dev lt 1.0-dev : false
1.0-dev < 1.0-dev : false
1.0-dev le 1.0-dev : true
1.0-dev <= 1.0-dev : true
1.0-dev gt 1.0-dev : false
1.0-dev > 1.0-dev : false
1.0-dev ge 1.0-dev : true
1.0-dev >= 1.0-dev : true
1.0-dev eq 1.0-dev : true
1.0-dev = 1.0-dev : true
1.0-dev == 1.0-dev : true
1.0-dev ne 1.0-dev : false
1.0-dev <> 1.0-dev : false
1.0-dev != 1.0-dev : false
1.0-dev lt 1.0a1 : true
1.0-dev < 1.0a1 : true
1.0-dev le 1.0a1 : true
1.0-dev <= 1.0a1 : true
1.0-dev gt 1.0a1 : false
1.0-dev > 1.0a1 : false
1.0-dev ge 1.0a1 : false
1.0-dev >= 1.0a1 : false
1.0-dev eq 1.0a1 : false
1.0-dev = 1.0a1 : false
1.0-dev == 1.0a1 : false
1.0-dev ne 1.0a1 : true
1.0-dev <> 1.0a1 : true
1.0-dev != 1.0a1 : true
1.0-dev lt 1.0b1 : true
1.0-dev < 1.0b1 : true
1.0-dev le 1.0b1 : true
1.0-dev <= 1.0b1 : true
1.0-dev gt 1.0b1 : false
1.0-dev > 1.0b1 : false
1.0-dev ge 1.0b1 : false
1.0-dev >= 1.0b1 : false
1.0-dev eq 1.0b1 : false
1.0-dev = 1.0b1 : false
1.0-dev == 1.0b1 : false
1.0-dev ne 1.0b1 : true
1.0-dev <> 1.0b1 : true
1.0-dev != 1.0b1 : true
1.0-dev lt 1.0RC1 : true
1.0-dev < 1.0RC1 : true
1.0-dev le 1.0RC1 : true
1.0-dev <= 1.0RC1 : true
1.0-dev gt 1.0RC1 : false
1.0-dev > 1.0RC1 : false
1.0-dev ge 1.0RC1 : false
1.0-dev >= 1.0RC1 : false
1.0-dev eq 1.0RC1 : false
1.0-dev = 1.0RC1 : false
1.0-dev == 1.0RC1 : false
1.0-dev ne 1.0RC1 : true
1.0-dev <> 1.0RC1 : true
1.0-dev != 1.0RC1 : true
1.0-dev lt 1.0rc1 : true
1.0-dev < 1.0rc1 : true
1.0-dev le 1.0rc1 : true
1.0-dev <= 1.0rc1 : true
1.0-dev gt 1.0rc1 : false
1.0-dev > 1.0rc1 : false
1.0-dev ge 1.0rc1 : false
1.0-dev >= 1.0rc1 : false
1.0-dev eq 1.0rc1 : false
1.0-dev = 1.0rc1 : false
1.0-dev == 1.0rc1 : false
1.0-dev ne 1.0rc1 : true
1.0-dev <> 1.0rc1 : true
1.0-dev != 1.0rc1 : true
1.0-dev lt 1.0 : true
1.0-dev < 1.0 : true
1.0-dev le 1.0 : true
1.0-dev <= 1.0 : true
1.0-dev gt 1.0 : false
1.0-dev > 1.0 : false
1.0-dev ge 1.0 : false
1.0-dev >= 1.0 : false
1.0-dev eq 1.0 : false
1.0-dev = 1.0 : false
1.0-dev == 1.0 : false
1.0-dev ne 1.0 : true
1.0-dev <> 1.0 : true
1.0-dev != 1.0 : true
1.0-dev lt 1.0pl1 : true
1.0-dev < 1.0pl1 : true
1.0-dev le 1.0pl1 : true
1.0-dev <= 1.0pl1 : true
1.0-dev gt 1.0pl1 : false
1.0-dev > 1.0pl1 : false
1.0-dev ge 1.0pl1 : false
1.0-dev >= 1.0pl1 : false
1.0-dev eq 1.0pl1 : false
1.0-dev = 1.0pl1 : false
1.0-dev == 1.0pl1 : false
1.0-dev ne 1.0pl1 : true
1.0-dev <> 1.0pl1 : true
1.0-dev != 1.0pl1 : true
1.0a1 lt 1.0-dev : false
1.0a1 < 1.0-dev : false
1.0a1 le 1.0-dev : false
1.0a1 <= 1.0-dev : false
1.0a1 gt 1.0-dev : true
1.0a1 > 1.0-dev : true
1.0a1 ge 1.0-dev : true
1.0a1 >= 1.0-dev : true
1.0a1 eq 1.0-dev : false
1.0a1 = 1.0-dev : false
1.0a1 == 1.0-dev : false
1.0a1 ne 1.0-dev : true
1.0a1 <> 1.0-dev : true
1.0a1 != 1.0-dev : true
1.0a1 lt 1.0a1 : false
1.0a1 < 1.0a1 : false
1.0a1 le 1.0a1 : true
1.0a1 <= 1.0a1 : true
1.0a1 gt 1.0a1 : false
1.0a1 > 1.0a1 : false
1.0a1 ge 1.0a1 : true
1.0a1 >= 1.0a1 : true
1.0a1 eq 1.0a1 : true
1.0a1 = 1.0a1 : true
1.0a1 == 1.0a1 : true
1.0a1 ne 1.0a1 : false
1.0a1 <> 1.0a1 : false
1.0a1 != 1.0a1 : false
1.0a1 lt 1.0b1 : true
1.0a1 < 1.0b1 : true
1.0a1 le 1.0b1 : true
1.0a1 <= 1.0b1 : true
1.0a1 gt 1.0b1 : false
1.0a1 > 1.0b1 : false
1.0a1 ge 1.0b1 : false
1.0a1 >= 1.0b1 : false
1.0a1 eq 1.0b1 : false
1.0a1 = 1.0b1 : false
1.0a1 == 1.0b1 : false
1.0a1 ne 1.0b1 : true
1.0a1 <> 1.0b1 : true
1.0a1 != 1.0b1 : true
1.0a1 lt 1.0RC1 : true
1.0a1 < 1.0RC1 : true
1.0a1 le 1.0RC1 : true
1.0a1 <= 1.0RC1 : true
1.0a1 gt 1.0RC1 : false
1.0a1 > 1.0RC1 : false
1.0a1 ge 1.0RC1 : false
1.0a1 >= 1.0RC1 : false
1.0a1 eq 1.0RC1 : false
1.0a1 = 1.0RC1 : false
1.0a1 == 1.0RC1 : false
1.0a1 ne 1.0RC1 : true
1.0a1 <> 1.0RC1 : true
1.0a1 != 1.0RC1 : true
1.0a1 lt 1.0rc1 : true
1.0a1 < 1.0rc1 : true
1.0a1 le 1.0rc1 : true
1.0a1 <= 1.0rc1 : true
1.0a1 gt 1.0rc1 : false
1.0a1 > 1.0rc1 : false
1.0a1 ge 1.0rc1 : false
1.0a1 >= 1.0rc1 : false
1.0a1 eq 1.0rc1 : false
1.0a1 = 1.0rc1 : false
1.0a1 == 1.0rc1 : false
1.0a1 ne 1.0rc1 : true
1.0a1 <> 1.0rc1 : true
1.0a1 != 1.0rc1 : true
1.0a1 lt 1.0 : true
1.0a1 < 1.0 : true
1.0a1 le 1.0 : true
1.0a1 <= 1.0 : true
1.0a1 gt 1.0 : false
1.0a1 > 1.0 : false
1.0a1 ge 1.0 : false
1.0a1 >= 1.0 : false
1.0a1 eq 1.0 : false
1.0a1 = 1.0 : false
1.0a1 == 1.0 : false
1.0a1 ne 1.0 : true
1.0a1 <> 1.0 : true
1.0a1 != 1.0 : true
1.0a1 lt 1.0pl1 : true
1.0a1 < 1.0pl1 : true
1.0a1 le 1.0pl1 : true
1.0a1 <= 1.0pl1 : true
1.0a1 gt 1.0pl1 : false
1.0a1 > 1.0pl1 : false
1.0a1 ge 1.0pl1 : false
1.0a1 >= 1.0pl1 : false
1.0a1 eq 1.0pl1 : false
1.0a1 = 1.0pl1 : false
1.0a1 == 1.0pl1 : false
1.0a1 ne 1.0pl1 : true
1.0a1 <> 1.0pl1 : true
1.0a1 != 1.0pl1 : true
1.0b1 lt 1.0-dev : false
1.0b1 < 1.0-dev : false
1.0b1 le 1.0-dev : false
1.0b1 <= 1.0-dev : false
1.0b1 gt 1.0-dev : true
1.0b1 > 1.0-dev : true
1.0b1 ge 1.0-dev : true
1.0b1 >= 1.0-dev : true
1.0b1 eq 1.0-dev : false
1.0b1 = 1.0-dev : false
1.0b1 == 1.0-dev : false
1.0b1 ne 1.0-dev : true
1.0b1 <> 1.0-dev : true
1.0b1 != 1.0-dev : true
1.0b1 lt 1.0a1 : false
1.0b1 < 1.0a1 : false
1.0b1 le 1.0a1 : false
1.0b1 <= 1.0a1 : false
1.0b1 gt 1.0a1 : true
1.0b1 > 1.0a1 : true
1.0b1 ge 1.0a1 : true
1.0b1 >= 1.0a1 : true
1.0b1 eq 1.0a1 : false
1.0b1 = 1.0a1 : false
1.0b1 == 1.0a1 : false
1.0b1 ne 1.0a1 : true
1.0b1 <> 1.0a1 : true
1.0b1 != 1.0a1 : true
1.0b1 lt 1.0b1 : false
1.0b1 < 1.0b1 : false
1.0b1 le 1.0b1 : true
1.0b1 <= 1.0b1 : true
1.0b1 gt 1.0b1 : false
1.0b1 > 1.0b1 : false
1.0b1 ge 1.0b1 : true
1.0b1 >= 1.0b1 : true
1.0b1 eq 1.0b1 : true
1.0b1 = 1.0b1 : true
1.0b1 == 1.0b1 : true
1.0b1 ne 1.0b1 : false
1.0b1 <> 1.0b1 : false
1.0b1 != 1.0b1 : false
1.0b1 lt 1.0RC1 : true
1.0b1 < 1.0RC1 : true
1.0b1 le 1.0RC1 : true
1.0b1 <= 1.0RC1 : true
1.0b1 gt 1.0RC1 : false
1.0b1 > 1.0RC1 : false
1.0b1 ge 1.0RC1 : false
1.0b1 >= 1.0RC1 : false
1.0b1 eq 1.0RC1 : false
1.0b1 = 1.0RC1 : false
1.0b1 == 1.0RC1 : false
1.0b1 ne 1.0RC1 : true
1.0b1 <> 1.0RC1 : true
1.0b1 != 1.0RC1 : true
1.0b1 lt 1.0rc1 : true
1.0b1 < 1.0rc1 : true
1.0b1 le 1.0rc1 : true
1.0b1 <= 1.0rc1 : true
1.0b1 gt 1.0rc1 : false
1.0b1 > 1.0rc1 : false
1.0b1 ge 1.0rc1 : false
1.0b1 >= 1.0rc1 : false
1.0b1 eq 1.0rc1 : false
1.0b1 = 1.0rc1 : false
1.0b1 == 1.0rc1 : false
1.0b1 ne 1.0rc1 : true
1.0b1 <> 1.0rc1 : true
1.0b1 != 1.0rc1 : true
1.0b1 lt 1.0 : true
1.0b1 < 1.0 : true
1.0b1 le 1.0 : true
1.0b1 <= 1.0 : true
1.0b1 gt 1.0 : false
1.0b1 > 1.0 : false
1.0b1 ge 1.0 : false
1.0b1 >= 1.0 : false
1.0b1 eq 1.0 : false
1.0b1 = 1.0 : false
1.0b1 == 1.0 : false
1.0b1 ne 1.0 : true
1.0b1 <> 1.0 : true
1.0b1 != 1.0 : true
1.0b1 lt 1.0pl1 : true
1.0b1 < 1.0pl1 : true
1.0b1 le 1.0pl1 : true
1.0b1 <= 1.0pl1 : true
1.0b1 gt 1.0pl1 : false
1.0b1 > 1.0pl1 : false
1.0b1 ge 1.0pl1 : false
1.0b1 >= 1.0pl1 : false
1.0b1 eq 1.0pl1 : false
1.0b1 = 1.0pl1 : false
1.0b1 == 1.0pl1 : false
1.0b1 ne 1.0pl1 : true
1.0b1 <> 1.0pl1 : true
1.0b1 != 1.0pl1 : true
1.0RC1 lt 1.0-dev : false
1.0RC1 < 1.0-dev : false
1.0RC1 le 1.0-dev : false
1.0RC1 <= 1.0-dev : false
1.0RC1 gt 1.0-dev : true
1.0RC1 > 1.0-dev : true
1.0RC1 ge 1.0-dev : true
1.0RC1 >= 1.0-dev : true
1.0RC1 eq 1.0-dev : false
1.0RC1 = 1.0-dev : false
1.0RC1 == 1.0-dev : false
1.0RC1 ne 1.0-dev : true
1.0RC1 <> 1.0-dev : true
1.0RC1 != 1.0-dev : true
1.0RC1 lt 1.0a1 : false
1.0RC1 < 1.0a1 : false
1.0RC1 le 1.0a1 : false
1.0RC1 <= 1.0a1 : false
1.0RC1 gt 1.0a1 : true
1.0RC1 > 1.0a1 : true
1.0RC1 ge 1.0a1 : true
1.0RC1 >= 1.0a1 : true
1.0RC1 eq 1.0a1 : false
1.0RC1 = 1.0a1 : false
1.0RC1 == 1.0a1 : false
1.0RC1 ne 1.0a1 : true
1.0RC1 <> 1.0a1 : true
1.0RC1 != 1.0a1 : true
1.0RC1 lt 1.0b1 : false
1.0RC1 < 1.0b1 : false
1.0RC1 le 1.0b1 : false
1.0RC1 <= 1.0b1 : false
1.0RC1 gt 1.0b1 : true
1.0RC1 > 1.0b1 : true
1.0RC1 ge 1.0b1 : true
1.0RC1 >= 1.0b1 : true
1.0RC1 eq 1.0b1 : false
1.0RC1 = 1.0b1 : false
1.0RC1 == 1.0b1 : false
1.0RC1 ne 1.0b1 : true
1.0RC1 <> 1.0b1 : true
1.0RC1 != 1.0b1 : true
1.0RC1 lt 1.0RC1 : false
1.0RC1 < 1.0RC1 : false
1.0RC1 le 1.0RC1 : true
1.0RC1 <= 1.0RC1 : true
1.0RC1 gt 1.0RC1 : false
1.0RC1 > 1.0RC1 : false
1.0RC1 ge 1.0RC1 : true
1.0RC1 >= 1.0RC1 : true
1.0RC1 eq 1.0RC1 : true
1.0RC1 = 1.0RC1 : true
1.0RC1 == 1.0RC1 : true
1.0RC1 ne 1.0RC1 : false
1.0RC1 <> 1.0RC1 : false
1.0RC1 != 1.0RC1 : false
1.0RC1 lt 1.0rc1 : false
1.0RC1 < 1.0rc1 : false
1.0RC1 le 1.0rc1 : true
1.0RC1 <= 1.0rc1 : true
1.0RC1 gt 1.0rc1 : false
1.0RC1 > 1.0rc1 : false
1.0RC1 ge 1.0rc1 : true
1.0RC1 >= 1.0rc1 : true
1.0RC1 eq 1.0rc1 : true
1.0RC1 = 1.0rc1 : true
1.0RC1 == 1.0rc1 : true
1.0RC1 ne 1.0rc1 : false
1.0RC1 <> 1.0rc1 : false
1.0RC1 != 1.0rc1 : false
1.0RC1 lt 1.0 : true
1.0RC1 < 1.0 : true
1.0RC1 le 1.0 : true
1.0RC1 <= 1.0 : true
1.0RC1 gt 1.0 : false
1.0RC1 > 1.0 : false
1.0RC1 ge 1.0 : false
1.0RC1 >= 1.0 : false
1.0RC1 eq 1.0 : false
1.0RC1 = 1.0 : false
1.0RC1 == 1.0 : false
1.0RC1 ne 1.0 : true
1.0RC1 <> 1.0 : true
1.0RC1 != 1.0 : true
1.0RC1 lt 1.0pl1 : true
1.0RC1 < 1.0pl1 : true
1.0RC1 le 1.0pl1 : true
1.0RC1 <= 1.0pl1 : true
1.0RC1 gt 1.0pl1 : false
1.0RC1 > 1.0pl1 : false
1.0RC1 ge 1.0pl1 : false
1.0RC1 >= 1.0pl1 : false
1.0RC1 eq 1.0pl1 : false
1.0RC1 = 1.0pl1 : false
1.0RC1 == 1.0pl1 : false
1.0RC1 ne 1.0pl1 : true
1.0RC1 <> 1.0pl1 : true
1.0RC1 != 1.0pl1 : true
1.0rc1 lt 1.0-dev : false
1.0rc1 < 1.0-dev : false
1.0rc1 le 1.0-dev : false
1.0rc1 <= 1.0-dev : false
1.0rc1 gt 1.0-dev : true
1.0rc1 > 1.0-dev : true
1.0rc1 ge 1.0-dev : true
1.0rc1 >= 1.0-dev : true
1.0rc1 eq 1.0-dev : false
1.0rc1 = 1.0-dev : false
1.0rc1 == 1.0-dev : false
1.0rc1 ne 1.0-dev : true
1.0rc1 <> 1.0-dev : true
1.0rc1 != 1.0-dev : true
1.0rc1 lt 1.0a1 : false
1.0rc1 < 1.0a1 : false
1.0rc1 le 1.0a1 : false
1.0rc1 <= 1.0a1 : false
1.0rc1 gt 1.0a1 : true
1.0rc1 > 1.0a1 : true
1.0rc1 ge 1.0a1 : true
1.0rc1 >= 1.0a1 : true
1.0rc1 eq 1.0a1 : false
1.0rc1 = 1.0a1 : false
1.0rc1 == 1.0a1 : false
1.0rc1 ne 1.0a1 : true
1.0rc1 <> 1.0a1 : true
1.0rc1 != 1.0a1 : true
1.0rc1 lt 1.0b1 : false
1.0rc1 < 1.0b1 : false
1.0rc1 le 1.0b1 : false
1.0rc1 <= 1.0b1 : false
1.0rc1 gt 1.0b1 : true
1.0rc1 > 1.0b1 : true
1.0rc1 ge 1.0b1 : true
1.0rc1 >= 1.0b1 : true
1.0rc1 eq 1.0b1 : false
1.0rc1 = 1.0b1 : false
1.0rc1 == 1.0b1 : false
1.0rc1 ne 1.0b1 : true
1.0rc1 <> 1.0b1 : true
1.0rc1 != 1.0b1 : true
1.0rc1 lt 1.0RC1 : false
1.0rc1 < 1.0RC1 : false
1.0rc1 le 1.0RC1 : true
1.0rc1 <= 1.0RC1 : true
1.0rc1 gt 1.0RC1 : false
1.0rc1 > 1.0RC1 : false
1.0rc1 ge 1.0RC1 : true
1.0rc1 >= 1.0RC1 : true
1.0rc1 eq 1.0RC1 : true
1.0rc1 = 1.0RC1 : true
1.0rc1 == 1.0RC1 : true
1.0rc1 ne 1.0RC1 : false
1.0rc1 <> 1.0RC1 : false
1.0rc1 != 1.0RC1 : false
1.0rc1 lt 1.0rc1 : false
1.0rc1 < 1.0rc1 : false
1.0rc1 le 1.0rc1 : true
1.0rc1 <= 1.0rc1 : true
1.0rc1 gt 1.0rc1 : false
1.0rc1 > 1.0rc1 : false
1.0rc1 ge 1.0rc1 : true
1.0rc1 >= 1.0rc1 : true
1.0rc1 eq 1.0rc1 : true
1.0rc1 = 1.0rc1 : true
1.0rc1 == 1.0rc1 : true
1.0rc1 ne 1.0rc1 : false
1.0rc1 <> 1.0rc1 : false
1.0rc1 != 1.0rc1 : false
1.0rc1 lt 1.0 : true
1.0rc1 < 1.0 : true
1.0rc1 le 1.0 : true
1.0rc1 <= 1.0 : true
1.0rc1 gt 1.0 : false
1.0rc1 > 1.0 : false
1.0rc1 ge 1.0 : false
1.0rc1 >= 1.0 : false
1.0rc1 eq 1.0 : false
1.0rc1 = 1.0 : false
1.0rc1 == 1.0 : false
1.0rc1 ne 1.0 : true
1.0rc1 <> 1.0 : true
1.0rc1 != 1.0 : true
1.0rc1 lt 1.0pl1 : true
1.0rc1 < 1.0pl1 : true
1.0rc1 le 1.0pl1 : true
1.0rc1 <= 1.0pl1 : true
1.0rc1 gt 1.0pl1 : false
1.0rc1 > 1.0pl1 : false
1.0rc1 ge 1.0pl1 : false
1.0rc1 >= 1.0pl1 : false
1.0rc1 eq 1.0pl1 : false
1.0rc1 = 1.0pl1 : false
1.0rc1 == 1.0pl1 : false
1.0rc1 ne 1.0pl1 : true
1.0rc1 <> 1.0pl1 : true
1.0rc1 != 1.0pl1 : true
1.0 lt 1.0-dev : false
1.0 < 1.0-dev : false
1.0 le 1.0-dev : false
1.0 <= 1.0-dev : false
1.0 gt 1.0-dev : true
1.0 > 1.0-dev : true
1.0 ge 1.0-dev : true
1.0 >= 1.0-dev : true
1.0 eq 1.0-dev : false
1.0 = 1.0-dev : false
1.0 == 1.0-dev : false
1.0 ne 1.0-dev : true
1.0 <> 1.0-dev : true
1.0 != 1.0-dev : true
1.0 lt 1.0a1 : false
1.0 < 1.0a1 : false
1.0 le 1.0a1 : false
1.0 <= 1.0a1 : false
1.0 gt 1.0a1 : true
1.0 > 1.0a1 : true
1.0 ge 1.0a1 : true
1.0 >= 1.0a1 : true
1.0 eq 1.0a1 : false
1.0 = 1.0a1 : false
1.0 == 1.0a1 : false
1.0 ne 1.0a1 : true
1.0 <> 1.0a1 : true
1.0 != 1.0a1 : true
1.0 lt 1.0b1 : false
1.0 < 1.0b1 : false
1.0 le 1.0b1 : false
1.0 <= 1.0b1 : false
1.0 gt 1.0b1 : true
1.0 > 1.0b1 : true
1.0 ge 1.0b1 : true
1.0 >= 1.0b1 : true
1.0 eq 1.0b1 : false
1.0 = 1.0b1 : false
1.0 == 1.0b1 : false
1.0 ne 1.0b1 : true
1.0 <> 1.0b1 : true
1.0 != 1.0b1 : true
1.0 lt 1.0RC1 : false
1.0 < 1.0RC1 : false
1.0 le 1.0RC1 : false
1.0 <= 1.0RC1 : false
1.0 gt 1.0RC1 : true
1.0 > 1.0RC1 : true
1.0 ge 1.0RC1 : true
1.0 >= 1.0RC1 : true
1.0 eq 1.0RC1 : false
1.0 = 1.0RC1 : false
1.0 == 1.0RC1 : false
1.0 ne 1.0RC1 : true
1.0 <> 1.0RC1 : true
1.0 != 1.0RC1 : true
1.0 lt 1.0rc1 : false
1.0 < 1.0rc1 : false
1.0 le 1.0rc1 : false
1.0 <= 1.0rc1 : false
1.0 gt 1.0rc1 : true
1.0 > 1.0rc1 : true
1.0 ge 1.0rc1 : true
1.0 >= 1.0rc1 : true
1.0 eq 1.0rc1 : false
1.0 = 1.0rc1 : false
1.0 == 1.0rc1 : false
1.0 ne 1.0rc1 : true
1.0 <> 1.0rc1 : true
1.0 != 1.0rc1 : true
1.0 lt 1.0 : false
1.0 < 1.0 : false
1.0 le 1.0 : true
1.0 <= 1.0 : true
1.0 gt 1.0 : false
1.0 > 1.0 : false
1.0 ge 1.0 : true
1.0 >= 1.0 : true
1.0 eq 1.0 : true
1.0 = 1.0 : true
1.0 == 1.0 : true
1.0 ne 1.0 : false
1.0 <> 1.0 : false
1.0 != 1.0 : false
1.0 lt 1.0pl1 : true
1.0 < 1.0pl1 : true
1.0 le 1.0pl1 : true
1.0 <= 1.0pl1 : true
1.0 gt 1.0pl1 : false
1.0 > 1.0pl1 : false
1.0 ge 1.0pl1 : false
1.0 >= 1.0pl1 : false
1.0 eq 1.0pl1 : false
1.0 = 1.0pl1 : false
1.0 == 1.0pl1 : false
1.0 ne 1.0pl1 : true
1.0 <> 1.0pl1 : true
1.0 != 1.0pl1 : true
1.0pl1 lt 1.0-dev : false
1.0pl1 < 1.0-dev : false
1.0pl1 le 1.0-dev : false
1.0pl1 <= 1.0-dev : false
1.0pl1 gt 1.0-dev : true
1.0pl1 > 1.0-dev : true
1.0pl1 ge 1.0-dev : true
1.0pl1 >= 1.0-dev : true
1.0pl1 eq 1.0-dev : false
1.0pl1 = 1.0-dev : false
1.0pl1 == 1.0-dev : false
1.0pl1 ne 1.0-dev : true
1.0pl1 <> 1.0-dev : true
1.0pl1 != 1.0-dev : true
1.0pl1 lt 1.0a1 : false
1.0pl1 < 1.0a1 : false
1.0pl1 le 1.0a1 : false
1.0pl1 <= 1.0a1 : false
1.0pl1 gt 1.0a1 : true
1.0pl1 > 1.0a1 : true
1.0pl1 ge 1.0a1 : true
1.0pl1 >= 1.0a1 : true
1.0pl1 eq 1.0a1 : false
1.0pl1 = 1.0a1 : false
1.0pl1 == 1.0a1 : false
1.0pl1 ne 1.0a1 : true
1.0pl1 <> 1.0a1 : true
1.0pl1 != 1.0a1 : true
1.0pl1 lt 1.0b1 : false
1.0pl1 < 1.0b1 : false
1.0pl1 le 1.0b1 : false
1.0pl1 <= 1.0b1 : false
1.0pl1 gt 1.0b1 : true
1.0pl1 > 1.0b1 : true
1.0pl1 ge 1.0b1 : true
1.0pl1 >= 1.0b1 : true
1.0pl1 eq 1.0b1 : false
1.0pl1 = 1.0b1 : false
1.0pl1 == 1.0b1 : false
1.0pl1 ne 1.0b1 : true
1.0pl1 <> 1.0b1 : true
1.0pl1 != 1.0b1 : true
1.0pl1 lt 1.0RC1 : false
1.0pl1 < 1.0RC1 : false
1.0pl1 le 1.0RC1 : false
1.0pl1 <= 1.0RC1 : false
1.0pl1 gt 1.0RC1 : true
1.0pl1 > 1.0RC1 : true
1.0pl1 ge 1.0RC1 : true
1.0pl1 >= 1.0RC1 : true
1.0pl1 eq 1.0RC1 : false
1.0pl1 = 1.0RC1 : false
1.0pl1 == 1.0RC1 : false
1.0pl1 ne 1.0RC1 : true
1.0pl1 <> 1.0RC1 : true
1.0pl1 != 1.0RC1 : true
1.0pl1 lt 1.0rc1 : false
1.0pl1 < 1.0rc1 : false
1.0pl1 le 1.0rc1 : false
1.0pl1 <= 1.0rc1 : false
1.0pl1 gt 1.0rc1 : true
1.0pl1 > 1.0rc1 : true
1.0pl1 ge 1.0rc1 : true
1.0pl1 >= 1.0rc1 : true
1.0pl1 eq 1.0rc1 : false
1.0pl1 = 1.0rc1 : false
1.0pl1 == 1.0rc1 : false
1.0pl1 ne 1.0rc1 : true
1.0pl1 <> 1.0rc1 : true
1.0pl1 != 1.0rc1 : true
1.0pl1 lt 1.0 : false
1.0pl1 < 1.0 : false
1.0pl1 le 1.0 : false
1.0pl1 <= 1.0 : false
1.0pl1 gt 1.0 : true
1.0pl1 > 1.0 : true
1.0pl1 ge 1.0 : true
1.0pl1 >= 1.0 : true
1.0pl1 eq 1.0 : false
1.0pl1 = 1.0 : false
1.0pl1 == 1.0 : false
1.0pl1 ne 1.0 : true
1.0pl1 <> 1.0 : true
1.0pl1 != 1.0 : true
1.0pl1 lt 1.0pl1 : false
1.0pl1 < 1.0pl1 : false
1.0pl1 le 1.0pl1 : true
1.0pl1 <= 1.0pl1 : true
1.0pl1 gt 1.0pl1 : false
1.0pl1 > 1.0pl1 : false
1.0pl1 ge 1.0pl1 : true
1.0pl1 >= 1.0pl1 : true
1.0pl1 eq 1.0pl1 : true
1.0pl1 = 1.0pl1 : true
1.0pl1 == 1.0pl1 : true
1.0pl1 ne 1.0pl1 : false
1.0pl1 <> 1.0pl1 : false
1.0pl1 != 1.0pl1 : false