@Test
public void testIfAnnotationPresent() throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
FoafPerson michael = new FoafPerson("Michael", "Wuersch");
Class<? extends FoafPerson> pClass = michael.getClass();
rdf annoPerson = pClass.getAnnotation(rdf.class);
assertEquals("value of @rdf for Person is unexpected", FoafPerson.foaf + "Person", annoPerson.value());
Method methodGetFirstName = pClass.getMethod("getFirstName");
Method methodGetFamilyName = pClass.getMethod("getFamilyName");
assertEquals("value of first name is unexpected", "Michael", methodGetFirstName.invoke(michael));
assertEquals("value of family name is unexpected", "Wuersch", methodGetFamilyName.invoke(michael));
rdf annoName = methodGetFirstName.getAnnotation(rdf.class);
assertEquals("value of @rdf for getFirstName is unexpected", FoafPerson.foaf + "firstName", annoName.value());
rdf annoFamilyName = methodGetFamilyName.getAnnotation(rdf.class);
assertEquals("value of @rdf for getFamilyName is unexpected", FoafPerson.foaf + "family_name", annoFamilyName.value());
FoafPerson gigs = new FoafPerson("Emanuel", "Giger");
PersonToPersonRelationship coworking = new PersonToPersonRelationship(michael, gigs);
Class<? extends PersonToPersonRelationship> ptpClass = coworking.getClass();
rdf annoPtP = ptpClass.getAnnotation(rdf.class);
assertEquals("isPredicate of @rdf for PersonToPersonRelationship is unexpected", true, annoPtP.isPredicate());
}