public function testCompare()
 {
     // Using the default comparator.
     $array0 = a("a", "b", "c");
     $array1 = a("a", "b", "c");
     $this->assertTrue($array0->compare($array1) == 0);
     $array0 = a("a", "b", "c");
     $array1 = a("d", "e", "f");
     $this->assertTrue($array0->compare($array1) < 0);
     $array0 = a("d", "e", "f");
     $array1 = a("a", "e", "f");
     $this->assertTrue($array0->compare($array1) > 0);
     $array0 = a("a", "b");
     $array1 = a("a", "b", "c");
     $this->assertTrue($array0->compare($array1) < 0);
     $array0 = a(1, 2, 3);
     $array1 = a(1, 2, 3);
     $this->assertTrue($array0->compare($array1) == 0);
     $array0 = a(1, 2, 3);
     $array1 = a(4, 5, 6);
     $this->assertTrue($array0->compare($array1) < 0);
     $array0 = a(4, 5, 6);
     $array1 = a(3, 5, 6);
     $this->assertTrue($array0->compare($array1) > 0);
     $array0 = a(1.2, 3.4, 5.6);
     $array1 = a(1.2, 3.4, 5.6);
     $this->assertTrue($array0->compare($array1) == 0);
     $array0 = a(u("a"), u("b"), u("c"));
     $array1 = a(u("a"), u("b"), u("c"));
     $this->assertTrue($array0->compare($array1) == 0);
     // Using a custom comparator.
     $array0 = a("a", "b", "c");
     $array1 = a("A", "B", "C");
     $comparator = function ($string0, $string1) {
         return $string0->toLowerCase()->equals($string1->toLowerCase()) ? 0 : -1;
     };
     $this->assertTrue($array0->compare($array1, $comparator) == 0);
     $array0 = a(1, 3, 5);
     $array1 = a(2, 4, 6);
     $comparator = function ($value0, $value1) {
         return CMathi::isOdd($value0) && CMathi::isEven($value1) ? 1 : -1;
     };
     $this->assertTrue($array0->compare($array1, $comparator) > 0);
 }
Example #2
0
 public function testCompare()
 {
     // Using the default comparator.
     $array0 = CArray::fromElements("a", "b", "c");
     $array1 = CArray::fromElements("a", "b", "c");
     $this->assertTrue(CArray::compare($array0, $array1) == 0);
     $array0 = CArray::fromElements("a", "b", "c");
     $array1 = CArray::fromElements("d", "e", "f");
     $this->assertTrue(CArray::compare($array0, $array1) < 0);
     $array0 = CArray::fromElements("d", "e", "f");
     $array1 = CArray::fromElements("a", "e", "f");
     $this->assertTrue(CArray::compare($array0, $array1) > 0);
     $array0 = CArray::fromElements("a", "b");
     $array1 = CArray::fromElements("a", "b", "c");
     $this->assertTrue(CArray::compare($array0, $array1) < 0);
     $array0 = CArray::fromElements(1, 2, 3);
     $array1 = CArray::fromElements(1, 2, 3);
     $this->assertTrue(CArray::compare($array0, $array1) == 0);
     $array0 = CArray::fromElements(1, 2, 3);
     $array1 = CArray::fromElements(4, 5, 6);
     $this->assertTrue(CArray::compare($array0, $array1) < 0);
     $array0 = CArray::fromElements(4, 5, 6);
     $array1 = CArray::fromElements(3, 5, 6);
     $this->assertTrue(CArray::compare($array0, $array1) > 0);
     $array0 = CArray::fromElements(1.2, 3.4, 5.6);
     $array1 = CArray::fromElements(1.2, 3.4, 5.6);
     $this->assertTrue(CArray::compare($array0, $array1) == 0);
     $array0 = CArray::fromElements("a", "b", "c");
     $array1 = CArray::fromElements(u("a"), u("b"), u("c"));
     $this->assertTrue(CArray::compare($array0, $array1) == 0);
     // Using a custom comparator.
     $array0 = CArray::fromElements("a", "b", "c");
     $array1 = CArray::fromElements("A", "B", "C");
     $comparator = function ($string0, $string1) {
         return CString::toLowerCase($string0) === CString::toLowerCase($string1) ? 0 : -1;
     };
     $this->assertTrue(CArray::compare($array0, $array1, $comparator) == 0);
     $array0 = CArray::fromElements(1, 3, 5);
     $array1 = CArray::fromElements(2, 4, 6);
     $comparator = function ($value0, $value1) {
         return CMathi::isOdd($value0) && CMathi::isEven($value1) ? 1 : -1;
     };
     $this->assertTrue(CArray::compare($array0, $array1, $comparator) > 0);
 }
Example #3
0
 public function testIsOdd()
 {
     $this->assertTrue(CMathi::isOdd(1));
     $this->assertTrue(CMathi::isOdd(3));
     $this->assertTrue(CMathi::isOdd(-5));
     $this->assertFalse(CMathi::isOdd(2));
     $this->assertFalse(CMathi::isOdd(4));
     $this->assertFalse(CMathi::isOdd(-6));
     $this->assertFalse(CMathi::isOdd(0));
     $this->assertTrue(CMathi::isOdd(1.01));
     $this->assertTrue(CMathi::isOdd(3.01));
     $this->assertFalse(CMathi::isOdd(2.01));
     $this->assertFalse(CMathi::isOdd(4.01));
 }