/** * @param callable $filter * @return mixed */ public function first(callable $filter = null) { $items = $this->toArray(); return Arrays::first($items, $filter); }
/** * @dataProvider dataGroupsProvider * * @param $callbacks * @param $array * @param $expect */ public function testGroups($callbacks, $array, $expect) { $actual = Arrays::groups($array, $callbacks); $this->assertEquals($expect, $actual); $this->assertEquals(json_encode($expect), json_encode($actual)); }
/** * @dataProvider callbackDataProvider * * @param $method * @param $callback * @param $expect * @param $value * @param $key */ public function testCallbacks($method, $callback, $initial, $expect, $value, $key = null) { $actual = Arrays::reduce($value, $callback, $initial); $this->assertEquals($expect, $actual, $method); }