Esempio n. 1
0
 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)
     ])
Esempio n. 2
0
 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"
Esempio n. 3
0
    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
Esempio n. 4
0
 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()
Esempio n. 5
0
 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)
Esempio n. 6
0
    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
Esempio n. 7
0
 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!"
             )
Esempio n. 8
0
 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)])
Esempio n. 9
0
 def add_assignment(self, assignmentID, description, deadline):
     assignment = Assignment(assignmentID, description, deadline)
     self.__assignment_validator.validate_assignment(assignment)
     self.__assignment_repository.add(assignment)
Esempio n. 10
0
def initGrades():
    grdrepo.store(
        Grade("5", Assignment("10", "Spelling", "14.12"),
              Student("4", "Ioana", "915"), "6"))
Esempio n. 11
0
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"))