rcrowe\Hippy\Tests\Queue\QueueInterfaceTest::testQueueAsArrayWithIndex PHP Method

testQueueAsArrayWithIndex() public method

Setting at an index just removes it and adds a new message to the end
    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');
    }