def test_upd_student(self): service = Service() service._student_repo._student_list = [] service.add_student(1, "S1") service.upd_student(1, "S2") self.assertEqual(service.students[0].name, "S2") with self.assertRaises(ExistenceError): service.upd_student(2, "S3")
def test_rem_student(self): service = Service() service._student_repo._student_list = [] service.add_student(1, "S1") service.rem_student(1) self.assertEqual(len(service.students), 0) with self.assertRaises(ExistenceError): service.rem_student(2)
def test_add_student(self): service = Service() service._student_repo._student_list = [] service.add_student(1, "S1") self.assertEqual(len(service.students), 1) self.assertEqual(service.students[0].sid, 1) self.assertEqual(service.students[0].name, "S1") with self.assertRaises(UniqueError): service.add_student(1, "S2")
def test_undo(self): service = Service() service._student_repo._student_list = [] service._discipline_repo._discipline_list = [] service._grade_repo._grade_list = [] with self.assertRaises(UndoBounds): service._undo_service.undo() service.add_student(1, "Name") service.add_discipline(10, "Name2") service.undo() self.assertEqual(len(service.disciplines), 0) service.redo() with self.assertRaises(UndoBounds): service.redo() self.assertEqual(len(service.disciplines), 1) service.undo() service.undo() service.redo() service.redo() self.assertEqual(len(service.students), 1) service.upd_student(1, "Ion") service.undo() self.assertEqual(service.students[0].name, "Name") service.upd_discipline(10, "Mate") service.undo() self.assertEqual(service.disciplines[0].name, "Name2") service.grade_student(1, 10, 2) service.undo() self.assertEqual(len(service._grade_repo.grades), 0) service.redo() self.assertEqual(len(service._grade_repo.grades), 1) service._student_repo._student_list = [] service._discipline_repo._discipline_list = [] service._grade_repo._grade_list = [] service.add_student(101, "ion") service.add_discipline(101, "mate2") service.grade_student(101, 101, 10) service.rem_student(101) self.assertEqual(len(service.grades), 0) service.undo() self.assertEqual(len(service.grades), 1) service.redo() self.assertEqual(len(service.grades), 0) service.undo() service.rem_discipline(101) self.assertEqual(len(service.grades), 0) service.undo() self.assertEqual(len(service.grades), 1) service.redo() self.assertEqual(len(service.grades), 0)
def test_grade_student(self): service = Service() service._student_repo._student_list = [] service._discipline_repo._discipline_list = [] service._grade_repo._grade_list = [] service.add_student(1, "S1") service.add_discipline(2, "D1") service.grade_student(1, 2, 10) self.assertEqual(len(service.grades), 1) self.assertEqual(service.grades[0], Grade(1, 2, 10)) self.assertEqual(len(service.list_grades_to_string()), len(service.grades)) with self.assertRaises(ExistenceError): service.grade_student(2, 2, 10) with self.assertRaises(ExistenceError): service.grade_student(1, 1, 10)
def test_statistics(self): service = Service() service._student_repo._student_list = [] service._discipline_repo._discipline_list = [] service._grade_repo._grade_list = [] service.add_student(1, "Name") service.add_discipline(10, "Name2") service.grade_student(1, 10, 2) self.assertEqual(service.rank_disciplines(), [[10, 2]]) self.assertEqual(service.rank_students(), [[1, 2]]) self.assertEqual(service.students_failing(), [[1, 10, 2]]) self.assertEqual(len(service.rank_disciplines()), len(service.rank_disciplines_to_string())) self.assertEqual(len(service.rank_students()), len(service.rank_students_to_string())) self.assertEqual(len(service.students_failing()), len(service.students_failing_to_string()))