public function testArrayAccessImplementor() { $data = array('1' => 'One', '2' => 'Two', '3' => 'Three'); $collection = new Collection($data); $this->assertTrue($collection->valid()); $this->assertFalse($collection->isEmpty()); $this->assertEquals(3, $collection->count()); $this->assertEquals('One', $collection->current()); $collection->next(); $this->assertEquals('Two', $collection->current()); $this->assertEquals('2', $collection->key()); $collection->rewind(); $this->assertEquals('1', $collection->key()); $this->assertEquals('One', $collection->current()); $collection->ksortDesc(); $this->assertEquals('3', $collection->key()); $collection->ksortAsc(); $this->assertEquals('1', $collection->key()); $this->assertEquals('Three', $collection->last()); $collection->end(); $this->assertEquals('Three', $collection->current()); }