def gradeAssig(self, assigID, studentID, grade): for i in self.__repoGrade: if assigID == Grade.get_assignmentID( i) and studentID == Grade.get_studentID(i): if Grade.get_grade(i) == 0: self.addGrade(assigID, studentID, grade) break else: raise GradingError("Assignment already graded!\n") else: raise GradingError("The given IDs do not match!\n")
def giveAssigGroup(self, assigID, group): gradeList = self.getAllGrades() self.__validatorGrade.vallidateID(assigID, gradeList) for student in self.__repoStudents: if group == Student.get_group(student): studentID = Student.get_id(student) grade = Grade(assigID, studentID, 0) self.__repoGrade.add(grade)
def __testStudentRemvoal(self): self.__gradeRepo.clear() self.__repository.clear() grade1 = Grade(6, 7, 0) grade2 = Grade(5, 7, 0) grade3 = Grade(4, 7, 9) grade4 = Grade(2, 7, 9) student = Student(7, 'Ion', 100) self.__gradeRepo.add(grade1) self.__gradeRepo.add(grade2) self.__gradeRepo.add(grade3) self.__gradeRepo.add(grade4) self.__repository.add(student) #print(*self.__repository) #print(*self.__gradeRepo) self.__controller.removeStudent(7) self.__gradeController.removeStudent(7) #print(*self.__repository) #print(*self.__gradeRepo) assert self.__gradeRepo == [] assert self.__repository == []
def __testGiveAssigGroup(self): assigID = 8 group = 917 #print(*self.__controller.getAllStudents()) grade = Grade(7, 8, 0) grade2 = Grade(8, 2, 0) grade3 = Grade(8, 3, 0) self.__controller.addStudent(2, 'Gigel', 917) self.__controller.addStudent(3, 'Marian', 917) self.__controller.addStudent(4, 'Bogdan', 910) self.__controller.addStudent(5, 'Ion', 912) self.__gradeController.giveAssigGroup(assigID, group) gradeList = self.__gradeController.getAllGrades() #print(grade,grade2,grade3) #print(*gradeList, sep = " ") assert self.__gradeController.getAllGrades() == [grade, grade2, grade3] try: self.__gradeController.giveAssigGroup(assigID, 910) assert False except ValidError as v: assert str(v) == "Assignment already given!"
def giveAssigStudent(self, assigID, studentID): ''' Function that gives an assignment to a student, if it has not already been given in:assigID, studentID-int out:repoGrade - list, with the newly added Assignemnt ''' grade = Grade(assigID, studentID, 0) self.__validatorGrade.validateIDs(grade) gradeList = self.getAllGrades() self.__validatorGrade.vallidateID(assigID, gradeList) self.__repoGrade.add(grade)
def __testGiveAssigStudent(self): grade = Grade(7, 8, 0) assert self.__gradeController.getAllGrades() == [] self.__gradeController.giveAssigStudent(7, 8) gradeList = self.__gradeController.getAllGrades() gradeList.append(grade) #print(*gradeList, sep = ", ") #print(grade) #assert gradeList == [grade] try: self.__gradeController.giveAssigStudent(7, 9) assert False except ValidError as v: assert str(v) == "Assignment already given!"
def __testGradeAssig(self): goodAssigID = 8 goodStudentID = 2 goodGrade = 9 badGrade1 = -9 badGrade2 = 0 self.__gradeRepo.clear() grade = Grade(goodAssigID, goodStudentID, 0) self.__gradeRepo.add(grade) try: self.__gradeController.gradeAssig(goodAssigID, goodStudentID, badGrade1) assert False except ValidError as g: assert str(g) == "Grade is invalid!\n" self.__gradeController.gradeAssig(goodAssigID, goodStudentID, goodGrade) try: self.__gradeController.gradeAssig(goodAssigID, goodStudentID, 8) assert False except GradingError as g: assert str(g) == "Assignment already graded!\n"
def addGrade(self, assigID, studentID, grade): gradeOBJ = Grade(assigID, studentID, grade) self.__validatorGrade.validateIDs(gradeOBJ) self.__validatorGrade.validateGrade(gradeOBJ) self.__repoGrade.update(gradeOBJ)
def removeAssig(self, ident): for i in self.__repoGrade[:]: if ident == Grade.get_assignmentID(i): self.__repoGrade.remove(i)
def removeStudent(self, ident): for i in self.__repoGrade[:]: if ident == Grade.get_studentID(i): self.__repoGrade.remove(i)
def showUngraded(self, studentID): for i in self.__repoGrade: if studentID == Grade.get_studentID(i): if Grade.get_grade(i) == 0: print(str(i))