/** * @test */ public function shouldReduceAnArray() { //given $array = array('$id', '$name', '$phone'); //when $reduced = Arrays::reduce($array, function ($result, $element) { if ($result == null) { $result .= 'isset(' . $element . ') && '; } else { $result .= ' && isset(' . $element . ')'; } return rtrim($result, '&& '); }); //then $this->assertEquals('isset($id) && isset($name) && isset($phone)', $reduced); }