}
@Test
public void testInterfaceWithNestedClass()
{
JavaInterfaceSource javaInterface = Roaster
.parse(JavaInterfaceSource.class, "package org.example; public interface OuterInterface { " +
" public class InnerClass1{ " +
" public class InnerClass3{}" +
" } " +
" public class InnerClass2{} " +
"}");
Assert.assertEquals("org.example.OuterInterface", javaInterface.getCanonicalName());
List<JavaSource<?>> nestedClasses = javaInterface.getNestedTypes();
JavaClassSource inner1 = (JavaClassSource) nestedClasses.get(0);
JavaClassSource inner2 = (JavaClassSource) nestedClasses.get(1);
Assert.assertEquals(javaInterface, inner1.getEnclosingType());
Assert.assertEquals("org.example.OuterInterface.InnerClass1", inner1.getCanonicalName());
Assert.assertEquals("org.example.OuterInterface$InnerClass1", inner1.getQualifiedName());