コード例 #1
0
 /**
  * @see ExerciseControllerInterface::updateAction();
  * @param \_OurBrand_\Quiz\Domain\Model\Exercises\MatchSequenceExercise $exercise
  * @return void
  */
 public function updateAction($exercise)
 {
     $phrases = array();
     if ($this->request->hasArgument('phrase')) {
         $phrases = $this->request->getArgument('phrase');
     }
     $exercise->setPhrasesFromArray($phrases);
     $exercise->randomize();
     if (!$this->request->hasArgument('json')) {
         $this->forward('update', 'exercise', null, array('exercise' => $exercise));
     }
     $this->forward('updateSilent', 'exercise', null, array('exercise' => $exercise, 'json' => $this->request->getArgument('json')));
 }
コード例 #2
0
 /**
  * @dataProvider setRandomizeDataProvider
  * @param array $originalPhrases
  */
 public function testPreOrderAnswers($originalPhrases)
 {
     $exercise = new MatchSequenceExercise();
     $this->assertNull($exercise->setPhrasesFromArray($originalPhrases));
     $exercise->randomize();
     $phrases = $exercise->getPhrases();
     $answers = $exercise->getPreorderedAnswers();
     // testing that phrases from getPreorderedAnswers in sorting orders
     foreach ($phrases as $phrase) {
         $this->assertSame($answers[$phrase->getSorting()], $phrase->getPhrase());
     }
     $i = 0;
     // testing that getPreorderedAnswers generate array exactly in index order (I mean, used ksort())
     foreach ($answers as $key => $value) {
         $this->assertSame($i++, $key);
     }
 }