/** * @depends testInit * @param IteratorDecoratorAbstract * @return IteratorDecoratorAbstract */ public function testNext(IteratorDecoratorAbstract $iteratorObject) { $this->assertTrue($iteratorObject->hasNext()); $iteratorObject->next(); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(1, $iteratorObject->key()); $this->assertEquals('item2', $iteratorObject->current()); $this->assertTrue($iteratorObject->hasNext()); $iteratorObject->next(); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(2, $iteratorObject->key()); $this->assertEquals('item3', $iteratorObject->current()); $this->assertFalse($iteratorObject->hasNext()); return $iteratorObject; }
/** * return true if iterator has a next items * * @return bool has next item */ public function hasNext() { if (parent::hasNext() && $this->getItemPosition() < $this->getItemOffset() + $this->getItemCount() - 1) { return true; } return false; }