def test_calculate_average_of_classroom(self): classroom = Classroom(self.teacher) classroom.add_student(jude) classroom.add_student(carlee) quiz_two = Quiz() for question in questions: quiz_two.add_question(question) for student in [jude, julia, carlee, earl]: assignment = self.teacher.assign(self.quiz, student) assignment.add_answer(question_one, 'Judo') assignment.add_answer(question_two, 80) assignment.add_answer(question_three, 'Renault') assignment.add_answer(question_four, 'Tennis') assignment.add_answer(question_five, 1986) assignment = self.teacher.assign(quiz_two, student) assignment.add_answer(question_one, 'Judo') assignment.add_answer(question_two, 80) assignment.add_answer(question_three, 'Renault') generator = self.teacher.calculate_average_of_classroom(classroom) self.assertCountEqual(list(generator), [{ 'Carlee Holloway': 8.0 }, { 'Jude Arroyo': 8.0 }])
def test_calculate_average_of_classroom_with_invalid_teacher(self): classroom = Classroom(Teacher('Selena Francis')) classroom.add_student(julia) error_message = 'This teacher can not correct for classroom of Selena Francis with 1 students' with self.assertRaises(BaseException) as context: self.teacher.calculate_average_of_classroom(classroom) self.assertTrue(error_message in str(context.exception))