1--TEST--
2Test < operator : different types
3--FILE--
4<?php
5$valid_true = array(1, "1", "true", 1.0, array(1));
6$valid_false = array(0, "", 0.0, array(), NULL);
7
8$int1 = 677;
9$int2 = -67837;
10$valid_int1 = array("678", "678abc", " 678", "678  ", 678.0, 6.789E2, "+678", +678);
11$valid_int2 = array("-67836", "-67836abc", " -67836", "-67836  ", -67835.0001, -6.78351E4);
12$invalid_int1 = array(676, "676");
13$invalid_int2 = array(-67837, "-67837");
14
15$float1 = 57385.45835;
16$float2 = -67345.76567;
17$valid_float1 = array("57385.45836",  "57385.45836aaa", "  57385.45836", 5.738545836e4);
18$valid_float2 = array("-67345.76566", "-67345.76566aaa", "  -67345.76566", -6.734576566E4);
19$invalid_float1 = array(57385.45835, 5.738545835e4);
20$invalid_float2 = array(-67345.76567, -6.734576567E4);
21
22
23$toCompare = array(
24  false, $valid_true, $valid_false,
25  $int1, $valid_int1, $invalid_int1,
26  $int2, $valid_int2, $invalid_int2,
27  $float1, $valid_float1, $invalid_float1,
28  $float2, $valid_float2, $invalid_float2
29);
30
31$failed = false;
32for ($i = 0; $i < count($toCompare); $i +=3) {
33   $typeToTest = $toCompare[$i];
34   $valid_compares = $toCompare[$i + 1];
35   $invalid_compares = $toCompare[$i + 2];
36
37   foreach($valid_compares as $compareVal) {
38      if ($typeToTest < $compareVal) {
39         // do nothing
40      }
41      else {
42         echo "FAILED: '$typeToTest' >= '$compareVal'\n";
43         $failed = true;
44      }
45   }
46
47   foreach($invalid_compares as $compareVal) {
48      if ($typeToTest < $compareVal) {
49         echo "FAILED: '$typeToTest' < '$compareVal'\n";
50         $failed = true;
51      }
52   }
53
54}
55if ($failed == false) {
56   echo "Test Passed\n";
57}
58?>
59===DONE===
60--EXPECT--
61Test Passed
62===DONE===