[54454] Array Types not reflecting correctly
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java index ed25e2d..23b7bd8 100644 --- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java +++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java
@@ -11,7 +11,7 @@ *******************************************************************************/ /* * $RCSfile: TestStandard.java,v $ - * $Revision: 1.4 $ $Date: 2004/03/22 23:49:30 $ + * $Revision: 1.5 $ $Date: 2004/05/05 21:03:10 $ */ import java.util.Iterator; @@ -46,6 +46,107 @@ super(name); } + public void testArrayClassType() { + // Test one dimension array type for a class as final component + JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jem.tests.beaninfo.Test1Class[]", rset); + + assertTrue(at.isArray()); + assertSame(TypeKind.CLASS_LITERAL, at.getKind()); + assertEquals(1, ((ArrayType) at).getArrayDimensions()); + assertTrue(at.isPublic()); + assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName())); + assertTrue(at.getImplementsInterfaces().size() == 2); + assertTrue(at.getMethods().isEmpty()); + assertTrue(at.getFields().isEmpty()); + assertTrue(at.getProperties().isEmpty()); + assertTrue(at.getEvents().isEmpty()); + assertTrue(at.getEOperations().isEmpty()); + } + + public void testArrayPrimitiveType() { + // Test one dimension array type for a class as final component + JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("int[]", rset); + + assertTrue(at.isArray()); + assertSame(TypeKind.CLASS_LITERAL, at.getKind()); + assertEquals(1, ((ArrayType) at).getArrayDimensions()); + assertTrue(at.isPublic()); + assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName())); + assertTrue(at.getImplementsInterfaces().size() == 2); + assertTrue(at.getMethods().isEmpty()); + assertTrue(at.getFields().isEmpty()); + assertTrue(at.getProperties().isEmpty()); + assertTrue(at.getEvents().isEmpty()); + assertTrue(at.getEOperations().isEmpty()); + } + + public void testArrayUndefined() { + // Test one dimension array type for a class as final component that is undefined. + JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("XYZ[]", rset); + + assertTrue(at.isArray()); + assertSame(TypeKind.UNDEFINED_LITERAL, at.getKind()); + } + + public void testArrayClassType2Dim() { + // Test one dimension array type for a class as final component + JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jem.tests.beaninfo.Test1Class[][]", rset); + + assertTrue(at.isArray()); + assertSame(TypeKind.CLASS_LITERAL, at.getKind()); + assertEquals(2, ((ArrayType) at).getArrayDimensions()); + assertTrue(at.isPublic()); + assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName())); + assertTrue(at.getImplementsInterfaces().size() == 2); + assertTrue(at.getMethods().isEmpty()); + assertTrue(at.getFields().isEmpty()); + assertTrue(at.getProperties().isEmpty()); + assertTrue(at.getEvents().isEmpty()); + assertTrue(at.getEOperations().isEmpty()); + } + + public void testArrayPrimitiveType2Dim() { + // Test one dimension array type for a class as final component + JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("int[][]", rset); + + assertTrue(at.isArray()); + assertSame(TypeKind.CLASS_LITERAL, at.getKind()); + assertEquals(2, ((ArrayType) at).getArrayDimensions()); + assertTrue(at.isPublic()); + assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName())); + assertTrue(at.getImplementsInterfaces().size() == 2); + assertTrue(at.getMethods().isEmpty()); + assertTrue(at.getFields().isEmpty()); + assertTrue(at.getProperties().isEmpty()); + assertTrue(at.getEvents().isEmpty()); + assertTrue(at.getEOperations().isEmpty()); + } + + public void testArrayUndefined2Dim() { + // Test one dimension array type for a class as final component that is undefined. + JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("XYZ[][]", rset); + + assertTrue(at.isArray()); + assertSame(TypeKind.UNDEFINED_LITERAL, at.getKind()); + } + + public void testArrayInnerClassType() { + // Test one dimension array type for a class as final component + JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jem.tests.beaninfo.Customer$Account[]", rset); + + assertTrue(at.isArray()); + assertSame(TypeKind.CLASS_LITERAL, at.getKind()); + assertEquals(1, ((ArrayType) at).getArrayDimensions()); + assertTrue(at.isPublic()); + assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName())); + assertTrue(at.getImplementsInterfaces().size() == 2); + assertTrue(at.getMethods().isEmpty()); + assertTrue(at.getFields().isEmpty()); + assertTrue(at.getProperties().isEmpty()); + assertTrue(at.getEvents().isEmpty()); + assertTrue(at.getEOperations().isEmpty()); + } + public void testBeanDecoratorReflected() { JavaClass test1Class = getTest1Class();