package com.ricebridge.xmlman.in.test;
import com.ricebridge.xmlman.*;
import com.ricebridge.xmlman.in.*;
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 GroupTest extends TestCase {
public GroupTest( String pName ) {
super( pName );
}
public static TestSuite suite() {
return new TestSuite( GroupTest.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( "/foo/bar", new String[] { "@name", "./que/@name", "./que/zoo/@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"bar1", "que2", "zoo4" },
new String[] {"bar2", "que3", "zoo6" },
new String[] {"bar3", "", "" } ) );
sRecordSpecList.add( new RecordSpec( "/foo/bar", new String[] { "@name", ".//que//zoo/@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"bar1", "zoo4" },
new String[] {"bar2", "zoo6" },
new String[] {"bar3", "" } ) );
sRecordSpecList.add( new RecordSpec( "/foo/bar[@name='bar1']/que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"que1"},
new String[] {"que2"} ) );
sRecordSpecList.add( new RecordSpec( "/foo/bar[@name='bar2']/que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"que3"} ) );
sRecordSpecList.add( new RecordSpec( "/foo/bar[@name='bar3']/que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make() );
sRecordSpecList.add( new RecordSpec( "//bar[@name='bar1']/que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"que1"},
new String[] {"que2"} ) );
sRecordSpecList.add( new RecordSpec( "//bar[@name='bar2']/que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"que3"} ) );
sRecordSpecList.add( new RecordSpec( "//bar[@name='bar3']/que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make() );
sRecordSpecList.add( new RecordSpec( "//bar[@name='bar1']//que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"que1"},
new String[] {"que2"} ) );
sRecordSpecList.add( new RecordSpec( "//bar[@name='bar2']//que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"que3"} ) );
sRecordSpecList.add( new RecordSpec( "//bar[@name='bar3']//que", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make() );
sRecordSpecList.add( new RecordSpec( "/foo/bar[@name='bar1']/que[@name='que1']/zoo", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"zoo1"},
new String[] {"zoo2"} ) );
sRecordSpecList.add( new RecordSpec( "/foo/bar[@name='bar1']/que[@name='que2']/zoo", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"zoo3"},
new String[] {"zoo4"} ) );
sRecordSpecList.add( new RecordSpec( "/foo/bar[@name='bar2']/que[@name='que3']/zoo", new String[] { "@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"zoo5"},
new String[] {"zoo6"} ) );
sRecordSpecList.add( new RecordSpec( "/foo/bar[@name='bar1']//zoo", new String[] { "@name", "//que/@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"zoo1","que1"},
new String[] {"zoo2","que1"},
new String[] {"zoo3","que2"},
new String[] {"zoo4","que2"} ) );
sRecordSpecList.add( new RecordSpec( "//zoo", new String[] { "@name", "//que/@name" } ) );
ArrayList recs = ListUtil.make( new String[] {"zoo1","que1"},
new String[] {"zoo2","que1"},
new String[] {"zoo3","que2"},
new String[] {"zoo4","que2"} );
recs.addAll( ListUtil.make( new String[] {"zoo5","que3"},
new String[] {"zoo6","que3"},
new String[] {"zoo7","que3"},
new String[] {"zoo8","que3"} ) );
sRecordDataList.add( recs );
sRecordSpecList.add( new RecordSpec( "/foo/bar", new String[] { "@name",
"//que/@name", "//que//zoo/@name",
".//que/@name", ".//que//zoo/@name",
"que/@name", "que/zoo/@name", "que//zoo/@name" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"bar1", "que2", "zoo4", "que2", "zoo4", "que2", "zoo4", "zoo4" },
new String[] {"bar2", "que3", "zoo6", "que3", "zoo6", "que3", "zoo6", "zoo6" },
new String[] {"bar3", "que3", "zoo6", "", "", "", "", "" } ) );
}
public void testGroup() throws Exception {
TestUtil.testRecords( "com/ricebridge/xmlman/in/test/group.xml", sRecordSpecList, sRecordDataList, this );
}
}