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); }
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); }
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)); }