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