00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 package org.w3c.domts;
00052
00053 import org.w3c.dom.*;
00054 import org.w3c.domts.*;
00055 import java.util.*;
00056 import java.net.*;
00057 import java.lang.reflect.*;
00058
00062 public abstract class DOMTestCase extends DOMTest {
00063 private DOMTestFramework framework;
00064
00071 public DOMTestCase() {
00072 framework = null;
00073 }
00074
00079 public DOMTestCase(DOMTestDocumentBuilderFactory factory) {
00080 super(factory);
00081 framework = null;
00082 }
00083
00084
00089 public static void doMain(Class testClass,String[] args) {
00090
00091
00092
00093 Class runnerClass = null;
00094 ClassLoader loader = ClassLoader.getSystemClassLoader();
00095 Exception classException = null;
00096 Constructor runnerFactory = null;
00097 try {
00098 runnerClass = loader.loadClass("org.w3c.domts.JUnitRunner");
00099 runnerFactory = runnerClass.getConstructor(new Class[] { Class.class });
00100 }
00101 catch(Exception ex) {
00102 classException = ex;
00103 try {
00104 runnerClass = loader.loadClass("org.w3c.domts.AvalonRunner");
00105 runnerFactory = runnerClass.getConstructor(new Class[] { Class.class });
00106 }
00107 catch(Exception ex2) {
00108 classException = ex2;
00109 }
00110 }
00111 if(runnerClass == null || runnerFactory == null) {
00112 System.out.println("junit-run.jar amd junit.jar or avalon-run.jar and testlet.jar\n must be in same directory or on classpath.");
00113 if(classException != null) {
00114 classException.printStackTrace();
00115 }
00116 }
00117 else {
00118 try
00119 {
00120
00121
00122
00123 Object junitRun = runnerFactory.newInstance(new Object[] { testClass });
00124
00125
00126
00127 Class argsClass = loader.loadClass("[Ljava.lang.String;");
00128 Method execMethod = runnerClass.getMethod("execute", new Class[] { argsClass });
00129 execMethod.invoke(junitRun, new Object[] { args });
00130 }
00131 catch(InvocationTargetException ex) {
00132 ex.getTargetException().printStackTrace();
00133 }
00134 catch(Exception ex) {
00135 ex.printStackTrace();
00136 }
00137 }
00138 }
00139
00140 abstract public void runTest() throws Throwable;
00141
00142
00143 public void setFramework(DOMTestFramework framework) {
00144 this.framework = framework;
00145 }
00146
00147
00148
00149 public void wait(int millisecond) {
00150 framework.wait(millisecond);
00151 }
00152
00153
00154 public void assertTrue(String assertID, boolean actual) {
00155 framework.assertTrue(this,assertID,actual);
00156 }
00157
00158 public void assertFalse(String assertID, boolean actual) {
00159 framework.assertFalse(this,assertID,actual);
00160 }
00161
00162 public void assertNull(String assertID, Object actual) {
00163 framework.assertNull(this,assertID,actual);
00164 }
00165
00166 public void assertNotNull(String assertID, Object actual) {
00167 framework.assertNotNull(this,assertID,actual);
00168 }
00169
00170 public void assertSame(String assertID, Object expected, Object actual) {
00171 framework.assertSame(this,assertID, expected, actual);
00172 }
00173
00174 public void assertInstanceOf(String assertID, Class cls, Object obj) {
00175 framework.assertInstanceOf(this,assertID, obj,cls);
00176 }
00177
00178
00179 public void assertSize(String assertID, int expectedSize, NodeList collection) {
00180 framework.assertSize(this,assertID, expectedSize, collection);
00181 }
00182
00183 public void assertSize(String assertID, int expectedSize, NamedNodeMap collection) {
00184 framework.assertSize(this, assertID, expectedSize, collection);
00185 }
00186
00187 public void assertSize(String assertID, int expectedSize, Collection collection) {
00188 framework.assertSize(this, assertID, expectedSize, collection);
00189 }
00190
00191 public void assertEqualsIgnoreCase(String assertID, String expected, String actual) {
00192 framework.assertEqualsIgnoreCase(this, assertID, expected, actual);
00193 }
00194
00195 public void assertEqualsIgnoreCase(String assertID, Collection expected, Collection actual) {
00196 framework.assertEqualsIgnoreCase(this, assertID, expected,actual);
00197 }
00198
00199 public void assertEqualsIgnoreCase(String assertID, List expected, List actual) {
00200 framework.assertEqualsIgnoreCase(this, assertID, expected,actual);
00201 }
00202
00203 public void assertEquals(String assertID, String expected, String actual) {
00204 framework.assertEquals(this, assertID, expected,actual);
00205 }
00206
00207 public void assertEquals(String assertID, int expected, int actual) {
00208 framework.assertEquals(this, assertID, expected, actual);
00209 }
00210
00211 public void assertEquals(String assertID, double expected, double actual) {
00212 framework.assertEquals(this, assertID, expected,actual);
00213 }
00214
00215 public void assertEquals(String assertID, Collection expected, NodeList actual) {
00216 Collection actualList = new ArrayList();
00217 int actualLen = actual.getLength();
00218 for(int i = 0; i < actualLen; i++) {
00219 actualList.add(actual.item(i));
00220 }
00221 framework.assertEquals(this, assertID, expected,actualList);
00222 }
00223
00224 public void assertEquals(String assertID, Collection expected, Collection actual) {
00225 framework.assertEquals(this, assertID,expected,actual);
00226 }
00227
00228 public void assertNotEqualsIgnoreCase(String assertID, String expected, String actual) {
00229 framework.assertNotEqualsIgnoreCase(this, assertID,expected,actual);
00230 }
00231
00232 public void assertNotEquals(String assertID, String expected, String actual) {
00233 framework.assertNotEquals(this, assertID,expected,actual);
00234 }
00235
00236 public void assertNotEquals(String assertID, int expected, int actual) {
00237 framework.assertNotEquals(this, assertID, expected,actual);
00238 }
00239
00240 public void assertNotEquals(String assertID, double expected, double actual) {
00241 framework.assertNotEquals(this, assertID,expected,actual);
00242 }
00243
00244 public void assertURIEquals(String assertID, String scheme, String path, String host, String file, String query, String fragment, Boolean isAbsolute, String actual) throws java.net.MalformedURLException {
00245 framework.assertURIEquals(this, assertID, scheme, path, host, file, query, fragment, isAbsolute, actual);
00246 }
00247
00248
00249 public boolean same(Object expected, Object actual) {
00250 return framework.same(expected,actual);
00251 }
00252
00253 public boolean equalsIgnoreCase(String expected, String actual) {
00254 return framework.equalsIgnoreCase(expected,actual);
00255 }
00256
00257 public boolean equalsIgnoreCase(Collection expected, Collection actual) {
00258 return framework.equalsIgnoreCase(expected,actual);
00259 }
00260
00261 public boolean equalsIgnoreCase(List expected, List actual) {
00262 return framework.equalsIgnoreCase(expected,actual);
00263 }
00264
00265 public boolean equals(String expected, String actual) {
00266 return framework.equals(expected,actual);
00267 }
00268
00269 public boolean equals(int expected, int actual) {
00270 return framework.equals(expected,actual);
00271 }
00272
00273 public boolean equals(double expected, double actual) {
00274 return framework.equals(expected,actual);
00275 }
00276
00277 public boolean equals(Collection expected, Collection actual) {
00278 return framework.equals(expected,actual);
00279 }
00280
00281 public boolean equals(List expected, List actual) {
00282 return framework.equals(expected,actual);
00283 }
00284
00285 public int size(Collection collection) {
00286 return framework.size(collection);
00287 }
00288
00289 public int size(NamedNodeMap collection) {
00290 return framework.size(collection);
00291 }
00292
00293 public int size(NodeList collection) {
00294 return framework.size(collection);
00295 }
00296
00297
00298 }
00299