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
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())
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())
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
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
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)
def add_quiz(self, quiz_title): self.quiz_list[quiz_title] = Quiz(quiz_title)
def assign_quiz(self, questions): for student in self.students: student.assign_quiz(self, Quiz(copy.deepcopy(questions)))
# 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(