/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.jena.rdfxml.xmlinput; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import org.apache.jena.iri.IRI; import org.apache.jena.iri.IRIFactory; import junit.framework.Test; import junit.framework.TestSuite; /** * The JUnit test suite for ARP. */ public class ARPTests extends java.lang.Object { /** * Setting this field to true uses the tests found * on the W3C web site. * The default value false uses a cached corrected * copy of the tests. */ static public boolean internet = false; static IRI wgTestDir = IRIFactory.iriImplementation().create("http://www.w3.org/2000/10/rdf-tests/rdfcore/"); static IRI arpTestDir = IRIFactory.iriImplementation().create("http://jcarroll.hpl.hp.com/arp-tests/"); /** Creates new ARPTests */ static public Test suite() { TestSuite s = new TestSuite("ARP"); if (internet) { s.addTest(NTripleTestSuite.suite(wgTestDir, wgTestDir.toString(), "WG Parser Tests")); } else { s.addTest(WGTestSuite.suite(wgTestDir, "wg", // URI.create( // "file://src/com/hp/hpl/jena/rdf/arp/test/data/wg/"), "WG Parser Tests")); s.addTest(WGTestSuite.suite(arpTestDir, "arp", // URI.create( // "file://src/com/hp/hpl/jena/rdf/arp/test/data/arp-bugs/"), "ARP Tests")); s.addTest(NTripleTestSuite.suite(wgTestDir, "wg", // URI.create( // "file://src/com/hp/hpl/jena/rdf/arp/test/data/wg/"), "NTriple WG Tests")); } return s; } static int cnt = 0; static String toJava(Test s,PrintWriter pw, String wgparent) { String name = "test"+cnt++; if ( s instanceof TestSuite ) { TestSuite ts = (TestSuite)s; if ( s instanceof WGTestSuite ) { pw.println("WGTestSuite "+name + " = " + ((WGTestSuite)s).createMe+";"); wgparent = name; } else { pw.println("TestSuite "+name + " = new TestSuite(\""+ts.getName()+"\");"); } Enumeration<Test> ee = ts.tests(); while ( ee.hasMoreElements() ) { Test tt = ee.nextElement(); if ( tt == null ) continue; String sub = toJava(tt,pw ,wgparent); pw.println(name+".addTest("+sub+");"); } } else if ( s instanceof WGTestSuite.Test ) { String className = s.getClass().getName(); String localPart = className.substring(className.lastIndexOf('$')+1); pw.println("Test "+ name + " = " + wgparent +".create" + localPart +"(" + ((WGTestSuite.Test)s).createMe() + ");"); } else { pw.println(name + " is of class " + s.getClass().getName()); } return name; } static public void main(String args[]) throws IOException { Test ts = suite(); PrintWriter pw = new PrintWriter(new FileWriter("src/java/test/com/hp/hpl/jena/rdfxml/xmlinput/test/TestPackage.java")); pw.println("/*") ; pw.println(" * Licensed to the Apache Software Foundation (ASF) under one") ; pw.println(" * or more contributor license agreements. See the NOTICE file") ; pw.println(" * distributed with this work for additional information") ; pw.println(" * regarding copyright ownership. The ASF licenses this file") ; pw.println(" * to you under the Apache License, Version 2.0 (the") ; pw.println(" * \"License\"); you may not use this file except in compliance") ; pw.println(" * with the License. You may obtain a copy of the License at") ; pw.println(" *") ; pw.println(" * http://www.apache.org/licenses/LICENSE-2.0") ; pw.println(" *") ; pw.println(" * Unless required by applicable law or agreed to in writing, software") ; pw.println(" * distributed under the License is distributed on an \"AS IS\" BASIS,") ; pw.println(" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.") ; pw.println(" * See the License for the specific language governing permissions and") ; pw.println(" * limitations under the License.") ; pw.println(" */") ; pw.println() ; pw.println("package org.apache.jena.rdfxml.xmlinput.test;"); pw.println("import junit.framework.TestSuite;"); pw.println("import junit.framework.Test;"); pw.println("import org.apache.jena.shared.wg.*;"); pw.println("public class TestPackage{"); pw.println("static public Test suite() {"); String tsname = toJava(ts, pw, "xx"); pw.println("return " + tsname+ ";"); pw.println("} }"); pw.println(""); pw.flush(); } }