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 java.util.*;
public class TextTest extends TestCase {
public TextTest( String pName ) {
super( pName );
}
public static TestSuite suite() {
return new TestSuite( TextTest.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( "/root/record[1]", new String[] { ".", "self::node()" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"r1af1b1aq1b1br1b","r1af1b1aq1b1br1b" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "text()", "./text()" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"r1ar1b","r1ar1b" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "bar", "bar/text()" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"b1aq1b1b","b1ab1b" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "./text()[true()]" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"r1b" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "./text()[last()]" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"r1b" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "text()[1]", "text()[2]" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"r1a", "r1b" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "bar/text()[1]", "bar/text()[2]" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"b1a","b1b" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "bar/text()[last()]" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"b1b" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "rb:xml(foo)" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"<foo>f1</foo>" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[1]", new String[] { "rb:xml(.)" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"<record>r1a<foo>f1</foo><bar>b1a<que>q1</que>b1b</bar>r1b</record>" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[2]", new String[] { "rb:xml(.)" } ) );
sRecordDataList.add( ListUtil.make( new String[] {"<record>r2a<foo>f1<foo>f2<foo>f3</foo></foo></foo>r2b<foo>f4</foo>r2c</record>" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[2]", new String[] { ".//foo" } ) );
sRecordDataList.add( ListUtil.make( new String[] { "f4" } ) );
sRecordSpecList.add( new RecordSpec( "/root/record[2]//foo", new String[] { "text()" } ) );
sRecordDataList.add( ListUtil.make( new String[] { "f3" },
new String[] { "f2" },
new String[] { "f1" },
new String[] { "f4" } ) );
}
public void testSanity() throws Exception {
TestUtil.testRecords( "com/ricebridge/xmlman/in/test/text.xml", sRecordSpecList, sRecordDataList, this );
}
}