KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > quilt > cl > TestSamples


1 /* TestSamples.java */
2 package org.quilt.cl;
3
4 import java.io.*;
5 import java.lang.Class JavaDoc;
6 import java.lang.reflect.*;
7 import java.net.*;
8 import junit.framework.*;
9
10 /**
11  * Checks to make sure that the samples in test-data will load
12  * and execute correctly. Some of them wouldn't ;-)
13  *
14  * @author <a HREF="jddixon@users.sourceforge.net">Jim Dixon</a>
15  */

16 public class TestSamples extends TestCase {
17
18     public TestSamples (String JavaDoc name) {
19         super(name);
20     }
21
22     public void setUp () {
23     }
24     
25     private RunTest loadAsRunTest (String JavaDoc name) {
26         Class JavaDoc clazz = null;
27         try {
28             clazz = Class.forName (name);
29         } catch (ClassNotFoundException JavaDoc e) {
30             e.printStackTrace();
31             fail ("exception loading " + name + " using loadClass");
32         }
33         RunTest rt = null;
34         try {
35             rt = (RunTest) clazz.newInstance();
36         } catch ( InstantiationException JavaDoc e ) {
37             fail ("InstantiationException instantiating loaded class " + name);
38         } catch ( IllegalAccessException JavaDoc e ) {
39             fail ("IllegalAccessException instantiating loaded class " + name);
40         } catch (ClassCastException JavaDoc e) {
41             fail ("ClassCastException instantiating loaded class " + name);
42         }
43         return rt;
44     }
45     public void testInvokeTestData() {
46         RunTest rt = loadAsRunTest("AnonymousClass");
47         // AnonymousClass.runTest(x) returns x
48
assertEquals ("AnonymousClass isn't working", 47, rt.runTest(47));
49
50         rt = loadAsRunTest("BasicLoad");
51         // BasicLoad.runTest(x) returns x*x
52
assertEquals ("BasicLoad isn't working", 49, rt.runTest(7));
53
54         rt = loadAsRunTest("ComplicatedConstructor");
55         assertEquals("ComplicatedConstructor isn't working",
56                                                     61, rt.runTest(3));
57         // XXX causes ClassCastException when instantiating
58
rt = loadAsRunTest("ExceptionLoad");
59         // ExceptionLoad.runTest(x) also returns x*x
60
assertEquals ("ExceptionLoad isn't working", 121, rt.runTest(11));
61     }
62     public void testInvokeTestData2() {
63         RunTest rt = loadAsRunTest("Finally");
64         // Finally.runTest(x) returns -1
65
assertEquals ("Finally isn't working", -1, rt.runTest(11));
66         assertEquals ("Finally isn't working", -1, rt.runTest(1));
67
68         rt = loadAsRunTest("Finally2Catches");
69         // what Finally.runTest(x) returns is a bit complicated ...
70
assertEquals ("Finally2Catches isn't working", 3600, rt.runTest(11));
71
72         rt = loadAsRunTest("InnerClass");
73         // InnerClass.runTest(x) also returns x*x
74
assertEquals ("InnerClass isn't working", 9, rt.runTest(3));
75
76         rt = loadAsRunTest("Looper");
77         assertEquals("Looper isn't working", 127008000, rt.runTest(5));
78
79         rt = loadAsRunTest("NestedTryBlocks");
80         assertEquals ("NestedTryBlocks isn't working", 22, rt.runTest(7));
81
82         rt = loadAsRunTest("OddSwitches");
83         // we like to play
84
assertEquals( 91, rt.runTest(1001));
85         assertEquals( 31, rt.runTest(3));
86         assertEquals( 9, rt.runTest(9));
87         assertEquals(101, rt.runTest(1005));
88         assertEquals(-41, rt.runTest(-1));
89         assertEquals( -3, rt.runTest(-51));
90         assertEquals( 7, rt.runTest(-2));
91     }
92
93     public void testInvokeTestData3() {
94         RunTest rt;
95         try {
96             Class JavaDoc clazz = Class.forName("PrivateClass");
97             rt = (RunTest) clazz.newInstance();
98             fail ("Expected IllegalAccessException");
99         } catch ( Exception JavaDoc e) {
100             ; // ignore it
101
}
102
103         rt = loadAsRunTest("StaticInit");
104         assertEquals("StaticInit isn't working", 10, rt.runTest(7));
105
106         rt = loadAsRunTest("SuperClass");
107         // returns 3*x
108
assertEquals ("SuperClass isn't working", 21, rt.runTest(7));
109         
110         rt = loadAsRunTest("SwitchLoad");
111         assertEquals ("SwitchLoad isn't working", 42, rt.runTest(7));
112
113     }
114 }
115
Popular Tags