Beispiel #1
0
 def __storeToFile(self):
     f = open(self.__fName, "w")
     gradeList = GradeRepository.getAll(self)
     for grade in gradeList:
         gradeStr = grade.getStudent().getId() + ";" + grade.getDiscipline() + ";" + str(grade.getGradeValue()) + "\n"
         f.write(gradeStr)
     f.close()
 def testListFirst5(self):
     stRep = StudentRepository()
     stctr = StudentController(StudentValidator(), stRep)
     stctr.create("1", "Ion", "Cluj", "Gherla", "Turzii")
     stctr.create("2", "Ion2", "Cluj", "Gherla", "Turzii")
     stctr.create("3", "Ion3", "Cluj", "Gherla", "Turzii")
     stctr.create("4", "Ion4", "Cluj", "Gherla", "Turzii")
     stctr.create("5", "Ion5", "Cluj", "Gherla", "Turzii")
     stctr.create("6", "Ion6", "Cluj", "Gherla", "Turzii")
 
     ctr = GradeController(GradeRepository(), GradeValidator(), stRep)
     ctr.assign("1", "FP", 2)
     ctr.assign("2", "FP", 7)
     ctr.assign("3", "FP", 8)
     ctr.assign("4", "FP", 10)
     ctr.assign("5", "FP", 6)
     ctr.assign("6", "FP", 9)
 
     stgrs = ctr.getTop5("FP")
     self.assertEqual(len(stgrs) , 5)
     self.assertEqual(stgrs[0].getStudentId() , "4")
     self.assertEqual(stgrs[1].getStudentId() , "6")
     self.assertEqual(stgrs[2].getStudentId() , "3")
     self.assertEqual(stgrs[3].getStudentId() , "2")
     self.assertEqual(stgrs[4].getStudentId() , "5")
 def testAssignGrade(self):
     stRep = StudentRepository()
     stctr = StudentController(StudentValidator(), stRep)
     stctr.create("1", "Ion", "Cluj", "Turda", "Addrr8")
     ctr = GradeController(GradeRepository(), GradeValidator(), stRep)
 
     gr = ctr.assign("1", "FP", 10)
     self.assertEqual(gr.getDiscipline() , "FP")
     self.assertEqual(gr.getGradeValue() , 10)
     self.assertEqual(gr.getStudent().getId() , "1")
     self.assertEqual(gr.getStudent().getName() , "Ion")
    def testStoreGrade(self):
        st = Student("1", "Ion", Address("Adr", 1, "Cluj"))
        rep = GradeRepository()
        self.assertEqual(rep.size(), 0)

        gr1 = Grade(st, "FP", 9.5)
        rep.store(gr1)
        self.assertEqual(rep.size(), 1)
        gr2 = rep.find(st, "FP")
        self.assertEqual(gr2, gr1)

        gr1 = Grade(st, "FP", 9)
        try:
            rep.store(gr1)
            self.assertTrue(False)
        except GradeAlreadyAssignedException:
            pass
 def testListGrade(self):
     stRep = StudentRepository()
     stctr = StudentController(StudentValidator(), stRep)
     stctr.create("1", "Ion", "Adr", 1, "Cluj")
 
     ctr = GradeController(GradeRepository(), GradeValidator(), stRep)
     gr = ctr.assign("1", "FP", 10)
     grs = ctr.listGrades("1")
     self.assertEqual(len(grs) , 1)
     gr = ctr.assign("1", "SO", 10)
     grs = ctr.listGrades("1")
     self.assertEqual(len(grs) , 2)
Beispiel #6
0
    def __loadFromFile(self):
        try:
            f = open(self.__fName, "r")
        except IOError:
            raise FileRepositoryException()

        line = f.readline().strip()
        while line != "":
            attrs = line.split(";")

            '''
                First find the student with the given ID
            '''            
            student = self.__studentRepo.find(attrs[0])
            
            '''
                Create the Grade object
            '''
            newGrade = Grade(student, attrs[1], int(attrs[2]))
            GradeRepository.store(self, newGrade)
            line = f.readline().strip()
        f.close()
    def testGetStudentGrades(self):
        rep = GradeRepository()

        st = Student("1", "Ion", Address("Adr", 1, "Cluj"))
        gr = Grade(st, "FP", 10)
        rep.store(gr)
        gr = Grade(st, "SO", 9.5)
        rep.store(gr)

        studentGrades = rep.getAllForDisc("FP")
        self.assertEqual(len(studentGrades), 1)
        self.assertEqual(studentGrades[0].getStudentId(), "1")
        self.assertEqual(studentGrades[0].getGradeValue(), 10)
        self.assertEqual(studentGrades[0].getDiscipline(), "FP")

        st = Student("2", "Ionel", Address("Adr2", 22, "Cluj"))
        gr = Grade(st, "SO", 9.5)
        rep.store(gr)
        studentGrades = rep.getAllForDisc("SO")
        self.assertEqual(len(studentGrades), 2)
        self.assertEqual(studentGrades[0].getStudentId(), "1")
        self.assertEqual(studentGrades[1].getStudentId(), "2")
 def testGetGrades(self):
     st = Student("1", "Ion", Address("Adr", 1, "Cluj"))
     gr = Grade(st, "FP", 10)
     rep = GradeRepository()
     rep.store(gr)
     gr = Grade(st, "SO", 9.5)
     rep.store(gr)
     grades = rep.getAll(st)
     self.assertEqual(grades[0].getStudent(), st)
     self.assertEqual(grades[0].getGradeValue(), 10)
     self.assertEqual(grades[0].getDiscipline(), "FP")
Beispiel #9
0
 def store(self, grade):
     GradeRepository.store(self, grade)
     self.__storeToFile()
Beispiel #10
0
 def __init__(self, studentRepo, fileName="grades.txt"):
     GradeRepository.__init__(self)
     self.__studentRepo = studentRepo
     self.__fName = fileName
     self.__loadFromFile()