/**
* @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);
}