1   package org.jaxen.javabean;
2   
3   import java.util.List;
4   
5   import junit.framework.TestCase;
6   
7   import org.jaxen.JaxenException;
8   import org.jaxen.saxpath.helpers.XPathReaderFactory;
9   
10  public class DocumentNavigatorTest
11      extends TestCase
12  {
13  
14      protected void setUp() throws Exception
15      {
16          System.setProperty( XPathReaderFactory.DRIVER_PROPERTY,
17                              "" );
18      }
19  
20      public void testSomething() throws JaxenException {
21          
22          // XXX Does the position() function really have any meaning for JavaBeans?
23          // How do we know which one comes first? 
24          JavaBeanXPath xpath = new JavaBeanXPath( "brother[position()<4]/name" );
25  
26          Person bob = new Person( "bob", 30 );
27  
28          bob.addBrother( new Person( "billy", 34 ) );
29          bob.addBrother( new Person( "seth", 29 ) );
30          bob.addBrother( new Person( "dave", 32 ) );
31          bob.addBrother( new Person( "jim", 29 ) );
32          bob.addBrother( new Person( "larry", 42 ) );
33          bob.addBrother( new Person( "ted", 22 ) );
34  
35          List result = (List) xpath.evaluate( bob );
36          assertEquals(3, result.size());
37          
38      }
39  
40  }