1 17 18 package org.sape.carbon.core.util.reflection.test; 19 20 import java.util.Arrays ; 21 import java.util.HashSet ; 22 import java.util.Set ; 23 24 import org.sape.carbon.core.util.reflection.ClassUtil; 25 26 import junit.extensions.ActiveTestSuite; 27 import junit.framework.Test; 28 import junit.framework.TestCase; 29 import junit.framework.TestSuite; 30 31 39 public class ClassUtilTest extends TestCase { 40 41 public ClassUtilTest(String name) { 42 super(name); 43 } 44 45 46 public static interface A {} 47 public static interface B extends A {} 48 public static interface C extends A {} 49 public static interface D extends B, C {} 50 public static class E implements C, B {} 51 public static interface F extends B {} 52 public static class G extends E implements F {} 53 public static class H {} 54 public static class I extends H {} 55 56 69 70 public void testSuperInterfaces() { 71 72 Set expectedResult = 73 new HashSet (Arrays.asList( 74 new Class [] { A.class, B.class, C.class, D.class } )); 75 76 77 Class [] resultArray = ClassUtil.getSuperInterfaces(new Class [] { D.class }); 78 79 Set results = 80 new HashSet (Arrays.asList(resultArray)); 81 82 assertTrue( 83 "There were more expected results then found.", 84 results.containsAll(expectedResult)); 85 86 assertTrue( 87 "There were more results then expected.", 88 expectedResult.containsAll(results)); 89 90 } 91 92 public void testGeneralizations() { 93 Set expectedResult = 94 new HashSet (Arrays.asList( 95 new Class [] { A.class, B.class, C.class, E.class, Object .class })); 96 97 Set generalizations = ClassUtil.getGeneralizations(E.class); 98 99 100 assertTrue( 101 "There were more expected results then found.", 102 generalizations.containsAll(expectedResult)); 103 104 assertTrue( 105 "There were more results then expected.", 106 expectedResult.containsAll(generalizations)); 107 108 } 109 110 111 112 113 117 public static Test suite() { 118 TestSuite masterSuite = new TestSuite(); 119 120 Test singleThreadedTests = getSingleThreadedTests(); 122 if (singleThreadedTests != null) { 123 masterSuite.addTest(singleThreadedTests); 124 } 125 126 Test multiThreadedTests = getMultiThreadedTests(); 128 if (multiThreadedTests != null) { 129 masterSuite.addTest(multiThreadedTests); 130 } 131 132 return masterSuite; 133 } 134 135 144 private static Test getSingleThreadedTests() { 145 TestSuite suite = new TestSuite(); 146 152 suite.addTest(new ClassUtilTest("testSuperInterfaces")); 153 suite.addTest(new ClassUtilTest("testGeneralizations")); 154 155 return suite; 156 } 157 158 167 private static Test getMultiThreadedTests() { 168 TestSuite suite = new ActiveTestSuite(); 169 175 return suite; 176 } 177 178 188 private static void addTest(TestSuite suite, String testName, int number) { 189 for (int count = 0; count < number; count++) { 190 suite.addTest(new ClassUtilTest(testName)); 191 } 192 } 193 } | Popular Tags |