Esempio n. 1
0
 def setUp(self):
     self.question_list = QuestionList()
Esempio n. 2
0
class TestQuestionList(unittest.TestCase):
    def setUp(self):
        self.question_list = QuestionList()

    def prepare_questions(self):
        questions_unsigned = []
        questions_signed = []
        for i in range(100):
            q_unsigned = Question(id=i, real_id=i, signed=False, question='This is question ' + str(i))
            questions_unsigned.append(q_unsigned)
        for i in range(100):
            q_signed = Question(id=i, real_id=i, signed=True, sign_name='TestSignName' + str(i),
                                question='This is question ' + str(i))
            questions_signed.append(q_signed)
        return questions_signed, questions_unsigned

    def prepare_answers(self):
        answers = []
        for i in range(4):
            answer = Answer(id=i, question_id=i, is_correct_answer=False, answer='This is answer ' + str(i))
            answers.append(answer)
        return answers

    def test_define_qty(self):
        defined5 = self.question_list.define_qty(5)
        defined10 = self.question_list.define_qty(10)
        defined20 = self.question_list.define_qty(20)
        defined30 = self.question_list.define_qty(30)
        defined35 = self.question_list.define_qty(35)
        defined40 = self.question_list.define_qty(40)
        self.assertTrue(defined5[0] == 1 and defined5[1] == 4)
        self.assertTrue(defined10[0] == 4 and defined10[1] == 6)
        self.assertTrue(defined20[0] == 7 and defined20[1] == 13)
        self.assertTrue(defined30[0] == 10 and defined30[1] == 20)
        self.assertTrue(defined35[0] == 11 and defined35[1] == 24)
        self.assertTrue(defined40[0] == 12 and defined40[1] == 28)

    def test_generate_random_numbers(self):
        count = 100
        qty = 10
        random_list = self.question_list.generate_random_numbers(count, qty)
        self.assertTrue(type(random_list) is list)
        self.assertEquals(len(random_list), 10)

    def test_get_questions(self):
        prepared_questions = self.prepare_questions()
        question_list = self.question_list.get_questions(20, (100, 100), prepared_questions)
        self.assertEquals(len(question_list), 20)
        self.assertIsInstance(question_list[10], Question)

    def test_create_json_from_questions(self):
        prepared_questions = self.prepare_questions()
        question_list = self.question_list.get_questions(10, (100, 100), prepared_questions)
        created_json = self.question_list.create_json_from_questions(question_list)
        self.assertIsInstance(created_json, dict)
        self.assertEquals(len(created_json['questions']), 10)

    def test_prepare_questions(self):
        prepared_questions = self.prepare_questions()
        question_list = self.question_list.get_questions(10, (100, 100), prepared_questions)
        answers_from_db = self.prepare_answers()
        question = self.question_list.prepare_questions(question_list[0], answers_from_db)
        self.assertEquals(len(question), 3)
        self.assertEquals(len(question['answers']), 4)
        self.assertEquals(question['answers'][2]['answer'], 'This is answer 2')
        self.assertEquals(question['answers'][2]['id'], 2)