protected function buildComponentCollectionWithNonMergeableInteractionTypes()
 {
     $collection = new QtiComponentCollection();
     $choiceInteraction = ChoiceInteractionBuilder::buildSimple('testChoiceInteractionIdentifier', ['ChoiceOne' => 'A', 'ChoiceTwo' => 'B']);
     $collection->attach($choiceInteraction);
     return $collection;
 }
 protected function buildComponentCollectionWithRegularInteractionTypes()
 {
     $collection = new QtiComponentCollection();
     $choiceInteraction = ChoiceInteractionBuilder::buildSimple('testChoiceInteractionIdentifier', ['Choice 1' => 'A', 'Choice 2' => 'B']);
     $textEntryInteraction = new TextEntryInteraction('testTextEntryInteractionIdentifier');
     $collection->attach($choiceInteraction);
     $collection->attach($textEntryInteraction);
     return $collection;
 }
 public function testHasMinChoice()
 {
     $validResponseIdentifier = ['one', 'two'];
     $responseDeclaration = ResponseDeclarationBuilder::buildWithCorrectResponse('testIdentifier', $validResponseIdentifier);
     $responseProcessingTemplate = ResponseProcessingTemplate::matchCorrect();
     $optionsMap = ['one' => 'Label One', 'two' => 'Label Two', 'three' => 'Label Three'];
     $interaction = ChoiceInteractionBuilder::buildSimple('testIdentifier', $optionsMap);
     $interaction->setMinChoices(1);
     $interactionMapper = new ChoiceInteractionMapper($interaction, $responseDeclaration, $responseProcessingTemplate);
     $interactionMapper->getQuestionType();
     $this->assertTrue(count(LogService::read()) === 1);
 }