示例#1
0
 def test_get_hint_if_not_started(self, questions_provider):
     questions_list = self.generate_questions_list()
     questions_provider.get_questions.return_value = questions_list
     quest = Quest(questions_provider)
     quest.is_started = False
     quest.current_question_number = 2
     messages_list = quest.get_hint()
     self.assertEqual(len(messages_list), 1)
     self.assertEqual(messages_list[0].text, quest.messages['quest_not_started'])
     self.assertEqual(messages_list[0].as_reply, False)
示例#2
0
 def test_start_quest_if_already_started(self, questions_provider):
     questions_list = self.generate_questions_list()
     questions_provider.get_questions.return_value = questions_list
     quest = Quest(questions_provider)
     quest.is_started = True
     quest.current_question_number = 2
     messages_list = quest.start_quest()
     self.assertEqual(quest.is_started, True)
     self.assertEqual(quest.get_current_question(), questions_provider.get_questions()[2])
     self.assertEqual(quest.current_question_number, 2)
     self.assertEqual(len(messages_list), 1)
     self.assertEqual(messages_list[0].text, quest.messages['quest_already_started'])
     self.assertEqual(messages_list[0].as_reply, False)
示例#3
0
 def test_assess_answer_if_not_started_incorrect_answer(self, questions_provider):
     questions_list = self.generate_questions_list()
     q2 = questions_list[1]
     q2.assess_answer.return_value = (False, q2.fail_message)
     questions_provider.get_questions.return_value = questions_list
     quest = Quest(questions_provider)
     quest.is_started = False
     quest.current_question_number = 1
     
     messages_list = quest.assess_answer(questions_list[1].answer + 'abc')
     
     self.assertEqual(len(messages_list), 1)
     self.assertEqual(messages_list[0].text, quest.messages['quest_not_started'])
     self.assertEqual(messages_list[0].as_reply, True)
示例#4
0
 def test_get_current_question_if_started(self, questions_provider):
     questions_list = self.generate_questions_list()
     q3 = questions_list[2]
     q3.get_question.return_value = q3.text
     questions_provider.get_questions.return_value = questions_list
     quest = Quest(questions_provider)
     quest.is_started = True
     quest.current_question_number = 2
     messages_list = quest.get_question_text()
     self.assertEqual(quest.get_current_question(), questions_list[2])
     self.assertEqual(quest.current_question_number, 2)
     self.assertEqual(len(messages_list), 2)
     self.assertEqual(messages_list[0].text, 'Question 3 of 3')
     self.assertEqual(messages_list[0].as_reply, False)
     self.assertEqual(messages_list[1].text, questions_list[2].get_question())
     self.assertEqual(messages_list[1].as_reply, False)
示例#5
0
 def test_assess_answer_if_started_correct_answer_last_question(self, questions_provider):
     questions_list = self.generate_questions_list()
     q3 = questions_list[2]
     q3.assess_answer.return_value = (True, q3.success_message)
     questions_provider.get_questions.return_value = questions_list
     quest = Quest(questions_provider)
     quest.is_started = True
     quest.current_question_number = 2
     
     messages_list = quest.assess_answer(questions_list[2].answer)
     
     self.assertEqual(len(messages_list), 3)
     self.assertEqual(messages_list[0].text, questions_list[2].success_message)
     self.assertEqual(messages_list[0].as_reply, True)
     self.assertEqual(messages_list[1].text, quest.messages['correct_answer'])
     self.assertEqual(messages_list[1].as_reply, True)
     self.assertEqual(messages_list[2].text, quest.messages['finish'])
     self.assertEqual(messages_list[2].as_reply, False)
     self.assertEqual(quest.is_started, False)
示例#6
0
 def test_assess_answer_if_started_correct_answer(self, questions_provider):
     questions_list = self.generate_questions_list()
     q2 = questions_list[1]
     q2.assess_answer.return_value = (True, q2.success_message)
     questions_provider.get_questions.return_value = questions_list
     quest = Quest(questions_provider)
     quest.is_started = True
     quest.current_question_number = 1
     
     messages_list = quest.assess_answer(questions_list[1].answer)
     
     self.assertEqual(quest.get_current_question(), questions_list[2])
     self.assertEqual(quest.current_question_number, 2)
     self.assertEqual(len(messages_list), 4)
     self.assertEqual(messages_list[0].text, questions_list[1].success_message)
     self.assertEqual(messages_list[0].as_reply, True)
     self.assertEqual(messages_list[1].text, quest.messages['correct_answer'])
     self.assertEqual(messages_list[1].as_reply, True)
     self.assertEqual(messages_list[2].text, 'Question 3 of 3')
     self.assertEqual(messages_list[2].as_reply, False)
     self.assertEqual(messages_list[3].text, questions_list[2].get_question())
     self.assertEqual(messages_list[3].as_reply, False)