Mapper.phpt 612 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. /**
  3. * Test: Nette\Iterators\Mapper
  4. */
  5. declare(strict_types=1);
  6. use Nette\Iterators;
  7. use Tester\Assert;
  8. require __DIR__ . '/../bootstrap.php';
  9. $arr = [
  10. 'Nette' => 'Framework',
  11. 'David' => 'Grudl',
  12. ];
  13. $callback = fn($item, $key) => $key . ': ' . $item;
  14. $iterator = new Iterators\Mapper(new ArrayIterator($arr), $callback);
  15. $iterator->rewind();
  16. Assert::true($iterator->valid());
  17. Assert::same('Nette: Framework', $iterator->current());
  18. $iterator->next();
  19. Assert::true($iterator->valid());
  20. Assert::same('David: Grudl', $iterator->current());
  21. $iterator->next();
  22. Assert::false($iterator->valid());