def test__add_assignment__validInput__addsAssignment(self): self.__assignment_repository.add(self.addValidInput) assignments = self.__assignment_repository.get_all_items() self.assertEqual(assignments, [ Assignment(1, "Test Assignment", 917), Assignment(2, "Assignment Test", 916), Assignment(3, "Le Assignment", 916) ])
def setUp(self): self.__assignment_repository = Repository() self.__assignment_repository.add(Assignment(1, "Test Assignment", 917)) self.__assignment_repository.add(Assignment(2, "Assignment Test", 916)) self.addValidInput = Assignment(3, "Le Assignment", 916) self.addInvalidInput = Assignment(1, "Le Assignment", "da") self.removeValidInput = Assignment(1, None, None) self.removeInvalidInput = Assignment(5, None, None) self.updateValidInput = Assignment(1, None, None) self.updateInvalidInput = Assignment(5, None, None) self.updateParameter = "New Assignment"
def update_assignment(self, assignmentID, update, dummy): searched_assignment = Assignment(assignmentID, None, None) assignment = self.__assignment_repository.search(searched_assignment) deadline = assignment.get_deadline() old_description = assignment.get_description() self.remove_assignment(assignmentID, None, None) self.__assignment_validator.validate_assignment(assignment) self.add_assignment(assignmentID, update, deadline) return old_description
def remove_assignment(self, assignmentID, dummy1, dummy2): assignment = Assignment(assignmentID, None, None) removed_assignment = self.__assignment_repository.search(assignment) self.__assignment_repository.remove(assignment) grades = self.__grade_repository.get_all_grades_assignment( assignmentID) for grade in grades: self.__grade_repository.remove(grade) return removed_assignment.get_id(), removed_assignment.get_description( ), removed_assignment.get_deadline()
def give_assignment(self, studentID, assignmentID, grade): check_grades = self.__grade_repository.get_all_grades_student( studentID) for grade in check_grades: if grade.get_assignmentID() == assignmentID: raise ValueError( "The student(s) already have that homework assigned!") grade = Grade(studentID, assignmentID, grade) student = Student(studentID, None, None) assignment = Assignment(assignmentID, None, None) self.__grade_validator.validate_grade( grade, self.__student_repository.check_existence(student), self.__assignment_repository.check_existence(assignment)) self.__grade_repository.add(grade)
def late_students(self): current_date = datetime.datetime.now() students = self.__student_repository.get_all_items() output = "" for student in students: grades = self.__grade_repository.get_all_grades_student( student.get_id()) for grade in grades: if grade.get_grade() == 0: assignmentID = grade.get_assignmentID() assignment_search = Assignment(assignmentID, None, None) assignment = self.__assignment_repository.search( assignment_search) if assignment.get_deadline() < current_date: output += "\nStudent ID '" + str(student.get_id( )) + "' is late handing the assignment " + str( assignment.get_id()) return output
def give_grade(self, studentID, assignmentID, grade): grade_to_give = Grade(studentID, assignmentID, grade) student = Student(studentID, None, None) assignment = Assignment(assignmentID, None, None) student_grades = self.__grade_repository.get_all_grades_student( studentID) for grade in student_grades: if grade.get_assignmentID() == assignmentID and grade.get_grade( ) == 0: self.__grade_repository.remove(grade) self.__grade_validator.validate_grade( grade_to_give, self.__student_repository.check_existence(student), self.__assignment_repository.check_existence(assignment)) self.__grade_repository.add(grade_to_give) return grade_to_give.get_studentID( ), grade_to_give.get_assignmentID(), grade_to_give.get_grade() else: raise ValueError( "The student doesn't have that homework or has already been given a grade!" )
def test__remove_assignment__validInput__removesAssignment(self): self.__assignment_repository.remove(self.removeValidInput) assignments = self.__assignment_repository.get_all_items() self.assertEqual(assignments, [Assignment(2, "Assignment Test", 916)])
def add_assignment(self, assignmentID, description, deadline): assignment = Assignment(assignmentID, description, deadline) self.__assignment_validator.validate_assignment(assignment) self.__assignment_repository.add(assignment)
def initGrades(): grdrepo.store( Grade("5", Assignment("10", "Spelling", "14.12"), Student("4", "Ioana", "915"), "6"))
def initAssignments(): assrepo.store(Assignment("7", "descriere 1", "5.6")) assrepo.store(Assignment("8", "descriere nr 2", "12.10")) assrepo.store(Assignment("9", "descriere 4", "13.12")) assrepo.store(Assignment("10", "Spelling", "14.12"))