public function testSortOn() { $array = CArray::fromElements(new ClassForSorting("d"), new ClassForSorting("e"), new ClassForSorting("a"), new ClassForSorting("c"), new ClassForSorting("b")); CArray::sortOn($array, "value", CComparator::ORDER_ASC); $this->assertTrue($array[0]->value() === "a" && $array[1]->value() === "b" && $array[2]->value() === "c" && $array[3]->value() === "d" && $array[4]->value() === "e"); $array = CArray::fromElements(new ClassForSorting(5), new ClassForSorting(2), new ClassForSorting(1), new ClassForSorting(3), new ClassForSorting(4)); CArray::sortOn($array, "value", CComparator::ORDER_ASC); $this->assertTrue($array[0]->value() == 1 && $array[1]->value() == 2 && $array[2]->value() == 3 && $array[3]->value() == 4 && $array[4]->value() == 5); $array = CArray::fromElements(new ClassForSorting(u("d")), new ClassForSorting(u("e")), new ClassForSorting(u("a")), new ClassForSorting(u("c")), new ClassForSorting(u("b"))); CArray::sortOn($array, "value", CComparator::ORDER_ASC); $this->assertTrue(CUString::equals($array[0]->value(), "a") && CUString::equals($array[1]->value(), "b") && CUString::equals($array[2]->value(), "c") && CUString::equals($array[3]->value(), "d") && CUString::equals($array[4]->value(), "e")); }
public function testSplit() { // ASCII. $res = CRegex::split("He,llo;th,ere!", "/[,;]/"); $this->assertTrue(CArray::length($res) == 4 && CString::equals($res[0], "He") && CString::equals($res[1], "llo") && CString::equals($res[2], "th") && CString::equals($res[3], "ere!")); $res = CRegex::split("He,llo;th.ere!", CArray::fromElements("/[,;]/", "/\\./")); $this->assertTrue(CArray::length($res) == 4 && CString::equals($res[0], "He") && CString::equals($res[1], "llo") && CString::equals($res[2], "th") && CString::equals($res[3], "ere!")); // Special cases. $res = CRegex::split("", "/[,;]/"); $this->assertTrue(CArray::length($res) == 1 && CString::equals($res[0], "")); $res = CRegex::split("Hey", "//"); $this->assertTrue(CArray::length($res) == 3 && CString::equals($res[0], "H") && CString::equals($res[1], "e") && CString::equals($res[2], "y")); $res = CRegex::split("", "//"); $this->assertTrue(CArray::length($res) == 1 && CString::equals($res[0], "")); // Unicode. $res = CRegex::split("¡He,llo·se,ñor!", "/[,·]/u"); $this->assertTrue(CArray::length($res) == 4 && CUString::equals($res[0], "¡He") && CUString::equals($res[1], "llo") && CUString::equals($res[2], "se") && CUString::equals($res[3], "ñor!")); $res = CRegex::split("¡He,llo·se.ñor!", CArray::fromElements("/[,·]/u", "/\\./u")); $this->assertTrue(CArray::length($res) == 4 && CUString::equals($res[0], "¡He") && CUString::equals($res[1], "llo") && CUString::equals($res[2], "se") && CUString::equals($res[3], "ñor!")); // Special cases. $res = CRegex::split("", "/[,·]/u"); $this->assertTrue(CArray::length($res) == 1 && CUString::equals($res[0], "")); $res = CRegex::split("Héy", "//u"); $this->assertTrue(CArray::length($res) == 3 && CUString::equals($res[0], "H") && CUString::equals($res[1], "é") && CUString::equals($res[2], "y")); $res = CRegex::split("", "//u"); $this->assertTrue(CArray::length($res) == 1 && CUString::equals($res[0], "")); }
/** * Determines if a string is equal to another string, comparing case-sensitively. * * @param string $toString The second string for comparison. * @param bitfield $collationFlags **OPTIONAL. Default is** `COLLATION_DEFAULT`. The collation option(s) to be * used for the comparison. The available collation options are `COLLATION_IGNORE_ACCENTS`, * `COLLATION_IGNORE_NONWORD`, `COLLATION_UPPERCASE_FIRST`, and `COLLATION_FRENCH` (see [Summary](#summary)). * * @return bool `true` if the two strings are equal, taking into account the letter case of the characters, and * `false` otherwise. */ public function equals($toString, $collationFlags = self::COLLATION_DEFAULT) { return CUString::equals($this, $toString, $collationFlags); }