This repository has been archived on 2020-03-30. You can view files and clone it, but cannot push or open issues or pull requests.
2018-09-06 02:30:18 +00:00
|
|
|
--TEST--
|
|
|
|
Test Collection::sum() and Collection::sumBy().
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
$array = [];
|
|
|
|
for ($i = 0; $i < 50; ++$i) {
|
2018-09-12 05:50:26 +00:00
|
|
|
$array[] = mt_rand(1, 50);
|
2018-09-06 02:30:18 +00:00
|
|
|
}
|
|
|
|
$collection = Collection::init($array);
|
|
|
|
$sum = array_sum($array);
|
|
|
|
if ($collection->sum() != $sum) {
|
|
|
|
echo 'Collection::sum() failed.', PHP_EOL;
|
|
|
|
}
|
|
|
|
$array = array_map(function ($value) {
|
2018-09-12 05:50:26 +00:00
|
|
|
return [$value, floatval($value / mt_rand(3, 7))];
|
2018-09-06 02:30:18 +00:00
|
|
|
}, $array);
|
|
|
|
$collection = Collection::init($array);
|
|
|
|
$sum = array_sum(array_column($array, 1));
|
|
|
|
$sum_by = function ($value) {
|
|
|
|
return $value[1];
|
|
|
|
};
|
|
|
|
if ($collection->sumBy($sum_by) != $sum) {
|
|
|
|
echo 'Collection::sumBy() failed.', PHP_EOL;
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
--EXPECT--
|