Example #1
0
 def test_add_searchById_searchByName_remove_update_repo(self):
     self.assertEqual(self._repo.size(), 0)
     self._repo.add(self._discipline1)
     self._repo.add(self._discipline2)
     self.assertEqual(self._repo.size(), 2)
     self._repo.remove_repo(self._discipline2)
     self.assertEqual(self._repo.size(), 1)
     self._other_disc_same_id = Discipline(50, "Biology")
     self.assertEqual(self._other_disc_same_id.get_disc_name(), "Biology")
     self.assertEqual(self._other_disc_same_id.get_id_disc(), 50)
     key_disc = Discipline(self._discipline1.get_id_disc(), None)
     disc_found = self._repo.search(key_disc)
     self.assertEqual(disc_found.get_disc_name(),
                      self._discipline1.get_disc_name())
     try:
         self._repo.add(self._other_disc_same_id)
         assert (False)
     except RepoError as re:
         assert (str(re) == "id existent!\n")
     self._other_discipline = Discipline(100, "Mapping")
     try:
         self._repo.search(self._other_discipline)
         assert (False)
     except RepoError as re:
         assert (str(re) == "id inexistent!\n")
Example #2
0
 def test_create_discipline(self):
     self.assertEqual(self._discipline1.get_id_disc(), 50)
     self.assertEqual(self._discipline1.get_disc_name(), "Math")
     self._discipline1.set_disc_name("Trigo")
     self._discipline3.set_id_disc(49)
     self.assertEqual(self._discipline1.get_disc_name(), "Trigo")
     self.assertEqual(self._discipline3.get_id_disc(), 49)
     self._other_disc_same_id = Discipline(50, "Sport")
     self.assertEqual(self._other_disc_same_id.get_id_disc(), 50)
     self.assertEqual(self._other_disc_same_id.get_disc_name(), "Sport")
     self.assertEqual(self._discipline1.get_id_disc(),
                      self._other_disc_same_id.get_id_disc())
Example #3
0
 def get_disc_by_id(self, disc_id):
     """
     Returns all disciplines with the given id
     :params disc_id = given id
     """
     key = Discipline(disc_id, None)
     return self._repoDisciplines.search(key)
Example #4
0
 def setUp(self):
     self._discipline1 = Discipline(50, "Math")
     self._discipline2 = Discipline(80, "Drawing")
     self._discipline3 = Discipline(90, "Flying")
     self._bad_id_discipline = Discipline(-20, "Algebra")
     self._bad_name_discipline = Discipline(20, "")
     self._validDisc = ValidatorDiscipline()
     self._repo = Repo()
     self._undoService = ServiceUndo()
     self._servDiscipline = ServiceDisciplines(self._repo, self._validDisc,
                                               self._undoService)
Example #5
0
 def test_add_removebyID_average_SERVICE(self):
     #self._gradeService.give_grade(4, 5, 6)
     #grades = self._gradeService.get_grades()
     #self.assertEqual(len(grades) ,1)
     self.assertEqual(self._gradeService.get_grades_no(), 0)
     self._gradeService.give_grade(9, 3, 5)
     self._gradeService.give_grade(9, 4, 8)
     self.assertEqual(self._gradeService.get_grades_no(), 2)
     self._gradeService.remove_grade_by_idStud_and_grade(9, 3, 5)
     self.assertEqual(self._gradeService.get_grades_no(), 1)
     self._gradeService.remove_grade_by_disc_id(4)
     self.assertEqual(self._gradeService.get_grades_no(), 0)
     self._gradeService.give_grade(1, 8, 10)
     self._gradeService.remove_grade_by_student_id(1)
     self.assertEqual(self._gradeService.get_grades_no(), 0)
     self._gradeService.give_grade(1, 1, 1)
     grades = self._gradeService.get_grades()
     self.assertEqual(len(grades), 1)
     self._serviceStudent.add_student(1, "Jane")
     self._serviceStudent.add_student(2, "Marc")
     self._gradeService.give_grade(2, 2, 1)
     self._gradeService.give_grade(1, 3, 2)
     failing_students = self._gradeService.grades_average()
     self.assertEqual(len(failing_students), 3)
     average_disc = self._gradeService.average_student_discipline(2)
     self.assertEqual(average_disc, 1.0)
     best_studs = self._gradeService.best_students()
     self.assertEqual(len(best_studs), 2)
     self.assertEqual(best_studs[0].get_student(), Student(1, "Jane"))
     self.assertEqual(best_studs[0].get_stud_average(), 1.5)
     self._repoDisciplines.add(Discipline(2, "Ala"))
     self._repoDisciplines.add(Discipline(3, "Kaka"))
     grade = self._gradeService.find_by_id(2)
     self.assertEqual(grade.get_id_disc(), 2)
     best_disc = self._gradeService.best_disciplines()
     self.assertEqual(len(best_disc), 3)
     self.assertEqual(best_disc[0].get_discipline(), None)
     self.assertEqual(best_disc[1].get_disc_average(), 1.0)
Example #6
0
 def test_add_searchById_searchByName_remove_update_Service(self):
     self.assertEqual(self._servDiscipline.get_disc_no(), 0)
     self._servDiscipline.add_disc(30, "Bio")
     self._servDiscipline.add_disc(31, "Hiking")
     self.assertEqual(self._servDiscipline.get_disc_no(), 2)
     self._servDiscipline.remove_disc(31)
     self.assertEqual(self._servDiscipline.get_disc_no(), 1)
     disc_found = self._servDiscipline.get_disc_by_id(30)
     self.assertEqual(disc_found.get_disc_name(), "Bio")
     try:
         self._servDiscipline.add_disc(-23, "Chemistry")
         assert (False)
     except ValidError as ve:
         assert (str(ve) == "id invalid!\n")
     try:
         self._servDiscipline.add_disc(3, "")
         assert (False)
     except ValidError as ve:
         assert (str(ve) == "name invalid!\n")
     try:
         self._servDiscipline.add_disc(30, "Guitar")
         assert (False)
     except RepoError as re:
         assert (str(re) == "id existent!\n")
     try:
         self._servDiscipline.get_disc_by_id(98)
         assert (False)
     except RepoError as re:
         assert (str(re) == "id inexistent!\n")
     new = Discipline(30, "Piano")
     self._servDiscipline.update_discipline(new)
     self.assertEqual(new.get_disc_name(), "Piano")
     self._servDiscipline.add_disc(55, "Violin")
     self._servDiscipline.add_disc(56, "Games")
     self._servDiscipline.add_disc(57, "Coding")
     self._servDiscipline.add_disc(58, "Nustiu")
     disciplines = self._servDiscipline.get_discipline_by_name("i")
     self.assertEqual(len(disciplines), 4)
Example #7
0
 def create_init_discs(self):
     #lista_disc = [(1,"Bio"), (2,"Algebra"), (3,"Geometry"), (4,"Informathics"), (5,"Chemistry"), (6,"Sport"), (7,"Marketing"), (8,"Economics"), (9,"Volunteering"), (10,"Nutrition")]
     lista_disc = ["Bio", "Algebra", "Geometry", "Informathics", "Chemistry", "Sport", "Marketing", "Economics", "Volunteering", "Nutrition"]
     i = 10
     while i > 0:
         #d = Discipline(id_base, random.choice(lista_disc))
         idx_dis = random.randrange(0, len(lista_disc))
         d = Discipline(idx_dis, lista_disc[idx_dis])
         #id_base+=1
         try:
             self._repoDisciplines.add(d)
             i-=1
         except RepoError:
             pass
Example #8
0
 def add_disc(self, id_disc, name_disc, from_undo = False):
     """
     Creates a discipline that will be added in the repoDisciplines
     :params id_disc = The id of the new discipline
     :params name_disc = The name of the new discipline
     :params from_undo: False if the function eas not called from the undo option, True otherwise
     """
     discipline = Discipline(id_disc, name_disc)
     self._validatorDiscipline.validate_disc(discipline)
     self._repoDisciplines.add(discipline)
     if not from_undo:
         function = FunctionCall(self.add_disc,id_disc , name_disc, True)
         reverse_function = FunctionCall(self.remove_disc , id_disc, True)
         operation = Operation(function, reverse_function)
         self._undoService.record_operation(operation)
Example #9
0
 def remove_disc(self , id_disc, from_undo = False):
     """
     Removes disciplines with the given id
     :params id_disc = The id of the discipline to be deleted
     :params from_undo :False if the function eas not called from the undo option, True otherwise
     """
     disc= Discipline(id_disc, None)
     deleted_disc = self._repoDisciplines.search(disc)
     self._repoDisciplines.remove_repo(disc)
     if not from_undo:
         function = FunctionCall(self.remove_disc, id_disc, True)
         reverse_function = FunctionCall(self.add_disc, id_disc, deleted_disc.get_disc_name(), True)
         operation = Operation(function, reverse_function)
         cascaded_operation = CascadedOperation()
         cascaded_operation.add(operation)
         self._undoService.record_operation(cascaded_operation)
Example #10
0
 def _ui_update_disc(self, params):
     if len(params) != 2:
         raise ValueError("No. params invalid! Must be 2")
     disc_id = int(params[0])
     disc_name = params[1]
     self._serviceDisciplines.update_discipline(Discipline(disc_id, disc_name))
Example #11
0
class TesteDiscipline(unittest.TestCase):
    def setUp(self):
        self._discipline1 = Discipline(50, "Math")
        self._discipline2 = Discipline(80, "Drawing")
        self._discipline3 = Discipline(90, "Flying")
        self._bad_id_discipline = Discipline(-20, "Algebra")
        self._bad_name_discipline = Discipline(20, "")
        self._validDisc = ValidatorDiscipline()
        self._repo = Repo()
        self._undoService = ServiceUndo()
        self._servDiscipline = ServiceDisciplines(self._repo, self._validDisc,
                                                  self._undoService)

    def test_create_discipline(self):
        self.assertEqual(self._discipline1.get_id_disc(), 50)
        self.assertEqual(self._discipline1.get_disc_name(), "Math")
        self._discipline1.set_disc_name("Trigo")
        self._discipline3.set_id_disc(49)
        self.assertEqual(self._discipline1.get_disc_name(), "Trigo")
        self.assertEqual(self._discipline3.get_id_disc(), 49)
        self._other_disc_same_id = Discipline(50, "Sport")
        self.assertEqual(self._other_disc_same_id.get_id_disc(), 50)
        self.assertEqual(self._other_disc_same_id.get_disc_name(), "Sport")
        self.assertEqual(self._discipline1.get_id_disc(),
                         self._other_disc_same_id.get_id_disc())

    def test_validator_discipline(self):
        self._validDisc.validate_disc(self._discipline1)
        try:
            self._validDisc.validate_disc(self._bad_id_discipline)
            assert (False)
        except ValidError as ve:
            assert (str(ve) == "id invalid!\n")
        try:
            self._validDisc.validate_disc(self._bad_name_discipline)
            assert (False)
        except ValidError as ve:
            assert (str(ve) == "name invalid!\n")

    def test_get_all_discs(self):
        self._servDiscipline.add_disc(1, "Fifi")
        self._servDiscipline.add_disc(2, "Gigi")
        disciplines = self._servDiscipline.get_disc()
        self.assertEqual(len(disciplines), 2)

    def test_add_searchById_searchByName_remove_update_repo(self):
        self.assertEqual(self._repo.size(), 0)
        self._repo.add(self._discipline1)
        self._repo.add(self._discipline2)
        self.assertEqual(self._repo.size(), 2)
        self._repo.remove_repo(self._discipline2)
        self.assertEqual(self._repo.size(), 1)
        self._other_disc_same_id = Discipline(50, "Biology")
        self.assertEqual(self._other_disc_same_id.get_disc_name(), "Biology")
        self.assertEqual(self._other_disc_same_id.get_id_disc(), 50)
        key_disc = Discipline(self._discipline1.get_id_disc(), None)
        disc_found = self._repo.search(key_disc)
        self.assertEqual(disc_found.get_disc_name(),
                         self._discipline1.get_disc_name())
        try:
            self._repo.add(self._other_disc_same_id)
            assert (False)
        except RepoError as re:
            assert (str(re) == "id existent!\n")
        self._other_discipline = Discipline(100, "Mapping")
        try:
            self._repo.search(self._other_discipline)
            assert (False)
        except RepoError as re:
            assert (str(re) == "id inexistent!\n")

    def test_add_searchById_searchByName_remove_update_Service(self):
        self.assertEqual(self._servDiscipline.get_disc_no(), 0)
        self._servDiscipline.add_disc(30, "Bio")
        self._servDiscipline.add_disc(31, "Hiking")
        self.assertEqual(self._servDiscipline.get_disc_no(), 2)
        self._servDiscipline.remove_disc(31)
        self.assertEqual(self._servDiscipline.get_disc_no(), 1)
        disc_found = self._servDiscipline.get_disc_by_id(30)
        self.assertEqual(disc_found.get_disc_name(), "Bio")
        try:
            self._servDiscipline.add_disc(-23, "Chemistry")
            assert (False)
        except ValidError as ve:
            assert (str(ve) == "id invalid!\n")
        try:
            self._servDiscipline.add_disc(3, "")
            assert (False)
        except ValidError as ve:
            assert (str(ve) == "name invalid!\n")
        try:
            self._servDiscipline.add_disc(30, "Guitar")
            assert (False)
        except RepoError as re:
            assert (str(re) == "id existent!\n")
        try:
            self._servDiscipline.get_disc_by_id(98)
            assert (False)
        except RepoError as re:
            assert (str(re) == "id inexistent!\n")
        new = Discipline(30, "Piano")
        self._servDiscipline.update_discipline(new)
        self.assertEqual(new.get_disc_name(), "Piano")
        self._servDiscipline.add_disc(55, "Violin")
        self._servDiscipline.add_disc(56, "Games")
        self._servDiscipline.add_disc(57, "Coding")
        self._servDiscipline.add_disc(58, "Nustiu")
        disciplines = self._servDiscipline.get_discipline_by_name("i")
        self.assertEqual(len(disciplines), 4)

    def test_init_discs(self):
        self._servDiscipline.create_init_discs()
        self.assertEqual(self._repo.size(), 10)