/**
  * @param Survey $survey
  */
 private function reset(Survey $survey = null)
 {
     unset($this->session[self::SESSION_KEY]);
     //Lets create and add to the session
     $this->surveyState = new SurveyState();
     if (!is_null($survey)) {
         $this->surveyState->setSurvey($survey);
         $this->surveyState->setSurveyExecutionState(SurveyExecutionState::InProgress());
     }
     $this->session[self::SESSION_KEY] = $this->surveyState;
     //var_dump($this->session[self::SESSION_KEY]);
 }
Esempio n. 2
0
 function testSurveyState()
 {
     $questionStub = $this->getMock('sarhan\\survey\\SurveyQuestion');
     $surveyStub = $this->getMock("sarhan\\survey\\Survey");
     $surveyStub->expects($this->any())->method('getQuestions')->will($this->returnValue(array($questionStub, $questionStub, $questionStub)));
     $questionStub->expects($this->any())->method("getType")->will($this->returnValue(QuestionType::YesNo()));
     $this->assertEquals(array($questionStub, $questionStub, $questionStub), $surveyStub->getQuestions());
     $s = new SurveyState();
     $s->setSurvey($surveyStub);
     $this->assertFalse($s->hasId());
     $s->setId("foobar");
     $this->assertTrue($s->hasId());
     $s->setQuestionIndex(0);
     $q = $s->getQuestion();
     $this->assertNotNull($q);
     $s->setQuestionIndex(3);
     $q = $s->getQuestion();
     $this->assertNull($q);
 }