예제 #1
0
    def test_context_objective_assert_one(self):
        nota_esperada = 1

        Main_Quiz_1 = Quiz('Formulário sabidão!', [
            FactoryQuestion.create_multiple_choice_question(
                '2 + 2 = ', [
                    FactoryQuestion.create_objective_responses('2'),
                    FactoryQuestion.create_objective_responses('3'),
                    FactoryQuestion.create_objective_responses('4', True),
                    FactoryQuestion.create_objective_responses('5')
                ]),
            FactoryQuestion.create_multiple_choice_question(
                'Quem conquistou o Brasil', [
                    FactoryQuestion.create_objective_responses('Mc pedrinho'),
                    FactoryQuestion.create_objective_responses('Nego ney'),
                    FactoryQuestion.create_objective_responses(
                        'Pedro Alvares Cabra', True),
                    FactoryQuestion.create_objective_responses('Xup')
                ]),
        ])

        Main_Quiz_1.set_answer(1, 3)
        self.assertEqual(
            nota_esperada,
            Context(ConcreteStrategyEvaluatorObjectives(Main_Quiz_1)).start())
예제 #2
0
def test_quiz_with_valid_answer(question1, question2):
    questions = [question1, question2]
    quiz = Quiz(questions)
    quiz.answer(1, ['A'])
    quiz.answer(2, ['B'])
    print(quiz)
    grade = quiz.grade()
    print("Grade: {}".format(grade))
    assert grade == 100.0
예제 #3
0
    def manager(self):
        manager = Manager()

        conn = sqlite3.connect('data/database.db')
        cursor = conn.cursor()

        cursor.execute(
            'SELECT subject.id, name, question, correct_alternatives.texto, wrong_alternatives.texto FROM subject '
            'LEFT JOIN question ON subject.id = question.id_subject '
            'LEFT JOIN correct_alternatives ON question.id = correct_alternatives.id_question '
            'LEFT JOIN wrong_alternatives ON question.id = wrong_alternatives.id_question;')

        data = cursor.fetchall()

        for k in range(0, len(data), 12):
            questions = []
            for i in range(k, k + 12, 3):
                _, subject_name, question, correct_answer = data[i][:-1]
                alternatives = []
                for j in range(i, i + 3):
                    alternatives.append(data[j][-1])

                random.shuffle(alternatives)
                right_post = random.randint(0, 3)
                alternatives.insert(right_post, correct_answer)

                questions.append(Question(question, alternatives, right_post))

            subject_id = Generator()
            q = Quiz(subject_id, questions)
            manager.subjects[subject_id] = Subject(subject_id, data[k][1], q)

        return manager
예제 #4
0
def test_quiz_with_one_invalid_answer(question1, question2, question3):
    questions = [question1, question2, question3]
    quiz = Quiz(questions)
    quiz.answer(1, ['A'])
    quiz.answer(2, ['B'])
    quiz.answer(3, ['A'])
    print(quiz)
    grade = quiz.grade()
    print("Grade: {}".format(grade))
    assert grade == 66.67
예제 #5
0
    def test_context_objective_assert_all(self):
        lista_de_perguntas = [
            FactoryQuestion.create_multiple_choice_question(
                '2 + 2 = ', [
                    FactoryQuestion.create_objective_responses('2'),
                    FactoryQuestion.create_objective_responses('3'),
                    FactoryQuestion.create_objective_responses('4', True),
                    FactoryQuestion.create_objective_responses('5')
                ]),
            FactoryQuestion.create_multiple_choice_question(
                '5 + 5 = ', [
                    FactoryQuestion.create_objective_responses('10', True),
                    FactoryQuestion.create_objective_responses('10', True),
                    FactoryQuestion.create_objective_responses('10', True),
                    FactoryQuestion.create_objective_responses('10', True)
                ]),
            FactoryQuestion.create_multiple_choice_question(
                'Quem conquistou o Brasil', [
                    FactoryQuestion.create_objective_responses('Mc pedrinho'),
                    FactoryQuestion.create_objective_responses('Nego ney'),
                    FactoryQuestion.create_objective_responses(
                        'Pedro Alvares Cabral', True),
                    FactoryQuestion.create_objective_responses('Xup')
                ])
        ]

        Main_Quiz_1 = Quiz('Formulário sabidão!', lista_de_perguntas)

        Main_Quiz_1.set_answer(1, 3)
        Main_Quiz_1.set_answer(2, 1)
        Main_Quiz_1.set_answer(3, 3)

        self.assertEqual(
            len(Main_Quiz_1.list_of_question),
            Context(ConcreteStrategyEvaluatorObjectives(Main_Quiz_1)).start())
예제 #6
0
class TestQuiz(unittest.TestCase):
    name_quiz = 'Teste quiz'
    new_name_quiz = 'Quiz Teste'

    quiz = Quiz(name_quiz, [])

    def test_name_of_quiz(self):
        self.assertEqual(self.quiz.name, self.name_quiz)

    def test_set_name_quiz(self):
        self.quiz.name = self.new_name_quiz
        self.assertEqual(self.quiz.name, self.new_name_quiz)

    def test_finished(self):
        self.assertEqual(self.quiz.valid_is_finished(), True)
예제 #7
0
 def add_quiz(self, quiz_title):
     self.quiz_list[quiz_title] = Quiz(quiz_title)
예제 #8
0
 def assign_quiz(self, questions):
     for student in self.students:
         student.assign_quiz(self, Quiz(copy.deepcopy(questions)))
예제 #9
0
파일: main.py 프로젝트: Dayanfreitas/Quiz
#         self.sair.pack()

# root = Tk()
# Application(root)
# root.mainloop()

if __name__ == "__main__":
    Main_Quiz_1 = Quiz('Formulário sabichão!', [
        FactoryQuestion.create_multiple_choice_question(
            '2 + 2 = ', [
                FactoryQuestion.create_objective_responses('2', False),
                FactoryQuestion.create_objective_responses('3', False),
                FactoryQuestion.create_objective_responses('4', True),
                FactoryQuestion.create_objective_responses('5', False)
            ]),
        FactoryQuestion.create_multiple_choice_question(
            'Quem conquistou o Brasil', [
                FactoryQuestion.create_objective_responses(
                    'Mc pedrinho', False),
                FactoryQuestion.create_objective_responses('Nego ney', False),
                FactoryQuestion.create_objective_responses(
                    'Pedro Alvares Cabra', True),
                FactoryQuestion.create_objective_responses('Xup', False)
            ])
    ])

    Main_Quiz_2 = Quiz('Questionario de pessoas boas "!', [
        FactoryQuestion.create_multiple_choice_question(
            'Você encontra um morador de rua que te pede comida...', [
                FactoryQuestion.create_multiple_choice_answer(
                    'Pago um lanche para ele', 1),
                FactoryQuestion.create_multiple_choice_answer(