Пример #1
0
 def test_undo(self):
     studs = Repository([])
     grades = Repository([])
     assigns = Repository([])
     assigns.store(Assignment(123, 'do', datetime.date.today()))
     u = Undo()
     studServ = ServiceStudent(studs, grades, u)
     gradeServ = ServiceGrade(grades, studs, assigns, u)
     studServ.store('1234', 'John Doe', '1')
     studServ.store('1235', 'Jane Doe', '2')
     gradeServ.addAssignmentToGroup('1', '123')
     u.undo()
     u.redo()
     u.undo()
     u.undo()
     u.undo()
     u.redo()
     u.redo()
     u.undo()
     u.redo()
     u.undo()
     u.undo()
     with self.assertRaises(ValueError):
         u.undo()
     studServ.store('1236', 'Mike Doe', '1')
     with self.assertRaises(ValueError):
         u.redo()
Пример #2
0
 def test_store(self):
     studs = Repository([])
     assigns = Repository([])
     grades = Repository([])
     studs.store(s1 := Student(1234, 'John Doe', 1))
     studs.store(s2 := Student(1235, 'Jane Doe', 2))
     assigns.store(a1 := Assignment(123, 'do', datetime.date.today()))
     assigns.store(a2 := Assignment(124, 'go', datetime.date(2019, 8, 29)))
     grades.store(g1 := Grade(s1, a1, 1))
     grades.store(g2 := Grade(s2, a2, 2, 8))
     with self.assertRaises(RepositoryException):
         studs.store(s1)
     self.assertEqual(len(studs), 2)
     self.assertEqual(a1.Description, 'do')
     self.assertEqual(a1.Deadline, datetime.date.today())
     a1.Description = 'did'
     a1.Deadline = datetime.date(2019, 11, 27)
     self.assertNotEqual(repr(a1), 0)
     self.assertEqual(a1 == s1, False)
     self.assertEqual(a1, Assignment(123, '', ''))
     self.assertEqual(g1.IdStud, s1.Id)
     self.assertEqual(g2.IdAssignment, a2.Id)
     self.assertEqual(g2.Grade, 8)
     g1.Grade = 5
     self.assertEqual(g1.Grade, 5)
     self.assertNotEqual(repr(g1), 0)
     g1.Grade = -1
     self.assertNotEqual(repr(g1), 0)
 def store(self, obj):
     Repository.store(self, obj)
     obj = (obj.Id, obj.IdStud, obj.IdAssignment, obj.Grade)
     sql = '''INSERT INTO grades (id, studId, assignId, grade) VALUES (?, ?, ?, ?)'''
     current = self._connection.cursor()
     current.execute(sql, obj)
     self._connection.commit()
 def store(self, obj):
     Repository.store(self, obj)
     obj = (obj.Id, obj.Name, obj.Group)
     sql = '''INSERT INTO students (id, StudName, StudGroup) VALUES (?, ?, ?);'''
     current = self._conn.cursor()
     current.execute(sql, obj)
     self._conn.commit()
Пример #5
0
    def test_servGrade(self):
        studs = Repository([])
        grades = Repository([])
        assigns = Repository([])
        u = Undo()
        studs.store(s1 := Student(1234, 'John Doe', 1))
        studs.store(s2 := Student(1235, 'Jane Doe', 2))
        assigns.store(a1 := Assignment(123, 'do', datetime.date.today()))
        assigns.store(a2 := Assignment(124, 'go', datetime.date(2019, 8, 29)))
        assigns.store(Assignment(125, 'wow', datetime.date.today()))
        servgr = ServiceGrade(grades, studs, assigns, u)
        with self.assertRaises(StudentException):
            servgr.addAssignmentToStud('123d', '123')
        with self.assertRaises(AssignmentException):
            servgr.addAssignmentToStud('1234', '123d')
        with self.assertRaises(StudentException):
            servgr.addAssignmentToStud('2136', '123')
        with self.assertRaises(AssignmentException):
            servgr.addAssignmentToStud('1234', '213')
        servgr.addAssignmentToStud('1234', '123')
        with self.assertRaises(GradeException):
            servgr.addAssignmentToStud('1234', '123')
        with self.assertRaises(StudentException):
            servgr.addAssignmentToGroup('d', '123')
        with self.assertRaises(StudentException):
            servgr.addAssignmentToGroup('3', '123')
        with self.assertRaises(AssignmentException):
            servgr.addAssignmentToGroup('1', 'd2')
        with self.assertRaises(AssignmentException):
            servgr.addAssignmentToGroup('1', '126')
        servgr.addAssignmentToGroup('2', '125')
        servgr.addAssignmentToGroup('1', '123')
        servgr.gradeStud('1234', '123', '10')
        with self.assertRaises(StudentException):
            servgr.gradeStud('12d', '123', '10')
        with self.assertRaises(AssignmentException):
            servgr.gradeStud('1234', '12d', '10')
        with self.assertRaises(GradeException):
            servgr.gradeStud('1234', '123', 'd')
        with self.assertRaises(GradeException):
            servgr.gradeStud('1234', '123', '11')
        with self.assertRaises(StudentException):
            servgr.gradeStud('1237', '123', '10')
        with self.assertRaises(AssignmentException):
            servgr.gradeStud('1234', '1237', '10')
        with self.assertRaises(GradeException):
            servgr.gradeStud('1234', '123', '8')
        with self.assertRaises(GradeException):
            servgr.gradeStud('1235', '123', '10')
        self.assertNotEqual(servgr.getAssigned, 0)

        servgr.sortStuds()
        self.assertEqual(type(servgr.getGraded()), str)
        self.assertEqual(type(servgr.getUnGraded()), str)
Пример #6
0
 def store(self, obj):
     Repository.store(self, obj)
     self._saveFile()