def _test_utility_splitParameters(self): ''' Tests if splitting parameters works ''' assert Utility.splitParameters(["test", ",", "test2"]) == [["test"], ["test2"]] assert Utility.splitParameters([",", ","]) == [[], []] assert Utility.splitParameters([",", "get"]) == [[], ["get"]] assert Utility.splitParameters(["FP", ",", "1", ",", "5.5", ",", "Arthur"]) == [["FP"], ["1"], ["5.5"], ["Arthur"]] assert Utility.splitParameters([5]) == None
def addGrade(self, cmd, debug = None): ''' Checks if using some parameteres a grade can be added in the repository Parameters: cmd - contains the parts which compose a grade debug - used only for testing ''' parameters = Utility.splitParameters(cmd) if parameters == None: raise ValueError if len(parameters) == 4 and len(parameters[0]) > 0 and len(parameters[1]) == 1 and len(parameters[2]) == 1 and len(parameters[3]) > 0: disc = parameters[0][0] for i in range(1, len(parameters[0])): disc = disc + ' ' + parameters[0][i] name = parameters[3][0] for i in range(1, len(parameters[3])): name = name + ' ' + parameters[0][i] if Controller.isDuplicate(self, disc, "discipline") != -1 and Utility.isConvertableToInt(parameters[1][0]) and Controller.isDuplicate(self, int(parameters[1][0]), "studentID") != -1 and parameters[2][0]: Repository.push(self._repository, Grade(disc, parameters[1][0], name, parameters[2][0])) return elif Controller.isDuplicate(self, disc, "discipline") == -1: raise DuplicateDisciplineError elif Controller.isDuplicate(self, int(parameters[1][0]), "studentID") == -1: raise DuplicateIDError raise ValueError
def searchDiscipline(self, cmd): ''' Searches for a discipline in the list Parameters: cmd - the name of the discipline ''' parameters = Utility.splitParameters(cmd) if len(parameters) > 0 and len(parameters[0]) > 1: disc = parameters[0][0] for i in range(1, len(parameters[0])): disc = disc + ' ' + parameters[0][i] pos = Controller.isDuplicate(self, disc, "discipline") if pos == -1: raise DuplicateDisciplineError print ("Discipline found!") raise ValueError
def addStudent(self, cmd): ''' Checks if using some parameters a student can be added in the repository Parameters: cmd - contains the parts which compose a student debug - used only for testing ''' parameters = Utility.splitParameters(cmd) if parameters == None: raise ValueError if len(parameters) == 1 and len(parameters[0]) > 0: name = parameters[0][0] for i in range(1, len(parameters[0])): name = name + ' ' + parameters[0][i] Repository.push(self._repository, Student(name, Controller.getID(self))) return raise ValueError
def addDiscipline(self, cmd, debug = None): ''' Checks if using some parameters a discipline can be added in the repository Parameters: cmd - contains the parts which compose a discipline debug - used only for testing ''' parameters = Utility.splitParameters(cmd) if parameters == None: raise ValueError if len(parameters) == 1 and len(parameters[0]) > 0: disc = parameters[0][0] for i in range(1, len(parameters[0])): disc = disc + ' ' + parameters[0][i] if Controller.isDuplicate(self, disc, "discipline") == -1: Repository.push(self._repository, disc) return else: raise DuplicateDisciplineError raise ValueError