assertCount( 1, $iterator->getArrayCopy() ); foreach ( $iterator as $record ) { $this->assertEquals( 'Parent', $record->get_name() ); } $this->assertTrue( $iterator->hasChildren() ); $children = $iterator->getChildren(); $this->assertCount( 1, $children ); foreach ( $children as $record ) { $this->assertEquals( 'Child', $record->get_name() ); } return $iterator; } /** * @covers \Rarst\Laps\Record\Iterator\Timeline_Iterator * * @depends testRecord */ public function testTimeline( Recursive_Record_Iterator $iterator ) { $iterator = new Timeline_Iterator( $iterator ); $iterator->rewind(); $this->assertTrue( $iterator->valid() ); $records = $iterator->current(); $this->assertInternalType( 'array', $records ); $this->assertArrayHasKey( 'description', $records[0] ); $this->assertArrayHasKey( 'category', $records[0] ); $this->assertArrayHasKey( 'offset', $records[0] ); $this->assertArrayHasKey( 'width', $records[0] ); $iterator->next(); $this->assertTrue( $iterator->valid() ); $records = $iterator->current(); $this->assertInternalType( 'array', $records ); $iterator->next(); $this->assertFalse( $iterator->valid() ); } }