public function testThatMapReturnsANewDictionaryWithSameKeysButMappedValues(IOrderedMap $orderedMap, IIteratorScheme $scheme)
{
$orderedMap = $scheme->createOrderedMap($scheme->arrayIterator(range(1, 10)));
$mappedOrderedMap = $orderedMap->map(function () {
return null;
});
$this->assertSame(get_class($orderedMap), get_class($mappedOrderedMap));
$this->assertNotSame($orderedMap, $mappedOrderedMap);
$this->assertSame($orderedMap->keys(), $mappedOrderedMap->keys());
$this->assertSame(array_fill(0, 10, null), $mappedOrderedMap->values());
}