예제 #1
0
 def test_upd_discipline(self):
     service = Service()
     service._discipline_repo._discipline_list = []
     service.add_discipline(1, "D1")
     service.upd_discipline(1, "D2")
     self.assertEqual(service.disciplines[0].name, "D2")
     with self.assertRaises(ExistenceError):
         service.upd_discipline(2, "D3")
예제 #2
0
 def test_rem_discipline(self):
     service = Service()
     service._discipline_repo._discipline_list = []
     service.add_discipline(1, "D1")
     service.rem_discipline(1)
     self.assertEqual(len(service.disciplines), 0)
     with self.assertRaises(ExistenceError):
         service.rem_discipline(2)
예제 #3
0
 def test_add_discipline(self):
     service = Service()
     service._discipline_repo._discipline_list = []
     service.add_discipline(1, "D1")
     self.assertEqual(len(service.disciplines), 1)
     self.assertEqual(service.disciplines[0].did, 1)
     self.assertEqual(service.disciplines[0].name, "D1")
     with self.assertRaises(UniqueError):
         service.add_discipline(1, "D2")
예제 #4
0
 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)
예제 #5
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)
예제 #6
0
 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()))