public function test()
{
$fn = function ($v, $k, $collection) {
InvalidArgumentException::assertCollection($collection, __FUNCTION__, 3);
return $k . $v;
};
$this->assertSame(['0value', '1value'], map($this->list, $fn));
$this->assertSame(['0value', '1value'], map($this->listIterator, $fn));
$this->assertSame(['k1' => 'k1val1', 'k2' => 'k2val2'], map($this->hash, $fn));
$this->assertSame(['k1' => 'k1val1', 'k2' => 'k2val2'], map($this->hashIterator, $fn));
}