package org.openstreetmap.osm.util; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.openstreetmap.osm.Node; import org.openstreetmap.osm.OSM; import junit.framework.TestCase; public class OsmResourceTest extends TestCase { public OsmResourceTest() { } protected void setUp() { } public void testOsmQueryData() { Resource.Factory resoureFactory = new OsmResourceFactoryImpl(); ResourceSet resourceSet = new ResourceSetImpl(); resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("osm", resoureFactory); URI resourceUri = URI.createURI(getClass().getResource("data.osm").toString()); Resource resource = resourceSet.getResource(resourceUri, true); assertTrue(resource.getContents().size() == 1); EObject root = resource.getContents().get(0); assertTrue(root instanceof OSM); assertTrue(root.eContents().size() == 37); for (EObject child : root.eContents()) { assertTrue(child instanceof Node); Node node = (Node)child; assertTrue(node.getTags().size() > 0); } } }