class TestDisciplineRepository(unittest.TestCase): def setUp(self): self.__repo = DisciplineRepository() self.__discipline = Discipline(1, "Anna") def tearDown(self): del self.__repo del self.__discipline def testRepository(self): assert (len(self.__repo.getAll()) == 0) self.__repo.add(self.__discipline) assert (len(self.__repo.getAll()) == 1)
def __loadFromFile(self): try: f = open(self.__fileName, "r") line = f.readline().strip() while line != "": attrs = line.split(",") discipline = Discipline(int(attrs[0]), attrs[1]) DisciplineRepository.add(self, discipline) line = f.readline().strip() except IOError: raise FileRepositoryException() finally: f.close()
def __storeToFile(self): f = open(self.__fileName, "w") sts = DisciplineRepository.getAll(self) for st in sts: strf = str(st.disciplineID) + "," + st.disciplineName strf = strf + "\n" f.write(strf) f.close()
def setUp(self): self.__repo = DisciplineRepository() self.__discipline = Discipline(1, "Anna")
# ui.runApp() while True: print("\nChoose what kind of repository you want to use \n") print("1 - inmemory repository") print("2 - text file repository") print("3 - binary file repository") print("0 - to exit") repository_mode = int(input("\nYour choice for repository is: ")) if repository_mode == 1: studentValidator = StudentValidator() disciplineValidator = DisciplineValidator() gradeValidator = GradeValidator() studentRepo = StudentRepository() disciplineRepo = DisciplineRepository() gradeRepo = GradeRepository() studentController = StudentController(studentRepo) disciplineController = DisciplineController(disciplineRepo) gradeController = GradeController(gradeRepo, disciplineRepo, studentRepo) ui = ConsoleUI(studentController, disciplineController, gradeController) opt = ui.runApp() if opt == 0: break elif repository_mode == 2: studentValidator = StudentValidator()
def __init__(self, fileName): DisciplineRepository.__init__(self) self.__fileName = fileName self.__loadFromFile()
def update(self, disciplineID, newName): DisciplineRepository.update(self, disciplineID, newName) self.__storeToFile()
def remove(self, disciplineID): DisciplineRepository.remove(self, disciplineID) self.__storeToFile()
def add(self, discipline): DisciplineRepository.add(self, discipline) self.__storeToFile()