package com.ricebridge.xmlman.test;
import com.ricebridge.xmlman.*;
import com.ricebridge.xmlman.in.*;
import com.ricebridge.xmlman.in.test.*;
import com.ricebridge.xmlman.log.*;
import org.jostraca.util.*;
import junit.framework.*;
import junit.textui.*;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;
import java.util.*;
import java.io.*;
public class RecordSanityTest extends TestCase {
public RecordSanityTest( String pName ) {
super( pName );
}
public static TestSuite suite() {
return new TestSuite( RecordSanityTest.class );
}
public static void main( String[] pArgs ) {
TestRunner.run( suite() );
}
private static ArrayList sRecordSpecList = new ArrayList();
private static ArrayList sRecordDataList = new ArrayList();
static {
sRecordSpecList.add( new RecordSpec( "//library", new String[] { "@name"} ) );
sRecordDataList.add( ListUtil.make( new String[] {"clib1",},
new String[] {"lib1"} ) );
sRecordSpecList.add( new RecordSpec( "//book", new String[] { "@name", "publisher" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One", "Pub One"},
new String[] {"Book Two", "Pub One"},
new String[] {"Book Three", "Pub Two"},
new String[] {"Book Four", "Pub Two"},
new String[] {"Book Five", "Pub Three"} ) );
sRecordSpecList.add( new RecordSpec( "//book", new String[] { "@name", "/library/store/@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One", "foo"},
new String[] {"Book Two", "foo"},
new String[] {"Book Three", "foo"},
new String[] {"Book Four", "bar"},
new String[] {"Book Five", "bar"} ) );
sRecordSpecList.add( new RecordSpec( "//book[prize]", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One"},
new String[] {"Book Two"}) );
sRecordSpecList.add( new RecordSpec( "/library/store", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"foo"},
new String[] {"bar"} ) );
sRecordSpecList.add( new RecordSpec( "/library/store[2]", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"bar"} ) );
sRecordSpecList.add( new RecordSpec( "/library/store", new String[] { "@name", "'lib'", "1+1" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"foo","lib","2"},
new String[] {"bar","lib","2"} ) );
sRecordSpecList.add( new RecordSpec( "//book", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One", "Author One"},
new String[] {"Book Two", "Author Two"},
new String[] {"Book Three", "Author Three"},
new String[] {"Book Four", "Author Four"},
new String[] {"Book Five", "Author Five"} ) );
sRecordSpecList.add( new RecordSpec( "//store/book", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One", "Author One"},
new String[] {"Book Two", "Author Two"},
new String[] {"Book Three", "Author Three"},
new String[] {"Book Four", "Author Four"},
new String[] {"Book Five", "Author Five"} ) );
sRecordSpecList.add( new RecordSpec( "//store[@name='foo']/book", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One", "Author One"},
new String[] {"Book Two", "Author Two"},
new String[] {"Book Three", "Author Three"} ) );
sRecordSpecList.add( new RecordSpec( "//store[@name='bar']/book", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book Four", "Author Four"},
new String[] {"Book Five", "Author Five"} ) );
sRecordSpecList.add( new RecordSpec( "//store/book[@color='blue']", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book Two", "Author Two"},
new String[] {"Book Three", "Author Three"} ) );
sRecordSpecList.add( new RecordSpec( "//store/book[@color='red']", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One", "Author One"},
new String[] {"Book Five", "Author Five"} ) );
sRecordSpecList.add( new RecordSpec( "//store[@name='foo']/book[@color='red']", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One", "Author One"} ) );
sRecordSpecList.add( new RecordSpec( "//store[location/@room='r1']/book", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book One", "Author One"},
new String[] {"Book Two", "Author Two"},
new String[] {"Book Three", "Author Three"} ) );
sRecordSpecList.add( new RecordSpec( "//store[location[@room='r2']]/book", new String[] { "@name", "@author" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"Book Four", "Author Four"},
new String[] {"Book Five", "Author Five"} ) );
}
public void testSanity() throws Exception {
TestUtil.testRecords( "com/ricebridge/xmlman/test/sanity.xml", sRecordSpecList, sRecordDataList, this );
}
}