public function testCurrent() { $iterator = new tokenizer\iterator(); $this->assert->variable($iterator->current())->isNull(); $iterator->append($token1 = new tokenizer\token(uniqid())); $this->assert->object($iterator->current())->isIdenticalTo($token1)->variable($iterator->next()->current())->isNull(); $iterator->append($token2 = new tokenizer\token(uniqid())); $this->assert->object($iterator->current())->isIdenticalTo($token2)->variable($iterator->next()->current())->isNull(); $innerIterator = new tokenizer\iterator(); $innerIterator->append($token3 = new tokenizer\token(uniqid()))->append($token4 = new tokenizer\token(uniqid()))->append($token5 = new tokenizer\token(uniqid())); $iterator->append($innerIterator)->append($token6 = new tokenizer\token(uniqid())); $iterator->rewind(); $this->assert->object($iterator->current())->isIdenticalTo($token1)->object($iterator->next()->current())->isIdenticalTo($token2)->object($iterator->next()->current())->isIdenticalTo($token3)->object($iterator->next()->current())->isIdenticalTo($token4)->object($iterator->next()->current())->isIdenticalTo($token5)->object($iterator->next()->current())->isIdenticalTo($token6)->variable($iterator->next()->current())->isNull(); }