public function testMethodCaller()
{
$users = [new User('John', 18), new User('Jack', 20), new User('Sarah', 19)];
$this->assertEquals(['John', 'Jack', 'Sarah'], map(methodCaller('getName'), $users));
$this->assertEquals([18, 20, 19], map(methodCaller('getAge'), $users));
$this->assertEquals([21, 23, 22], map(methodCaller('getAgeIn', [3]), $users));
}