public function test_getItemsWithShuffle_shouldReturnItemsAddedShuffled() { // Arrange require_once './Modules/TestQuestionPool/classes/class.assClozeGap.php'; $instance = new assClozeGap(0); // 0 - text gap $instance->setShuffle(true); require_once './Modules/TestQuestionPool/classes/class.assAnswerCloze.php'; $item1 = new assAnswerCloze('Bert', 1.0, 0); $item2 = new assAnswerCloze('Fred', 1.0, 1); $item3 = new assAnswerCloze('Karl', 1.0, 2); $item4 = new assAnswerCloze('Esther', 1.0, 3); $expected = array($item1, $item2, $item3, $item4); // Act $instance->addItem($item1); $instance->addItem($item2); $instance->addItem($item3); $instance->addItem($item4); $actual = $instance->getItems(); // Assert $this->assertTrue(is_array($actual)); $this->assertTrue(in_array($item1, $actual)); $this->assertTrue(in_array($item2, $actual)); $this->assertTrue(in_array($item3, $actual)); $this->assertTrue(in_array($item4, $actual)); $this->assertNotEquals($expected, $actual); }