def setUp(self): self.undo = UndoController() self.stCtr = StudentController(Repository(), StudentValidator(), self.undo) self.asCtr = AssignmnetController(Repository(), AssignmentValidator(), self.undo) self.grade = Grade(1, 1, 5.0) self._grCtr = GradeController(Repository(), GradeValidator(), self.stCtr, self.asCtr, self.undo)
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)
def setUp(self): self._undo = UndoController() self._stCtr = StudentController(Repository(), StudentValidator(), self._undo) self._asCtr = AssignmnetController(Repository(), AssignmentValidator(), self._undo) self._grCtr = GradeController(Repository(), GradeValidator(), self._stCtr, self._asCtr, self._undo) self._stat = Statistics(self._grCtr) populateAsCtrSTATIC(self._asCtr) populateStCtrSTATIC(self._stCtr)
class UnitTestGrade(unittest.TestCase): ''' ''' def setUp(self): self.g = Grade(1, 1, 0.0) self.v = GradeValidator() def tearDown(self): unittest.TestCase.tearDown(self) def testID(self): self.assertTrue(self.v.validate, self.g) self.g.assignID = 0 self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.assignID = -1 self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.assignID = "1" self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.assignID = 1 self.g.studentID = 0 self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.studentID = -1 self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.studentID = "1" self.assertRaises(ValidatorException, self.v.validate, self.g) def testGrade(self): self.g.grade = -1 self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.grade = 11 self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.grade = -0.1 self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.grade = 10.1 self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.grade = "3" self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.id = 4 self.g.grade = 3.2 self.assertTrue(str(self.g)) self.assertTrue(self.g.id == 4) self.assertEqual(self.g, Grade(1, 1, 3.2)) self.g.id = "2" self.assertRaises(ValidatorException, self.v.validate, self.g) self.g.id = 2 self.assertEqual(self.v.validate(self.g), True) def testValidator(self): x = ValidatorException(["Blah", "Blah2"]) self.assertEqual(len(x.messages), 2) self.assertTrue(str(x)) self.assertTrue(repr(Grade(1, 2, 0)))
def setGrade(self, studID, assigID, grade): ''' Sets grade at a given assignment of a given student Input: studID - positive integer assigID - positive int grade - float in [0,10] Output: True - if setting succeded False - otherwise ''' newGrade = Grade(assigID, studID, grade) GradeValidator().validate(newGrade) oldGrade = self.findByID(studID, assigID) if type(oldGrade) != Grade: raise ValueError("There does not exist such a grade!") if oldGrade.grade != 0.0: raise ControllerException("This grade was already assigned!") self.update(newGrade) return True
asRepo = BinRepository("data\\" + sets.repoAs, Assignment) 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): self.g = Grade(1, 1, 0.0) self.v = GradeValidator()