Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/JavaTypeTests.java')
-rw-r--r--jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/JavaTypeTests.java250
1 files changed, 250 insertions, 0 deletions
diff --git a/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/JavaTypeTests.java b/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/JavaTypeTests.java
new file mode 100644
index 0000000000..1a0c0b826f
--- /dev/null
+++ b/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/JavaTypeTests.java
@@ -0,0 +1,250 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2007 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.utility.tests.internal;
+
+import junit.framework.TestCase;
+import org.eclipse.jpt.utility.internal.JavaType;
+
+public class JavaTypeTests extends TestCase {
+
+ public JavaTypeTests(String name) {
+ super(name);
+ }
+
+ public void testInvalidElementTypeNull() throws Exception {
+ boolean exCaught = false;
+ try {
+ JavaType javaType = new JavaType(null, 0);
+ fail("invalid JavaType: " + javaType);
+ } catch (IllegalArgumentException ex) {
+ exCaught = true;
+ }
+ assertTrue(exCaught);
+ }
+
+ public void testInvalidElementTypeEmpty() throws Exception {
+ boolean exCaught = false;
+ try {
+ JavaType javaType = new JavaType("", 0);
+ fail("invalid JavaType: " + javaType);
+ } catch (IllegalArgumentException ex) {
+ exCaught = true;
+ }
+ assertTrue(exCaught);
+ }
+
+ public void testInvalidElementTypeArray() throws Exception {
+ boolean exCaught = false;
+ try {
+ JavaType javaType = new JavaType(java.lang.Object[].class.getName(), 0);
+ fail("invalid JavaType: " + javaType);
+ } catch (IllegalArgumentException ex) {
+ exCaught = true;
+ }
+ assertTrue(exCaught);
+ }
+
+ public void testInvalidArrayDepthNegative() throws Exception {
+ boolean exCaught = false;
+ try {
+ JavaType javaType = new JavaType(java.lang.Object.class.getName(), -2);
+ fail("invalid JavaType: " + javaType);
+ } catch (IllegalArgumentException ex) {
+ exCaught = true;
+ }
+ assertTrue(exCaught);
+ }
+
+ public void testInvalidVoidArray() throws Exception {
+ boolean exCaught = false;
+ try {
+ JavaType javaType = new JavaType(void.class.getName(), 2);
+ fail("invalid JavaType: " + javaType);
+ } catch (IllegalArgumentException ex) {
+ exCaught = true;
+ }
+ assertTrue(exCaught);
+ }
+
+ public void testElementTypeName() throws Exception {
+ JavaType javaType;
+ javaType = new JavaType(java.lang.Object.class);
+ assertEquals("java.lang.Object", javaType.getElementTypeName());
+
+ javaType = new JavaType(java.lang.Object[].class);
+ assertEquals("java.lang.Object", javaType.getElementTypeName());
+
+ javaType = new JavaType(int.class);
+ assertEquals("int", javaType.getElementTypeName());
+
+ javaType = new JavaType(int[].class);
+ assertEquals("int", javaType.getElementTypeName());
+
+ javaType = new JavaType(void.class);
+ assertEquals("void", javaType.getElementTypeName());
+
+ javaType = new JavaType(java.util.Map.Entry.class);
+ assertEquals("java.util.Map$Entry", javaType.getElementTypeName());
+
+ javaType = new JavaType(java.util.Map.Entry[][].class);
+ assertEquals("java.util.Map$Entry", javaType.getElementTypeName());
+ }
+
+ public void testArrayDepth() throws Exception {
+ JavaType javaType;
+ javaType = new JavaType(java.lang.Object.class);
+ assertEquals(0, javaType.getArrayDepth());
+
+ javaType = new JavaType(java.lang.Object[].class);
+ assertEquals(1, javaType.getArrayDepth());
+
+ javaType = new JavaType(int.class);
+ assertEquals(0, javaType.getArrayDepth());
+
+ javaType = new JavaType(int[].class);
+ assertEquals(1, javaType.getArrayDepth());
+
+ javaType = new JavaType(void.class);
+ assertEquals(0, javaType.getArrayDepth());
+
+ javaType = new JavaType(java.util.Map.Entry.class);
+ assertEquals(0, javaType.getArrayDepth());
+
+ javaType = new JavaType(java.util.Map.Entry[][].class);
+ assertEquals(2, javaType.getArrayDepth());
+ }
+
+ public void testIsArray() throws Exception {
+ JavaType javaType;
+ javaType = new JavaType(java.lang.Object.class);
+ assertFalse(javaType.isArray());
+
+ javaType = new JavaType(java.lang.Object[].class);
+ assertTrue(javaType.isArray());
+
+ javaType = new JavaType(int.class);
+ assertFalse(javaType.isArray());
+
+ javaType = new JavaType(int[].class);
+ assertTrue(javaType.isArray());
+
+ javaType = new JavaType(void.class);
+ assertFalse(javaType.isArray());
+
+ javaType = new JavaType(java.util.Map.Entry.class);
+ assertFalse(javaType.isArray());
+
+ javaType = new JavaType(java.util.Map.Entry[][].class);
+ assertTrue(javaType.isArray());
+ }
+
+ public void testJavaClass() throws Exception {
+ this.verifyJavaClass(java.lang.Object.class);
+ this.verifyJavaClass(java.lang.Object[].class);
+ this.verifyJavaClass(int.class);
+ this.verifyJavaClass(int[].class);
+ this.verifyJavaClass(void.class);
+ this.verifyJavaClass(java.util.Map.Entry.class);
+ this.verifyJavaClass(java.util.Map.Entry[][].class);
+ }
+
+ private void verifyJavaClass(Class<?> javaClass) throws Exception {
+ JavaType javaType = new JavaType(javaClass);
+ assertEquals(javaClass, javaType.javaClass());
+ }
+
+ public void testJavaClassName() throws Exception {
+ JavaType javaType;
+ javaType = new JavaType(java.lang.Object.class);
+ assertEquals("java.lang.Object", javaType.javaClassName());
+
+ javaType = new JavaType(java.lang.Object[].class);
+ assertEquals("[Ljava.lang.Object;", javaType.javaClassName());
+
+ javaType = new JavaType(int.class);
+ assertEquals("int", javaType.javaClassName());
+
+ javaType = new JavaType(int[].class);
+ assertEquals("[I", javaType.javaClassName());
+
+ javaType = new JavaType(void.class);
+ assertEquals("void", javaType.javaClassName());
+
+ javaType = new JavaType(java.util.Map.Entry.class);
+ assertEquals("java.util.Map$Entry", javaType.javaClassName());
+
+ javaType = new JavaType(java.util.Map.Entry[][].class);
+ assertEquals("[[Ljava.util.Map$Entry;", javaType.javaClassName());
+ }
+
+ public void testDescribes() throws Exception {
+ this.verifyDescribes(java.lang.Object.class);
+ this.verifyDescribes(java.lang.Object[].class);
+ this.verifyDescribes(int.class);
+ this.verifyDescribes(int[].class);
+ this.verifyDescribes(void.class);
+ this.verifyDescribes(java.util.Map.Entry.class);
+ this.verifyDescribes(java.util.Map.Entry[][].class);
+ }
+
+ private void verifyDescribes(Class<?> javaClass) throws Exception {
+ JavaType javaType = new JavaType(javaClass);
+ assertTrue(javaType.describes(javaClass));
+ }
+
+ public void testDeclaration() throws Exception {
+ JavaType javaType;
+ javaType = new JavaType(java.lang.Object.class);
+ assertEquals("java.lang.Object", javaType.declaration());
+
+ javaType = new JavaType(java.lang.Object[].class);
+ assertEquals("java.lang.Object[]", javaType.declaration());
+
+ javaType = new JavaType(int.class);
+ assertEquals("int", javaType.declaration());
+
+ javaType = new JavaType(int[].class);
+ assertEquals("int[]", javaType.declaration());
+
+ javaType = new JavaType(void.class);
+ assertEquals("void", javaType.declaration());
+
+ javaType = new JavaType(java.util.Map.Entry.class);
+ assertEquals("java.util.Map.Entry", javaType.declaration());
+
+ javaType = new JavaType(java.util.Map.Entry[][].class);
+ assertEquals("java.util.Map.Entry[][]", javaType.declaration());
+ }
+
+ public void testIsPrimitive() throws Exception {
+ JavaType javaType;
+ javaType = new JavaType(java.lang.Object.class);
+ assertFalse(javaType.isPrimitive());
+
+ javaType = new JavaType(java.lang.Object[].class);
+ assertFalse(javaType.isPrimitive());
+
+ javaType = new JavaType(int.class);
+ assertTrue(javaType.isPrimitive());
+
+ javaType = new JavaType(int[].class);
+ assertFalse(javaType.isPrimitive());
+
+ javaType = new JavaType(void.class);
+ assertTrue(javaType.isPrimitive());
+
+ javaType = new JavaType(java.util.Map.Entry.class);
+ assertFalse(javaType.isPrimitive());
+
+ javaType = new JavaType(java.util.Map.Entry[][].class);
+ assertFalse(javaType.isPrimitive());
+ }
+
+}

Back to the top