@Test
public void testNonStaticInnerClassConstructor() {

  try {
    // The test class
    final JavaClassId cid =
        JavaId.parseClassQName("org.eclipse.steady.java.monitor.ClassVisitorTest$NonStaticInner");
    // Get a CtClass and identify its constructors
    final ClassPool cp = ClassPool.getDefault();
    final CtClass ctclass = cp.get(cid.getQualifiedName());
    final ClassVisitor cv = new ClassVisitor(ctclass);
    final Set<ConstructId> constructors = cv.visitConstructors(false);
    // Expected result (no first parameter of type outer class, no diamond for type parameters)
    final JavaConstructorId expected =
        JavaId.parseConstructorQName(
            "org.eclipse.steady.java.monitor.ClassVisitorTest$NonStaticInner(Map)");
    // Check that certain constructs have been found
    assertEquals(expected, constructors.iterator().next());
  } catch (NotFoundException e) {
    System.err.println(e.getMessage());
    assertTrue(false);
  } catch (CannotCompileException e) {
    System.err.println(e.getMessage());
    assertTrue(false);
  }
}