package org.geotools.gml.producer; import static org.custommonkey.xmlunit.XMLAssert.assertXpathEvaluatesTo; import java.io.ByteArrayOutputStream; import java.util.HashMap; import java.util.Map; import org.custommonkey.xmlunit.SimpleNamespaceContext; import org.custommonkey.xmlunit.XMLUnit; import org.geotools.feature.FeatureCollection; import org.junit.Before; import org.junit.Test; import org.w3c.dom.Document; public class FeatureTransformerTest { @Before public void setup() { Map<String, String> namespaces = new HashMap<String, String>(); namespaces.put("xlink", "http://www.w3.org/1999/xlink"); namespaces.put("wfs", "http://www.opengis.net/wfs"); namespaces.put("gml", "http://www.opengis.net/gml"); XMLUnit.setXpathNamespaceContext(new SimpleNamespaceContext(namespaces)); } @Test public void testEncodeEmptyArray() throws Exception { FeatureTransformer tx = new FeatureTransformer(); tx.setIndentation(2); tx.setCollectionBounding(true); tx.setFeatureBounding(true); ByteArrayOutputStream bos = new ByteArrayOutputStream(); tx.transform(new FeatureCollection[0], bos); String result = bos.toString(); // System.out.println(result); Document dom = XMLUnit.buildControlDocument(result); assertXpathEvaluatesTo("1", "count(//wfs:FeatureCollection)", dom); assertXpathEvaluatesTo("unknown", "/wfs:FeatureCollection/gml:boundedBy/gml:null", dom); assertXpathEvaluatesTo("0", "count(//gml:featureMember)", dom); } }