/** * @depends testInit * @param IteratorDecoratorAbstract * @return IteratorDecoratorAbstract */ public function testSetPosition(IteratorDecoratorAbstract $iteratorObject) { $iteratorObject->setItemPosition(2); $this->assertEquals(2, $iteratorObject->getItemPosition()); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(2, $iteratorObject->key()); $this->assertEquals('item3', $iteratorObject->current()); $iteratorObject->setItemPosition(1); $this->assertEquals(1, $iteratorObject->getItemPosition()); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(1, $iteratorObject->key()); $this->assertEquals('item2', $iteratorObject->current()); $iteratorObject->setItemPosition(0); $this->assertEquals(0, $iteratorObject->getItemPosition()); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(0, $iteratorObject->key()); $this->assertEquals('item1', $iteratorObject->current()); $iteratorObject->setItemPosition(2); $this->assertEquals(2, $iteratorObject->getItemPosition()); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(2, $iteratorObject->key()); $this->assertEquals('item3', $iteratorObject->current()); $iteratorObject->setItemPosition(0); $this->assertEquals(0, $iteratorObject->getItemPosition()); $this->assertTrue($iteratorObject->valid()); $this->assertEquals(0, $iteratorObject->key()); $this->assertEquals('item1', $iteratorObject->current()); return $iteratorObject; }
/** * rewind to the first item * * @return void */ public function rewind() { parent::rewind(); if ($this->getItemOffset() > 0) { $this->setItemPosition($this->getItemOffset()); } }