Example #1
0
 /** @test */
 public function it_can_reduce_a_collection_using_a_function()
 {
     $collection = new Collection([1, 2, 3, 4, 5]);
     $sum = $collection->reduce(function ($carry, $item) {
         $carry += $item;
         return $carry;
     });
     $this->assertEquals(15, $sum);
     $product = $collection->reduce(function ($carry, $item) {
         $carry *= $item;
         return $carry;
     }, 10);
     $this->assertEquals(1200, $product);
     $sum2 = $collection->reduce(function ($carry, $item) {
         $carry += $item;
         return $carry;
     }, 'No Data To Reduce');
     $this->assertEquals(15, $sum2);
 }