@Test
public void testUndefAnonymClassInstanceCreation() {
FamixClass unresolvedCalls = (FamixClass) fModel.getElement(fFactory.createClass("testPackage.UnresolvedCalls", null));
FamixClass undefAnonymClass = (FamixClass) fModel.getElement(fFactory.createClass("testPackage.UnresolvedCalls$1F", null));
FamixMethod caller = (FamixMethod) fModel.getElement(fFactory.createMethod("testPackage.UnresolvedCalls.unresolvedAnonymClass()", null));
FamixMethod oinitAnonym = (FamixMethod) fModel.getElement(fFactory.createMethod("testPackage.UnresolvedCalls$1F.<oinit>()", null));
FamixMethod initAnonym = (FamixMethod) fModel.getElement(fFactory.createMethod("testPackage.UnresolvedCalls$1F.<init>(int,java.lang.String)", null));
FamixMethod inUndefAnonym = (FamixMethod) fModel.getElement(fFactory.createMethod("testPackage.UnresolvedCalls$1F.inUndefAnonym(<undef>.String,<undef>.NotDef2)", null));
FamixMethod inUndefAnonym2 = (FamixMethod) fModel.getElement(fFactory.createMethod("testPackage.UnresolvedCalls$1F.inUndefAnonym(<undef>.String)", null));
FamixAttribute fieldInAnonym = (FamixAttribute) fModel.getElement(fFactory.createAttribute("testPackage.UnresolvedCalls$1F.fieldInAnonym", null));
assertNotNull("FamixClass testPackage.UnresolvedCalls must exist", unresolvedCalls);
assertNotNull("Anonym class testPackage.UnresolvedCalls$1 must exist", undefAnonymClass);
assertNotNull("FamixMethod testPackage.UnresolvedCalls.unresolvedAnonymClass() must exist", caller);
assertNotNull("Initializer testPackage.UnresolvedCalls$1F.<oinit>() must exist", oinitAnonym);
assertNotNull("Constructor testPackage.UnresolvedCalls$1.<init>() must exist", initAnonym);
assertNotNull("FamixMethod testPackage.UnresolvedCalls$1F.inUndefAnonym(<undef>.String,<undef>.NotDef2) must exist", inUndefAnonym);
assertNotNull("FamixMethod testPackage.UnresolvedCalls$1F.inUndefAnonym(java.lang.String) must exist", inUndefAnonym2);
assertNotNull("FamixAttribute testPackage.UnresolvedCalls$1F.fieldInAnonym must exist", fieldInAnonym);
assertTrue("FamixMethod " + caller.getUniqueName() + " must contain anonym class " + undefAnonymClass.getUniqueName(), caller.getAnonymClasses().contains(undefAnonymClass));
assertTrue("Anonym class " + undefAnonymClass.getUniqueName() + " must contain initializer " + oinitAnonym.getUniqueName(), undefAnonymClass.getMethods().contains(oinitAnonym));
assertTrue("Anonym class " + undefAnonymClass.getUniqueName() + " must contain initializer " + initAnonym.getUniqueName(), undefAnonymClass.getMethods().contains(initAnonym));
assertTrue("Anonym class " + undefAnonymClass.getUniqueName() + " must contain method " + inUndefAnonym.getUniqueName(), undefAnonymClass.getMethods().contains(inUndefAnonym));
assertTrue("Anonym class " + undefAnonymClass.getUniqueName() + " must contain method " + inUndefAnonym2.getUniqueName(), undefAnonymClass.getMethods().contains(inUndefAnonym2));
assertTrue("Anonym class " + undefAnonymClass.getUniqueName() + " must contain attribute " + fieldInAnonym.getUniqueName(), undefAnonymClass.getAttributes().contains(fieldInAnonym));
Set<FamixAssociation> lRelations = fModel.getAssociations(caller);
int nrContainsInvocation = TestHelper.containsRelationTo(initAnonym, lRelations);
assertEquals("FamixInvocation relationships from " + caller.getUniqueName() + " to " + initAnonym.getUniqueName(), 1, nrContainsInvocation);