def setUp(self): self.__DisciplineRepo = Repository(DisciplineValidator()) d1 = Discipline(1, "mate", "prof mate") d2 = Discipline(2, "info", "prof info") self.__DisciplineRepo.add_item(d1) self.__DisciplineRepo.add_item(d2) self.__Dctrl = DisciplineController(self.__DisciplineRepo) self.__StudentRepo = Repository(StudentValidator()) s1 = Student(3, "Ion") s2 = Student(2, "Maria") s3 = Student(1, "Ionica") self.__StudentRepo.add_item(s1) self.__StudentRepo.add_item(s2) self.__StudentRepo.add_item(s3) self.__Sctrl = StudentController(self.__StudentRepo) self.__repo = Repository(StudentDisciplineValidator()) sd = Student_Discipline(1, s1.get_student_id(), d1.get_discipline_id(), 6) self.__repo.add_item(sd) sd = Student_Discipline(2, s2.get_student_id(), d2.get_discipline_id(), 8) self.__repo.add_item(sd) sd = Student_Discipline(4, s3.get_student_id(), d2.get_discipline_id(), 3) self.__repo.add_item(sd) self.__ctrl = StudentDisciplineController(self.__StudentRepo, self.__DisciplineRepo, self.__repo)
def assign_grades_student(self, student_discipline_id, student_id, discipline_id, grade): st_di = Student_Discipline(student_discipline_id, student_id, discipline_id, grade) try: self.__student_discipline_repo.add_item(st_di) return st_di except ValidatorError as ve: raise StoreError(ex=ve)
def test_validate(self): sv = StudentValidator() dv = DisciplineValidator() sdv = StudentDisciplineValidator() s = Student(1, "s1") d = Discipline(1, "d1", "p1") d1s1 = Student_Discipline(10,s.get_student_id() , d.get_discipline_id(),5) try: sv.validate(s) dv.validate(d) sdv.validate(d1s1) assert True except ValidatorError: assert False sv = StudentValidator() dv = DisciplineValidator() sdv = StudentDisciplineValidator() s = Student(1, "") d = Discipline(1, "", "") d1s1 = Student_Discipline(2, s.get_student_id() ,d.get_discipline_id(),5) try: sv.validate(s) dv.validate(d) sdv.validate(d1s1) assert False except ValidatorError: assert True sv = StudentValidator() dv = DisciplineValidator() sdv = StudentDisciplineValidator() s = Student(1, "s1") d = Discipline(1, "d1", "p1") d1s1 = Student_Discipline(3, s.get_student_id() ,d.get_discipline_id(),-5) try: sv.validate(s) dv.validate(d) sdv.validate(d1s1) assert False except ValidatorError: assert True
def __load_students_disciplines(self): try: with open(self.__file_name) as f: for line in f: try: arr = line.split(",") p = Student_Discipline(int(arr[0]), int(arr[1]), int(arr[2]), int(arr[3])) self.add_item(p) except Exception as ex: raise RepositoryError("Corrupted file", ex) except Exception as ex: raise RepositoryError("Error opening file " + self.__file_name, ex)
def student_grade_change(self, Id, new_grade): student_discipline = self.__student_discipline_repo.find_by_id(Id) student_id = student_discipline.get_student_id() discipline_id = student_discipline.get_discipline_id() st_di = Student_Discipline(Id, student_id, discipline_id, new_grade) try: self.__student_discipline_repo.update(st_di) return st_di except ValidatorError as ve: raise StoreError(ex=ve)
def test_create(self): s1d1 = Student_Discipline(2, 1, 3, 5) assert s1d1.get_student_discipline_id() == 2 assert s1d1.get_student_id() == 1 assert( s1d1.get_discipline_id() == 3) assert s1d1.get_grade() == 5