Esempio n. 1
0
    def generateProfs(self):

        profs = Coordinator.profDb
        for prof in profs:
            name = prof.name
            p = Professor(name)

            for courseCode in prof.courses.split(","):
                course = self.getCourse(courseCode)
                p.addCourse(course)
            self.professors.append(p)
Esempio n. 2
0
class ProfessorTest(unittest.TestCase):

    # the testing framework will automatically call for every single test we run
    # in our case, it can also serve as constructor test
    def setUp(self):
        self.public = True
        self.private = False

        self.L1 = Student("1", "L1", self.private)
        self.M11 = Student(11, "M11", self.private)
        self.T1 = Team( "Team1", 1, self.public, self.L1 )

        self.Prof = Professor("golds")

        self.C1 = Course(10000, "CSCI-4440", 1, 75)
        self.C2 = Course(10001, "CSCI-4460", 1, 75)

    # test all getters
    def test_gets(self):
        self.assertEqual(self.Prof.getID(), "golds")
        self.assertEqual(len( self.Prof.getCourses() ), 0)

    # test all setters
    def test_sets(self):
        self.Prof.setID("silvers")
        self.assertEqual(self.Prof.getID(), "silvers")

    def test_addAndRemoveCourses(self):
        # add two courses
        self.assertTrue( self.Prof.addCourse(self.C1) )
        self.assertTrue( self.Prof.addCourse(self.C2) )
        self.assertEqual( len( self.Prof.getCourses() ), 2 )
        self.assertEqual( (self.Prof.getCourses())[0].getCRN(), 10000 )
        self.assertEqual( (self.Prof.getCourses())[1].getCRN(), 10001 )

        # invalid add
        self.assertFalse( self.Prof.addCourse(self.C1) )

        # remove one course
        self.assertTrue( self.Prof.removeCourse(self.C1) )
        self.assertEqual( len( self.Prof.getCourses() ), 1 )
        self.assertEqual( (self.Prof.getCourses())[0].getCRN(), 10001 )

        # remove a non-existing course should fail
        self.assertFalse( self.Prof.removeCourse(self.C1) )

        # remove another course
        self.assertTrue( self.Prof.removeCourse(self.C2) )
        self.assertEqual( len( self.Prof.getCourses() ), 0 )


    def test_addAndDeleteStudentTags(self):
        # valid adds
        self.assertTrue( self.Prof.addStudentTag(self.L1, "EDT") )
        self.assertTrue( self.Prof.addStudentTag(self.L1, "Tuesday") )
        self.assertEqual( len( self.L1.getTags() ), 2 )

        # invalid adds, duplicates
        self.assertFalse( self.Prof.addStudentTag(self.L1, "EDT") )
        self.assertEqual( len( self.L1.getTags() ), 2 )

        self.assertEqual( (self.L1.getTags())[0], "EDT" )
        self.assertEqual( (self.L1.getTags())[1], "Tuesday" )

        # invalid deletes
        self.assertFalse( self.Prof.deleteStudentTag(self.L1, "PDT") )
        self.assertEqual( len( self.L1.getTags() ), 2 )

        # valid deletes
        self.assertTrue( self.Prof.deleteStudentTag(self.L1, "EDT") )
        self.assertEqual( len( self.L1.getTags() ), 1 )
        self.assertEqual( (self.L1.getTags())[0], "Tuesday" )

        self.assertTrue( self.Prof.deleteStudentTag(self.L1, "Tuesday") )
        self.assertEqual( len( self.L1.getTags() ), 0 )

    def test_addAndDeleteTeamTags(self):
        # valid adds
        self.assertTrue( self.Prof.addTeamTag(self.T1, "EDT") )
        self.assertTrue( self.Prof.addTeamTag(self.T1, "Tuesday") )
        self.assertEqual( len( self.T1.getTags() ), 2 )

        # invalid adds, duplicates
        self.assertFalse( self.Prof.addTeamTag(self.T1, "EDT") )
        self.assertEqual( len( self.T1.getTags() ), 2 )

        self.assertEqual( (self.T1.getTags())[0], "EDT" )
        self.assertEqual( (self.T1.getTags())[1], "Tuesday" )

        # invalid deletes
        self.assertFalse( self.Prof.deleteTeamTag(self.T1, "PDT") )
        self.assertEqual( len( self.T1.getTags() ), 2 )

        # valid deletes
        self.assertTrue( self.Prof.deleteTeamTag(self.T1, "EDT") )
        self.assertEqual( len( self.T1.getTags() ), 1 )
        self.assertEqual( (self.T1.getTags())[0], "Tuesday" )

        self.assertTrue( self.Prof.deleteTeamTag(self.T1, "Tuesday") )
        self.assertEqual( len( self.T1.getTags() ), 0 )


    def test_addAndRemoveStudents(self):
        # valid adds
        self.assertTrue( self.Prof.addStudentToTeam(self.T1, self.M11) )
        self.assertEqual( len( self.M11.getTeams() ), 1 )
        self.assertEqual( len( self.T1.getMembers() ), 2 )

        # invalid adds, duplicates
        self.assertFalse( self.Prof.addStudentToTeam(self.T1, self.M11) )
        self.assertEqual( len( self.M11.getTeams() ), 1 )
        self.assertEqual( len( self.T1.getMembers() ), 2 )

        # valid removes
        self.assertTrue( self.Prof.removeStudentFromTeam(self.T1, self.M11) )
        self.assertEqual( len( self.M11.getTeams() ), 0 )
        self.assertEqual( len( self.T1.getMembers() ), 1 )

        # invalid remove
        self.assertFalse( self.Prof.removeStudentFromTeam(self.T1, self.M11) )
        self.assertEqual( len( self.M11.getTeams() ), 0 )
        self.assertEqual( len( self.T1.getMembers() ), 1 )


    def test_addAndRemoveAssignments(self):
        # valid adds
        # addAssignment(course, title, min, max, deadline)
        self.assertTrue( self.Prof.addAssignment(self.C1, "A1", 1, 4, 120220201159) )
        self.assertEqual( len( self.C1.getAssignments() ), 1 )

        # invalid adds, duplicates
        self.assertFalse( self.Prof.addAssignment(self.C1, "A1", 1, 4, 120220201159) )
        self.assertEqual( len( self.C1.getAssignments() ), 1 )

        A1 = (self.C1.getAssignments())[0]
        # invalid edit
        # editAssignment(self, assignment, title, min, max, deadline)
        self.assertFalse( self.Prof.editAssignment(None, "newA1", None, None, None) )

        # valid edits
        self.assertTrue( self.Prof.editAssignment(A1, "newA1", None, None, None) )
        self.assertEqual( A1.getTitle(), "newA1")

        # valid deletes
        self.assertTrue( self.Prof.deleteAssignment(self.C1, A1) )
        self.assertEqual( len( self.C1.getAssignments() ), 0 )