@Test
public void testCanParsePackageInfo() throws Exception
{
InputStream stream = JavaPackageInfoTest.class
.getResourceAsStream("/org/jboss/forge/grammar/java/package-info.java");
JavaPackageInfoSource javaPkg = Roaster.parse(JavaPackageInfoSource.class, stream);
assertEquals("org.jboss.forge.test.roaster.model", javaPkg.getPackage());
Assert.assertEquals("package-info", javaPkg.getName());
Assert.assertNotNull(javaPkg.getImport("javax.xml.bind.annotation.XmlSchema"));
Import XmlAccessTypeField = javaPkg.getImport("javax.xml.bind.annotation.XmlAccessType.FIELD");
Assert.assertNotNull(XmlAccessTypeField);
Assert.assertTrue(XmlAccessTypeField.isStatic());
List<AnnotationSource<JavaPackageInfoSource>> annotations = javaPkg.getAnnotations();
Assert.assertEquals(2, annotations.size());
Annotation<JavaPackageInfoSource> annotation = javaPkg.getAnnotation("XmlSchema");
List<ValuePair> values = annotation.getValues();
Assert.assertEquals(3, values.size());
String namespace = annotation.getLiteralValue("namespace");
Assert.assertEquals(namespace, "\"http://forge.org/Test\"");
AnnotationSource<JavaPackageInfoSource> annotationXmlOrder = javaPkg
.addAnnotation("javax.xml.bind.annotation.XmlAccessorOrder");
AnnotationSource<JavaPackageInfoSource> annotationXmlAccessorOrder = javaPkg.getAnnotation("XmlAccessorOrder");
Assert.assertEquals(annotationXmlOrder.getName(), annotationXmlAccessorOrder.getName());
}