package com.google.maps.android.kml; import android.test.ActivityTestCase; import com.google.maps.android.test.R; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserFactory; import java.io.InputStream; public class KmlContainerParserTest extends ActivityTestCase { public XmlPullParser createParser(int res) throws Exception { InputStream stream = getInstrumentation().getContext().getResources().openRawResource(res); XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); XmlPullParser parser = factory.newPullParser(); parser.setInput(stream, null); parser.next(); return parser; } public void testCDataEntity() throws Exception { XmlPullParser xmlPullParser = createParser(R.raw.amu_cdata); KmlContainer kmlContainer = KmlContainerParser.createContainer(xmlPullParser); assertEquals(kmlContainer.getProperty("description"), "TELEPORT"); } public void testCreateContainerProperty() throws Exception { XmlPullParser xmlPullParser = createParser(R.raw.amu_basic_folder); KmlContainer kmlContainer = KmlContainerParser.createContainer(xmlPullParser); assertTrue(kmlContainer.hasProperties()); assertEquals(kmlContainer.getProperty("name"), "Basic Folder"); xmlPullParser = createParser(R.raw.amu_unknwown_folder); kmlContainer = KmlContainerParser.createContainer(xmlPullParser); assertTrue(kmlContainer.hasProperty("name")); } public void testCreateContainerPlacemark() throws Exception { XmlPullParser xmlPullParser = createParser(R.raw.amu_basic_folder); KmlContainer kmlContainer = KmlContainerParser.createContainer(xmlPullParser); assertTrue(kmlContainer.hasPlacemarks()); assertEquals(kmlContainer.getPlacemarksHashMap().size(), 1); xmlPullParser = createParser(R.raw.amu_multiple_placemarks); kmlContainer = KmlContainerParser.createContainer(xmlPullParser); assertTrue(kmlContainer.hasPlacemarks()); assertEquals(kmlContainer.getPlacemarksHashMap().size(), 2); } public void testCreateContainerGroundOverlay() throws Exception { XmlPullParser xmlPullParser = createParser(R.raw.amu_ground_overlay); KmlContainer kmlContainer = KmlContainerParser.createContainer(xmlPullParser); assertEquals(kmlContainer.getGroundOverlayHashMap().size(), 2); } public void testCreateContainerObjects() throws Exception { XmlPullParser xmlPullParser = createParser(R.raw.amu_nested_folders); KmlContainer kmlContainer = KmlContainerParser.createContainer(xmlPullParser); assertNotNull(kmlContainer.getContainers()); int numberOfNestedContainers = 0; for (KmlContainer container : kmlContainer.getContainers()) { numberOfNestedContainers++; } assertEquals(numberOfNestedContainers, 2); } }