testProfessorshipCreate(3, 3, 4, true, professorship2);
testProfessorshipCreate(0, 3, 4, true, professorship2);
    public void testCreate() {                // Test NullPointerException                       try {            Professorship.create(null, null, null, null);            fail("Expected NullPointerException");                    } catch (NullPointerException e){            testProfessorshipCreate(0, 0, 0, false, null);                                           } catch (MaxResponsibleForExceed e1) {            fail("Expected NullPointerException");        } catch (InvalidCategory e1) {            fail("Expected NullPointerException");        }                // Insert 1 Professorship Responsible        try {            professorship = Professorship.create(true, executionCourse, teacher, new Double(0.0));                                } catch (MaxResponsibleForExceed e1) {            fail("Unexpected MaxResponsibleForExceed Exception");        } catch (InvalidCategory e1) {            fail("Unexpected InvalidCategory Exception");        }                testProfessorshipCreate(0, 1, 1, true, professorship);                // Insert 1 Professorship Responsible        try {            professorship2 = Professorship.create(true, executionCourse, teacher, new Double(0.0));                                } catch (MaxResponsibleForExceed e1) {            fail("Unexpected MaxResponsibleForExceed Exception");        } catch (InvalidCategory e1) {            fail("Unexpected InvalidCategory Exception");        }                testProfessorshipCreate(1, 2, 2, true, professorship2);        // Insert 1 Professorship Responsible        try {            professorship2 = Professorship.create(true, executionCourse, teacher, new Double(0.0));                                } catch (MaxResponsibleForExceed e1) {            fail("Unexpected MaxResponsibleForExceed Exception");        } catch (InvalidCategory e1) {            fail("Unexpected InvalidCategory Exception");        }                testProfessorshipCreate(2, 3, 3, true, professorship2);                // Try insert one more Professorship Responsible        // Test MaxResponsibleForExceed Exception        try {            Professorship.create(true, executionCourse, teacher, new Double(0.0));            fail("Expected MaxResponsibleForExceed");                               } catch (MaxResponsibleForExceed e1) {                        testProfessorshipCreate(2, 3, 3, false, null);                    } catch (InvalidCategory e1) {            fail("Expected MaxResponsibleForExceed");        }                      // Insert 1 Professorship not responsible                 try {            professorship2 = Professorship.create(false, executionCourse, teacher, new Double(0.0));                                } catch (MaxResponsibleForExceed e1) {            fail("Unexpected MaxResponsibleForExceed Exception");        } catch (InvalidCategory e1) {            fail("Unexpected InvalidCategory Exception");        }                testProfessorshipCreate(3, 3, 4, true, professorship2);                // Test InvalidCategory Exception         teacher.getCategory().setCanBeExecutionCourseResponsible(false);                try {            Professorship.create(true, executionCourse, teacher, new Double(0.0));            fail("Expected InvalidCategory");                    } catch (MaxResponsibleForExceed e) {            fail("Expected InvalidCategory");        } catch (InvalidCategory e) {            testProfessorshipCreate(2, 3, 4, false, null);        }    }