public function testQueueAsArrayWithIndex()
{
$message = new Message();
$message->setText('Test 1');
$this->queue[] = $message;
$message = new Message();
$message->setText('Test 2');
$this->queue[] = $message;
$message = new Message();
$message->setText('Test 3');
$this->queue[] = $message;
$message = new Message();
$message->setText('Test 4');
$this->queue[] = $message;
$message = new Message();
$message->setText('Test 5');
$this->queue[] = $message;
$message = new Message();
$message->setText('Test 6');
$this->queue[] = $message;
$message = new Message();
$message->setText('There was a big fish');
$this->queue[1] = $message;
$message = new Message();
$message->setText('that sat on a cat');
$this->queue[3] = $message;
$message = new Message();
$message->setText('smoking Mr Dogs finest');
$this->queue[4] = $message;
$refObj = new \ReflectionObject($this->queue);
$refProp = $refObj->getProperty('container');
$refProp->setAccessible(true);
$queue = $refProp->getValue($this->queue);
$this->assertTrue(isset($queue[0]));
$this->assertFalse(isset($queue[1]));
$this->assertTrue(isset($queue[2]));
$this->assertFalse(isset($queue[3]));
$this->assertFalse(isset($queue[4]));
$this->assertTrue(isset($queue[5]));
$this->assertTrue(isset($queue[6]));
$this->assertTrue(isset($queue[7]));
$this->assertTrue(isset($queue[8]));
$this->assertEquals($queue[0]->getMessage(), 'Test 1');
$this->assertEquals($queue[2]->getMessage(), 'Test 3');
$this->assertEquals($queue[5]->getMessage(), 'Test 6');
$this->assertEquals($queue[6]->getMessage(), 'There was a big fish');
$this->assertEquals($queue[7]->getMessage(), 'that sat on a cat');
$this->assertEquals($queue[8]->getMessage(), 'smoking Mr Dogs finest');
}