org.geotools.xml.impl.jxpath.JXPathTest.java Source code

Java tutorial

Introduction

Here is the source code for org.geotools.xml.impl.jxpath.JXPathTest.java

Source

/*
 *    GeoTools - The Open Source Java GIS Toolkit
 *    http://geotools.org
 *
 *    (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 */
package org.geotools.xml.impl.jxpath;

import junit.framework.TestCase;
import org.apache.commons.jxpath.JXPathContext;
import org.apache.commons.jxpath.JXPathContextFactory;
import org.apache.commons.jxpath.JXPathIntrospector;
import java.util.Iterator;
import org.geotools.xml.impl.ElementHandlerImpl;
import org.geotools.xml.impl.ElementImpl;
import org.geotools.xml.impl.NodeImpl;

/**
 * 
 *
 * @source $URL$
 */
public class JXPathTest extends TestCase {
    NodeImpl root;
    NodeImpl child1;
    NodeImpl child2;
    JXPathContext context;

    protected void setUp() throws Exception {
        ElementImpl e = new ElementImpl(null);
        e.setName("root");
        root = new NodeImpl(e);

        e = new ElementImpl(null);
        e.setName("child");
        child1 = new NodeImpl(e);
        //root.addChild( child1 );
        e = new ElementImpl(null);
        e.setName("child");
        child2 = new NodeImpl(e);
        //root.addChild( child2 );
        JXPathIntrospector.registerDynamicClass(NodeImpl.class, NodePropertyHandler.class);

        context = JXPathContextFactory.newInstance().newContext(null, root);
    }

    public void testIterate() {
        //        root.getChildHandlers().add(child1);
        //        root.getChildHandlers().add(child2);
        root.addChild(child1);
        root.addChild(child2);

        Iterator itr = context.iterate("child");
        assertTrue(itr.hasNext());
        assertEquals(child1, itr.next());
        assertTrue(itr.hasNext());
        assertEquals(child2, itr.next());

        itr = context.iterate("child[position() = 2]");
        assertTrue(itr.hasNext());
        assertEquals(child2, itr.next());

        assertFalse(itr.hasNext());

        //      
        //      assertTrue(itr.hasNext());
        //      assertEquals(itr.next(), child2);
    }

    //   
    //   public void testSimple() {
    //      root.getChildHandlers().add(child1);
    //      root.getChildHandlers().add(child2);
    //      
    //      Object obj = context.getValue("child1");
    //      assertNotNull(obj);
    //      assertEquals(obj, child1);
    //      
    //      obj = context.getValue("child2");
    //      assertNotNull(obj);
    //      assertEquals(obj, child2);
    //   }
    //   
    //   public void testDynamic() {
    //      root.getChildHandlers().add(child1);
    //      
    //      Object obj = context.getValue("child1");
    //      assertNotNull(obj);
    //      assertEquals(obj, child1);
    //      
    //      root.getChildHandlers().add(child2);
    //      obj = context.getValue("child2");
    //      assertNotNull(obj);
    //      assertEquals(obj, child2);
    //   }
}