2018-08-26 12:23:22 +00:00
|
|
|
--TEST--
|
|
|
|
Test Collection::sortBy(), Collection::sortByDescending(), Collection::sortedBy(), Collection::sortedByDescending().
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
$array = [];
|
2018-08-28 14:11:09 +00:00
|
|
|
for ($i = 0; $i < 4; ++$i) {
|
2018-09-12 05:50:26 +00:00
|
|
|
$array[random_bytes(2)] = [mt_rand(10, 99)];
|
2018-08-28 14:11:09 +00:00
|
|
|
}
|
2018-08-26 12:23:22 +00:00
|
|
|
|
|
|
|
$sort_by = function ($value) {
|
|
|
|
return strval($value[0]);
|
|
|
|
};
|
|
|
|
$sort_with = function ($v1, $v2) {
|
|
|
|
return $v1[0] - $v2[0];
|
|
|
|
};
|
|
|
|
$sort_with_descending = function ($v1, $v2) {
|
|
|
|
return $v2[0] - $v1[0];
|
|
|
|
};
|
|
|
|
|
|
|
|
$collection = Collection::init($array);
|
|
|
|
$collection->sortBy($sort_by);
|
|
|
|
$array1 = $array;
|
|
|
|
usort($array1, $sort_with);
|
2018-08-28 14:11:09 +00:00
|
|
|
if ($array1 != $collection->toArray()) {
|
2018-08-26 12:23:22 +00:00
|
|
|
echo 'Collection::sortBy() failed.', PHP_EOL;
|
2018-08-28 14:11:09 +00:00
|
|
|
}
|
2018-08-26 12:23:22 +00:00
|
|
|
|
|
|
|
$collection = Collection::init($array);
|
|
|
|
$collection->sortByDescending($sort_by);
|
|
|
|
$array1 = $array;
|
|
|
|
usort($array1, $sort_with_descending);
|
2018-08-28 14:11:09 +00:00
|
|
|
if ($array1 != $collection->toArray()) {
|
2018-08-26 12:23:22 +00:00
|
|
|
echo 'Collection::sortByDescending() failed.', PHP_EOL;
|
2018-08-28 14:11:09 +00:00
|
|
|
}
|
2018-08-26 12:23:22 +00:00
|
|
|
|
|
|
|
$collection = Collection::init($array);
|
|
|
|
$array1 = $array;
|
|
|
|
usort($array1, $sort_with);
|
2018-08-28 14:11:09 +00:00
|
|
|
if ($array1 != $collection->sortedBy($sort_by)->toArray()) {
|
2018-08-26 12:23:22 +00:00
|
|
|
echo 'Collection::sortedBy() failed.', PHP_EOL;
|
2018-08-28 14:11:09 +00:00
|
|
|
}
|
2018-08-26 12:23:22 +00:00
|
|
|
|
|
|
|
$collection = Collection::init($array);
|
|
|
|
$array1 = $array;
|
|
|
|
usort($array1, $sort_with_descending);
|
2018-08-28 14:11:09 +00:00
|
|
|
if ($array1 != $collection->sortedByDescending($sort_by)->toArray()) {
|
2018-08-26 12:23:22 +00:00
|
|
|
echo 'Collection::sortedByDescending() failed.', PHP_EOL;
|
2018-08-28 14:11:09 +00:00
|
|
|
}
|
2018-08-26 12:23:22 +00:00
|
|
|
?>
|
|
|
|
--EXPECT--
|