pastebin

Paste Search Dynamic
Recent pastes
CachingIterator basic
  1. <?php
  2.  
  3. /**
  4.  * Test: NetteIteratorsCachingIterator basic usage.
  5.  */
  6.  
  7. declare(strict_types=1);
  8.  
  9. use NetteIterators;
  10. use TesterAssert;
  11.  
  12.  
  13. require __DIR__ . '/../bootstrap.php';
  14.  
  15.  
  16. test('Two items in array', function () {
  17.         $arr = ['Nette', 'Framework'];
  18.  
  19.         $iterator = new IteratorsCachingIterator($arr);
  20.         $iterator->rewind();
  21.         assert::true($iterator->valid());
  22.         assert::true($iterator->isFirst());
  23.         assert::false($iterator->isLast());
  24.         assert::same(1, $iterator->getCounter());
  25.  
  26.         $iterator->next();
  27.         assert::true($iterator->valid());
  28.         assert::false($iterator->isFirst());
  29.         assert::true($iterator->isLast());
  30.         assert::same(2, $iterator->getCounter());
  31.  
  32.         $iterator->next();
  33.         assert::false($iterator->valid());
  34.  
  35.         $iterator->rewind();
  36.         assert::true($iterator->isFirst());
  37.         assert::false($iterator->isLast());
  38.         assert::same(1, $iterator->getCounter());
  39.         assert::false($iterator->isEmpty());
  40. });
  41.  
  42.  
  43. test('', function () {
  44.         $arr = ['Nette'];
  45.  
  46.         $iterator = new IteratorsCachingIterator($arr);
  47.         $iterator->rewind();
  48.         assert::true($iterator->valid());
  49.         assert::true($iterator->isFirst());
  50.         assert::true($iterator->isLast());
  51.         assert::same(1, $iterator->getCounter());
  52.  
  53.         $iterator->next();
  54.         assert::false($iterator->valid());
  55.  
  56.         $iterator->rewind();
  57.         assert::true($iterator->isFirst());
  58.         assert::true($iterator->isLast());
  59.         assert::same(1, $iterator->getCounter());
  60.         assert::false($iterator->isEmpty());
  61. });
  62.  
  63.  
  64. test('', function () {
  65.         $arr = [];
  66.  
  67.         $iterator = new IteratorsCachingIterator($arr);
  68.         $iterator->next();
  69.         $iterator->next();
  70.         assert::false($iterator->isFirst());
  71.         assert::true($iterator->isLast());
  72.         assert::same(0, $iterator->getCounter());
  73.         assert::true($iterator->isEmpty());
  74. });
Parsed in 0.086 seconds