Beispiel #1
0
def test_updateMark():
    st1 = Student("Ana", 21, 0)
    st2 = Student("Ion", 14, 1)

    pb1 = LabProblem("01_01", "fa ceva", 3)
    pb2 = LabProblem("06_10", "altceva", 5)

    mrk_repo = MarkInMemoryRepository()

    mrk1 = Mark(st1, pb1, 10)
    mrk_repo.addMark(mrk1)
    mrk2 = Mark(st1, pb2, 6)
    mrk_repo.addMark(mrk2)
    mrk3 = Mark(st2, pb2, 9)
    mrk_repo.addMark(mrk3)

    mrk_new = Mark(st1, pb1, 7)
    mrk_repo.updateMark(mrk_new)
    assert mrk_repo.getMarkById(mrk_new.getId()).getMark() == 7

    mrk_new = Mark(st2, pb2, 9)
    mrk_repo.updateMark(mrk_new)
    assert mrk_repo.getMarkById(mrk_new.getId()).getMark() == 9

    mrk_new = Mark(st1, pb2, 8)
    mrk_repo.updateMark(mrk_new)
    assert mrk_repo.getMarkById(mrk_new.getId()).getMark() == 8

    mrk_new = Mark(st1, pb1, 5)
    mrk_repo.updateMark(mrk_new)
    assert mrk_repo.getMarkById(mrk_new.getId()).getMark() == 5
Beispiel #2
0
class TestCaseMarkClass(unittest.TestCase):
    def setUp(self):
        self.st1 = Student("ana", 211, 1)
        self.st2 = Student("mircea", 212, 2)
        self.pb1 = LabProblem("21_01", "ceva", 3)
        self.pb2 = LabProblem("01_02", "altceva", 2)

        self.mark1 = Mark(self.st1, self.pb1, 10)
        self.mark2 = Mark(self.st2, self.pb1, 5)
        self.mark3 = Mark(self.st2, self.pb2, 8)

    def testGetStudent(self):
        self.assertTrue(self.mark1.getStudent() == self.st1)
        self.assertTrue(self.mark2.getStudent() == self.st2)
        self.assertTrue(self.mark3.getStudent() == self.st2)

    def testGetProblem(self):
        self.assertTrue(self.mark1.getProblem() == self.pb1)
        self.assertTrue(self.mark2.getProblem() == self.pb1)
        self.assertTrue(self.mark3.getProblem() == self.pb2)

    def testGetMark(self):
        self.assertTrue(self.mark1.getMark() == 10)
        self.assertTrue(self.mark2.getMark() == 5)
        self.assertTrue(self.mark3.getMark() == 8)

    def testGetId(self):
        self.assertTrue(self.mark1.getId() == "1_21_01")
        self.assertTrue(self.mark2.getId() == "2_21_01")
        self.assertTrue(self.mark3.getId() == "2_01_02")
Beispiel #3
0
 def testUpdateMark(self):
     mrk_new = Mark(Student("Ana", 21, 0),
                    LabProblem("01_01", "fa ceva", 3), 7)
     self.mrk_repo.updateMark(mrk_new)
     self.assertTrue(
         self.mrk_repo.getMarkById(mrk_new.getId()).getMark() == 7)
     mrk_new = Mark(Student("Ion", 14, 1),
                    LabProblem("06_10", "altceva", 5), 9)
     self.mrk_repo.updateMark(mrk_new)
     self.assertTrue(
         self.mrk_repo.getMarkById(mrk_new.getId()).getMark() == 9)
Beispiel #4
0
 def getMark(self, st_id, pb_num):
     '''
         Returns a mark
         IN:
             st_id - integer
             pb_num - string, labNo_problemNo
     '''
     self.__val.validateIdInRepo(st_id, self.__students)
     self.__val.validateProblemNumber(pb_num, self.__problems)
     st = self.__students.getStudentById(st_id)
     pb = self.__problems.getProblemByNumber(pb_num)
     mrk = Mark(st, pb, 1)
     self.__val.validateMarkId(mrk.getId(), self.__catalog)
     return self.__catalog.getMarkById(mrk.getId())
Beispiel #5
0
class TestCaseMarkRepositoryClass(unittest.TestCase):
    def setUp(self):
        st1 = Student("Ana", 21, 0)
        st2 = Student("Ion", 14, 1)

        pb1 = LabProblem("01_01", "fa ceva", 3)
        pb2 = LabProblem("06_10", "altceva", 5)

        self.mrk_repo = MarkInMemoryRepository()

        self.mrk1 = Mark(st1, pb1, 10)
        self.mrk_repo.addMark(self.mrk1)
        self.mrk2 = Mark(st1, pb2, 6)
        self.mrk_repo.addMark(self.mrk2)
        self.mrk3 = Mark(st2, pb2, 9)
        self.mrk_repo.addMark(self.mrk3)

    def testAddMark(self):
        self.mrk_repo.addMark(
            Mark(Student("Ceva", 22, 9), LabProblem("05_07", "dada", 6), 2))
        self.assertTrue(self.mrk_repo.getNumberOfMarks() == 4)
        self.mrk_repo.addMark(
            Mark(Student("Ceva", 22, 7), LabProblem("08_07", "dada", 6), 6))
        self.assertTrue(self.mrk_repo.getNumberOfMarks() == 5)

    def testRemoveMark(self):
        self.mrk_repo.removeMark(self.mrk1.getId())
        self.assertTrue(self.mrk_repo.getNumberOfMarks() == 2)
        self.mrk_repo.removeMark(self.mrk2.getId())
        self.assertTrue(self.mrk_repo.getNumberOfMarks() == 1)

    def testGetMarkById(self):
        self.assertTrue(
            self.mrk_repo.getMarkById(self.mrk1.getId()).getMark() == 10)
        self.assertTrue(
            self.mrk_repo.getMarkById(self.mrk2.getId()).getStudent() ==
            Student("Ana", 21, 0))

    def testUpdateMark(self):
        mrk_new = Mark(Student("Ana", 21, 0),
                       LabProblem("01_01", "fa ceva", 3), 7)
        self.mrk_repo.updateMark(mrk_new)
        self.assertTrue(
            self.mrk_repo.getMarkById(mrk_new.getId()).getMark() == 7)
        mrk_new = Mark(Student("Ion", 14, 1),
                       LabProblem("06_10", "altceva", 5), 9)
        self.mrk_repo.updateMark(mrk_new)
        self.assertTrue(
            self.mrk_repo.getMarkById(mrk_new.getId()).getMark() == 9)
Beispiel #6
0
def test_getMarkById():
    st1 = Student("Ana", 21, 0)
    st2 = Student("Ion", 14, 1)

    pb1 = LabProblem("01_01", "fa ceva", 3)
    pb2 = LabProblem("06_10", "altceva", 5)

    mrk_repo = MarkInMemoryRepository()

    mrk1 = Mark(st1, pb1, 10)
    mrk_repo.addMark(mrk1)
    mrk2 = Mark(st1, pb2, 6)
    mrk_repo.addMark(mrk2)
    mrk3 = Mark(st2, pb2, 9)
    mrk_repo.addMark(mrk3)

    assert mrk_repo.getMarkById(mrk1.getId()).getMark() == 10
    assert mrk_repo.getMarkById(mrk2.getId()).getStudent() == st1
 def __removeMarksForProblem(self, problem_number):
     '''
         Removes all the marks with the problem problem_number
     '''
     for mark_key in self.__catalog.getAllMarks():
         stud_id, lab_id, pb_id = mark_key.split("_")
         pb_num = lab_id + "_" + pb_id
         if pb_num == problem_number:
             st = Student("", 0, stud_id)
             pb = self.getProblemByNumber(problem_number)
             mrk = Mark(st, pb, 0)
             self.__catalog.removeMark(mrk.getId())
 def __removeMarksForStudent(self, st_id):
     '''
         Removes all the marks for the student with st_id
         IN:
             st_id - integer
     '''
     for mark_key in self.__catalog.getAllMarks():
         stud_id, lab_id, pb_id = mark_key.split("_")
         if int(stud_id) == st_id:
             problem_number = lab_id + "_" + pb_id
             st = self.getStudentById(st_id)
             pb = LabProblem(problem_number, "", 0)
             mrk = Mark(st, pb, 0)
             self.__catalog.removeMark(mrk.getId())
Beispiel #9
0
 def removeMark(self, st_id, pb_no):
     '''
         It removes a mark from the repository
         IN:
            st_id - integer
            pb_no - string, labNo_problemNo
     '''
     self.__val.validateIdInRepo(st_id, self.__students)
     self.__val.validateProblemNumber(pb_no, self.__problems)
     st = self.__students.getStudentById(st_id)
     pb = self.__problems.getProblemByNumber(pb_no)
     mark = Mark(st, pb, 1)
     self.__val.validateMarkId(mark.getId(), self.__catalog)
     self.__catalog.removeMark(mark.getId())
     return "The mark has been removed...\n"
Beispiel #10
0
 def updateMark(self, st_id, pb_num, mark):
     '''
         Updates the mark for a specific student 
         IN:
            st_id - integer
            pb_num - string, labNo_problemNo
            mark - integer, between 0 and 10 
     '''
     self.__val.validateIdInRepo(st_id, self.__students)
     self.__val.validateProblemNumber(pb_num, self.__problems)
     st = self.__students.getStudentById(st_id)
     pb = self.__problems.getProblemByNumber(pb_num)
     mrk = Mark(st, pb, mark)
     self.__val.validateMark(mrk)
     self.__val.validateMarkId(mrk.getId(), self.__catalog)
     self.__catalog.updateMark(mrk)
     return "The mark has been updated... \n"