package org.freehep.aid;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.lang.reflect.Array;
import java.lang.reflect.Method;
import junit.framework.*;
import org.freehep.util.Assert;
import org.freehep.util.io.UniquePrintStream;
/**
* @author Mark Donszelmann
* @version $Id: TestSuite.java 8584 2006-08-10 23:06:37Z duns $
*/
public class TestSuite {
// for running under Junit from ant
public TestSuite(String name) {
suite();
}
public static class TestCase extends junit.framework.TestCase {
private String src;
private String dst;
private String prefix;
private String name;
private String ext;
public TestCase(String src, String dst, String prefix, String name, String ext) {
super("Test for "+prefix+name+"."+ext);
this.src = src;
this.dst = dst;
this.prefix = prefix;
this.name = name;
this.ext = ext;
}
protected void runTest() throws Throwable {
File actual = new File(src+prefix+name+"."+ext);
File expected = new File(dst+prefix+name+"."+ext);
Assert.assertEquals(actual, expected, false);
}
}
private static void addTest(String src, String dst, junit.framework.TestSuite suite, String name) {
suite.addTest(new TestCase(src, dst , "" , name, "java"));
// Not generated
// suite.addTest(new TestCase(dir , "Abstract", name, "java"));
suite.addTest(new TestCase(src+"include/AIDTEST/", src+"include/AIDTEST/", "" , name, "h"));
// JNI generation code not correct anyway yet.
// suite.addTest(new TestCase(dir+"jni/" , "J" , name, "h"));
// suite.addTest(new TestCase(dir+"jni/" , "J" , name, "cpp"));
}
public static junit.framework.TestSuite suite() {
junit.framework.TestSuite suite = new junit.framework.TestSuite();
String src = "target/aid-generated/org/freehep/aid/";
String dst = "ref/org/freehep/aid/";
addTest(src, dst, suite, "ITestArrays");
addTest(src, dst, suite, "ITestCollections");
addTest(src, dst, suite, "ITestConstants");
addTest(src, dst, suite, "ITestEmpty");
addTest(src, dst, suite, "ITestEnumerations");
addTest(src, dst, suite, "ITestGenericsDefine");
addTest(src, dst, suite, "ITestGenericsDefine2");
addTest(src, dst, suite, "ITestGenericsUse");
addTest(src, dst, suite, "ITestInterface");
addTest(src, dst, suite, "ITestObjects");
addTest(src, dst, suite, "ITestPackageClosure");
addTest(src, dst, suite, "ITestPrimitives");
addTest(src, dst, suite, "ITestVoid");
suite.addTest(new TestCase(src+"dev/", dst+"dev/", "" , "ITestNameSpace", "java"));
// Not generated
// suite.addTest(new TestCase("target/aid-generated/org/freehep/aid/dev/", "Abstract", "ITestNameSpace", "java"));
suite.addTest(new TestCase(src+"include/AIDTEST_Dev/", dst+"include/AIDTEST_Dev/",
"", "ITestNameSpace", "h"));
suite.addTest(new TestCase(src+"dev/", dst+"dev/", "" , "ITestNameSpace2", "java"));
// Not generated
// suite.addTest(new TestCase("target/aid-generated/org/freehep/aid/dev/", "Abstract", "ITestNameSpace2", "java"));
suite.addTest(new TestCase(src+"include/AIDTEST_Dev/", dst+"include/AIDTEST_Dev/",
"", "ITestNameSpace2", "h"));
// JNI generation code not correct anyway yet.
// suite.addTest(new TestCase("target/aid-generated/org/freehep/aid/jni/",
// "J", "ITestNameSpace", "h"));
// suite.addTest(new TestCase("target/aid-generated/org/freehep/aid/jni/",
// "J", "ITestNameSpace", "cpp"));
return suite;
}
public static void main(String[] args) {
UniquePrintStream stderr = new UniquePrintStream(System.err);
System.setErr(stderr);
junit.textui.TestRunner.run(suite());
stderr.finish();
}
}