Title: [1432] trunk/qdox/src/test/java/com/thoughtworks/qdox/model/impl/DefaultJavaClassIT.java: Improve DefaultJavaClassIT, also match with reflection
Revision
1432
Author
rfscholte
Date
2011-10-19 16:53:09 -0500 (Wed, 19 Oct 2011)

Log Message

Improve DefaultJavaClassIT, also match with reflection

Modified Paths


Diff

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/impl/DefaultJavaClassIT.java (1431 => 1432)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/impl/DefaultJavaClassIT.java	2011-10-19 21:04:27 UTC (rev 1431)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/impl/DefaultJavaClassIT.java	2011-10-19 21:53:09 UTC (rev 1432)
@@ -1,12 +1,15 @@
 package com.thoughtworks.qdox.model.impl;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import org.junit.Before;
 import org.junit.Test;
 
 import com.thoughtworks.qdox.library.ClassLoaderLibrary;
+import com.thoughtworks.qdox.model.BeanProperty;
 import com.thoughtworks.qdox.model.JavaClass;
 
 public class DefaultJavaClassIT
@@ -21,16 +24,18 @@
     }
 
     @Test
-    public void testSuperJavaClass()
+    public void testSuperJavaClass() throws Exception
     {
-        JavaClass clazz = library.getJavaClass( "java.util.HashSet" );
-        assertTrue( clazz instanceof DefaultJavaClass<?> );
-        JavaClass superClass = clazz.getSuperJavaClass();
+        JavaClass hashSetClass = library.getJavaClass( "java.util.HashSet" );
+        assertTrue( hashSetClass instanceof DefaultJavaClass<?> );
+        
+        JavaClass superClass = hashSetClass.getSuperJavaClass();
         assertEquals( "java.util.AbstractSet", superClass.getFullyQualifiedName() );
+        assertEquals( "java.util.AbstractSet", Class.forName( "java.util.HashSet" ).getSuperclass().getName() );
     }
 
     @Test
-    public void testIsAJavaClass()
+    public void testIsAJavaClass() throws Exception
     {
         JavaClass hashSetClass = library.getJavaClass( "java.util.HashSet" );
         assertTrue( hashSetClass instanceof DefaultJavaClass<?> );
@@ -38,17 +43,60 @@
         JavaClass setClass = library.getJavaClass( "java.util.Set" );
         assertTrue( hashSetClass.isA( setClass ) );
         assertTrue( hashSetClass.isA( "java.util.Set" ) );
+        //watch it!! isA() is the inverse of isAssignableFrom()
+        assertTrue( Class.forName( "java.util.Set" ).isAssignableFrom( Class.forName( "java.util.HashSet" ) ) );
     }
     
+    @Test 
+    public void testDeclaringClass() throws Exception
+    {
+        JavaClass entryClass = library.getJavaClass( "java.util.Map$Entry" );
+        assertTrue( entryClass instanceof DefaultJavaClass<?> );
+        
+        assertEquals( "java.util.Map", entryClass.getDeclaringClass().getFullyQualifiedName() );
+        assertEquals( "java.util.Map", Class.forName( "java.util.Map$Entry" ).getDeclaringClass().getName() );
+    }
+    
+    @Test 
+    public void testDeclaredClasses() throws Exception {
+        JavaClass mapClass = library.getJavaClass( "java.util.Map" );
+        assertTrue( mapClass instanceof DefaultJavaClass<?> );
+        
+        assertEquals( 1, mapClass.getNestedClasses().size() );
+        assertEquals( "java.util.Map$Entry",  mapClass.getNestedClassByName( "Entry" ).getFullyQualifiedName() );
+        assertEquals( 1, Class.forName( "java.util.Map" ).getDeclaredClasses().length );
+        assertEquals( "java.util.Map$Entry", Class.forName( "java.util.Map" ).getDeclaredClasses()[0].getName() );
+    }
+    
     @Test
-    public void testNames()
+    public void testBeanProperty() throws Exception
     {
+        JavaClass entryClass = library.getJavaClass( "java.util.Map$Entry" );
+        BeanProperty valueBean = entryClass.getBeanProperty( "value" );
+        assertNotNull( valueBean );
+        assertEquals( "java.lang.Object", valueBean.getType().getFullyQualifiedName() );
+        assertNotNull( valueBean.getAccessor() );
+        assertEquals( "public abstract java.lang.Object java.util.Map$Entry.getValue()", valueBean.getAccessor().toString() );
+        assertNotNull( valueBean.getMutator() );
+        assertEquals( "public abstract java.lang.Object java.util.Map$Entry.setValue(java.lang.Object)", valueBean.getMutator().toString() );
+        
+        BeanProperty keyBean = entryClass.getBeanProperty( "key" );
+        assertNotNull( keyBean.getAccessor() );
+        assertEquals( "public abstract java.lang.Object java.util.Map$Entry.getKey()", keyBean.getAccessor().toString() );
+        assertNull( keyBean.getMutator() );
+    }
+    
+    @Test
+    public void testNames() throws Exception
+    {
         //subclass
         JavaClass entryClass = library.getJavaClass( "java.util.Map$Entry" );
         assertTrue( entryClass instanceof DefaultJavaClass<?> );
         
         assertEquals( "java.util.Map$Entry", entryClass.getFullyQualifiedName() );
+        assertEquals( "java.util.Map$Entry", Class.forName( "java.util.Map$Entry" ).getName() );
         assertEquals( "java.util.Map.Entry", entryClass.getCanonicalName() );
+        assertEquals( "java.util.Map.Entry", Class.forName( "java.util.Map$Entry" ).getCanonicalName() );
         assertEquals( "Map.Entry", entryClass.getValue() );
         
     }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to