public function testIterator()
 {
     $nodeData = array('alpha', 'alpha/a', 'alpha/a/b', 'alpha/a/b/c');
     $nodes = array();
     $c = new Collection();
     foreach ($nodeData as $path) {
         $n = new Node($path);
         $nodes[$path] = $n;
         $c->addNode($n);
     }
     $c->rewind();
     $this->assertEquals($nodes['alpha'], $c->current());
     $this->assertEquals('alpha', $c->key());
     $this->assertEquals(true, $c->valid());
     $c->next();
     $this->assertEquals($nodes['alpha/a'], $c->current());
     $this->assertEquals('alpha/a', $c->key());
     $this->assertEquals(true, $c->valid());
     $c->next();
     $this->assertEquals($nodes['alpha/a/b'], $c->current());
     $this->assertEquals('alpha/a/b', $c->key());
     $this->assertEquals(true, $c->valid());
     $c->next();
     $this->assertEquals($nodes['alpha/a/b/c'], $c->current());
     $this->assertEquals('alpha/a/b/c', $c->key());
     $this->assertEquals(true, $c->valid());
     $c->next();
     $this->assertEquals(false, $c->valid());
     $c->rewind();
     $this->assertEquals($nodes['alpha'], $c->current());
     $this->assertEquals('alpha', $c->key());
     $this->assertEquals(true, $c->valid());
 }
 public function key()
 {
     return $this->coll->key();
 }