1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.beanutils.converters;
19
20 import junit.framework.TestCase;
21 import junit.framework.TestSuite;
22
23 /***
24 * Tests for the ClassReloader utility class.
25 */
26
27 public class ClassReloaderTestCase extends TestCase {
28
29
30
31 public ClassReloaderTestCase(String name) {
32 super(name);
33 }
34
35
36 public static TestSuite suite() {
37 return new TestSuite(ClassReloaderTestCase.class);
38 }
39
40
41
42 public static class DummyClass {
43 }
44
45 /***
46 * Test basic operation of the ClassReloader.
47 */
48 public void testBasicOperation() throws Exception {
49 ClassLoader sharedLoader = this.getClass().getClassLoader();
50 ClassReloader componentLoader = new ClassReloader(sharedLoader);
51
52 Class sharedClass = DummyClass.class;
53 Class componentClass = componentLoader.reload(sharedClass);
54
55
56 assertTrue(sharedClass != componentClass);
57
58
59 assertSame(sharedLoader, sharedClass.getClassLoader());
60 assertSame(componentLoader, componentClass.getClassLoader());
61 assertTrue(sharedLoader != componentLoader);
62
63
64 Object obj1 = sharedClass.newInstance();
65 Object obj2 = componentClass.newInstance();
66
67 assertTrue("Obj1 class incorrect", sharedClass.isInstance(obj1));
68 assertFalse("Obj1 class incorrect", componentClass.isInstance(obj1));
69 assertFalse("Obj2 class incorrect", sharedClass.isInstance(obj2));
70 assertTrue("Obj2 class incorrect", componentClass.isInstance(obj2));
71 }
72
73 }
74