package se.kodapan.osm.parser.xml.streaming;
import junit.framework.TestCase;
import se.kodapan.osm.domain.Node;
import se.kodapan.osm.domain.Relation;
import se.kodapan.osm.domain.Way;
import java.io.InputStreamReader;
import java.util.concurrent.atomic.AtomicInteger;
/**
* @author kalle
* @since 2013-05-01 16:25
*/
public class TestStreamingOsmXmlParser extends TestCase {
public void test() throws Exception {
final AtomicInteger nodesCounter = new AtomicInteger();
final AtomicInteger waysCounter = new AtomicInteger();
final AtomicInteger relationsCounter = new AtomicInteger();
StreamingOsmXmlParser parser = StreamingOsmXmlParser.newInstance();
parser.read(new InputStreamReader(getClass().getResourceAsStream("/fjallbacka.osm.xml"), "UTF8"), new StreamingOsmXmlParserListener() {
@Override
public void processParsedNode(Node node) {
nodesCounter.incrementAndGet();
}
@Override
public void processParsedWay(Way way) {
waysCounter.incrementAndGet();
}
@Override
public void processParsedRelation(Relation relation) {
relationsCounter.incrementAndGet();
}
});
assertEquals(36393, nodesCounter.get());
assertEquals(2012, waysCounter.get());
assertEquals(75, relationsCounter.get());
}
}