def __init__(self): self._undo = UndoController() self._stud = StudentController(Repository(), StudentValidator(), self._undo) self._assign = AssignmnetController(Repository(), AssignmentValidator(), self._undo) self._grade = GradeController(Repository(), GradeValidator(), self._stud, self._assign, self._undo) self._stat = Statistics(self._grade)
grRepo = BinRepository("data\\" + sets.repoGr, Grade) elif sets.repo == "json_file": stRepo = JsonRepository("data\\" + sets.repoSt, Student) asRepo = JsonRepository("data\\" + sets.repoAs, Assignment) grRepo = JsonRepository("data\\" + sets.repoGr, Grade) elif sets.repo == "mongoDB": stRepo = MongoRepository(Student) asRepo = MongoRepository(Assignment) grRepo = MongoRepository(Grade) else: raise ValueError("Repo must be from memory/text_file/binary_file/json_file/mongoDB") stCtr = StudentController(stRepo, StudentValidator(), undoCtr) asCtr = AssignmnetController(asRepo, AssignmentValidator(), undoCtr) grCtr = GradeController(grRepo, GradeValidator(), stCtr, asCtr, undoCtr) stat = Statistics(grCtr) if sets.ui == "cli": menu = CliMenu(undoCtr, stCtr, asCtr, grCtr, stat) menu.mainMenu() elif sets.ui == "gui": import sys app = QtWidgets.QApplication(sys.argv) StudentsManagement = QtWidgets.QMainWindow() ui = Ui_StudentsManagement(undoCtr, stCtr, asCtr, grCtr, stat) ui.setupUi(StudentsManagement) StudentsManagement.show() sys.exit(app.exec_()) else: raise ValueError("UI must be cli/gui!")
def setUp(self) -> None: seed(5) self.testData = randint(0, 10, 20) self.statistics = Statistics()