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.*;
import java.io.*;
public class TreeContextTest extends TestCase {
public TreeContextTest( String pName ) {
super( pName );
}
public static TestSuite suite() {
return new TestSuite( TreeContextTest.class );
}
public static void main( String[] pArgs ) {
TestRunner.run( suite() );
}
public void testPosition() {
TreeContext tc = new TreeContext( true );
tc.descend( new StartPoint( TestUtil.makeNameInfo( "foo" ) ) );
assertEquals( 1, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.descend( new StartPoint( TestUtil.makeNameInfo( "bar" ) ) );
assertEquals( 2, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.ascend( new EndPoint( TestUtil.makeNameInfo( "bar" ), "" ) );
assertEquals( 1, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.descend( new StartPoint( TestUtil.makeNameInfo( "bar" ) ) );
assertEquals( 2, tc.getDepth() );
assertEquals( 2, tc.getPosition() );
tc.ascend( new EndPoint( TestUtil.makeNameInfo( "bar" ), "" ) );
assertEquals( 1, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.descend( new StartPoint( TestUtil.makeNameInfo( "bar" ) ) );
assertEquals( 2, tc.getDepth() );
assertEquals( 3, tc.getPosition() );
tc.descend( new StartPoint( TestUtil.makeNameInfo( "baz" ) ) );
assertEquals( 3, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.ascend( new EndPoint( TestUtil.makeNameInfo( "baz" ), "" ) );
assertEquals( 2, tc.getDepth() );
assertEquals( 3, tc.getPosition() );
tc.ascend( new EndPoint( TestUtil.makeNameInfo( "bar" ), "" ) );
assertEquals( 1, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.descend( new StartPoint( TestUtil.makeNameInfo( "fab" ) ) );
assertEquals( 2, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.ascend( new EndPoint( TestUtil.makeNameInfo( "fab" ), "" ) );
assertEquals( 1, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.descend( new StartPoint( TestUtil.makeNameInfo( "bar" ) ) );
assertEquals( 2, tc.getDepth() );
assertEquals( 4, tc.getPosition() );
tc.ascend( new EndPoint( TestUtil.makeNameInfo( "bar" ), "" ) );
assertEquals( 1, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
tc.ascend( new EndPoint( TestUtil.makeNameInfo( "foo" ), "" ) );
assertEquals( 0, tc.getDepth() );
assertEquals( 1, tc.getPosition() );
}
}