course.addTeacherDirecting(person);
course.addTeacherDirecting(new IsDirectedByCourseTeacher(person,course));
    public void testAddRemoveCourse() {        try {            // ajout d'un cours simple            Course course = new Course();	        Collection t = timetableDao.getTypesCourse();	        CourseType[] types = (CourseType[]) t.toArray(new CourseType[t.size()]);	        course.setIdCourseType(types[0]);	        course.setIdFormation(new Long(1));	        timetableDao.addCourse(course);	        // modification du cours, ajout d'un local	        Room room = new Room();	        room.setDescription("local d'essai ...");	        course.addRoom(room);            timetableDao.modifyCourse(course);	        // modification du cours, ajout d'un matriel	        Material material = new Material();	        material.setDescription("matriel d'essai ...");	        course.addMaterial(material);            timetableDao.modifyCourse(course);	        // modification du cours, ajout d'un enseignant	        User person = new User();	        person.setIdUser(new Long(10));	        person.setUserType("enseignant");	        course.addTeacherDirecting(person);            timetableDao.modifyCourse(course);                	// modification du cours, relation avec la matire et le groupe	        TakePartGroupSubjectCourse participe = new TakePartGroupSubjectCourse();	        participe.setIdCourse(course.getIdCourse());	        Group group = new Group();	        group.setIdFormation(new Long(1));	        group.setHeading("groupe pour essayer");            groupDao.addGroup(group);	        participe.setIdGroup(group.getIdGroup());	        Subject subject = new Subject();	        subject.setIdFormation(new Long(2));	        subject.setIdTeacher(new Long(5));            timetableDao.addSubject(subject);	        participe.setIdSubject(subject.getIdSubject());	        course.addGroupSubjectTakingPart(participe);            timetableDao.modifyCourse(course);        	// suppression du cours et des lments utiliss            timetableDao.removeCourse(course);            groupDao.removeGroup(group);            timetableDao.removeSubject(subject);                        assertTrue(true);        } catch (RemoteException e2) {            assertTrue(false);        } catch (HibernateException e) {            e.printStackTrace();            assertTrue(false);        }    }