Exemple #1
0
     });
 });
 describe("->reduce()", function () {
     it("reduces a collection down to a single value", function () {
         $collection = new Collection(['data' => [1, 2, 3]]);
         $filter = function ($memo, $item) {
             return $memo + $item;
         };
         expect($collection->reduce($filter, 0))->toBe(6);
         expect($collection->reduce($filter, 1))->toBe(7);
     });
 });
 describe("->slice()", function () {
     it("extracts a slice of items", function () {
         $collection = new Collection(['data' => [1, 2, 3, 4, 5]]);
         $result = $collection->slice(2, 2);
         expect($result)->not->toBe($collection);
         expect($result->data())->toBe([3, 4]);
     });
 });
 describe("->sort()", function () {
     it("sorts a collection", function () {
         $collection = new Collection(['data' => [5, 3, 4, 1, 2]]);
         $result = $collection->sort();
         expect($result->data())->toBe([1, 2, 3, 4, 5]);
     });
     it("sorts a collection using a compare function", function () {
         $collection = new Collection(['data' => ['Alan', 'Dave', 'betsy', 'carl']]);
         $result = $collection->sort('strcasecmp');
         expect($result->data())->toBe(['Alan', 'betsy', 'carl', 'Dave']);
     });