Exemplo n.º 1
0
 /**
  * @test
  */
 public function nextExerciseWorks()
 {
     $quiz = new Quiz();
     $exercise1 = new Exercise();
     $exercise1->setTitle('firstExercise');
     $quiz->addExercise($exercise1);
     $exercise2 = new Exercise();
     $exercise2->setTitle('secondExercise');
     $quiz->addExercise($exercise2);
     $nextExercise = $quiz->findNextExercise($exercise1);
     $this->assertSame('secondExercise', $nextExercise->getTitle());
     $nullExercise = $quiz->findNextExercise($exercise2);
     $this->assertSame(false, $nullExercise);
 }
Exemplo n.º 2
0
 /**
  * @param string $goto
  * @param \_OurBrand_\Quiz\Domain\Model\Quiz $quiz
  * @param \_OurBrand_\Quiz\Domain\Model\Exercise $exercise
  */
 public function previewNavigateAction($goto, $quiz, $exercise = null)
 {
     if ($quiz->getExercises()->count() == 0 || $exercise == null) {
         $this->redirect('previewstart', 'quiz', null, array('quiz' => $quiz));
     }
     if ($goto == "next" && !is_null($exercise)) {
         $exercise = $quiz->findNextExercise($exercise);
     } elseif ($goto == "prev" && !is_null($exercise)) {
         $exercise = $quiz->findPrevExercise($exercise);
     } elseif (is_numeric($goto)) {
         $exercises = $quiz->getExercises();
         $exercise = $exercises[$goto];
     }
     $this->redirect('preview', 'exercise', null, array('exercise' => $exercise));
 }