/*
* Copyright (C) 2008 Steve Ratcliffe
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program 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 General Public License for more details.
*
*
* Author: Steve Ratcliffe
* Create date: 30-Nov-2008
*/
package uk.me.parabola.mkgmap.reader.osm;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import static org.junit.Assert.*;
public class ElementTest {
@Test
public void testEntryIterator() {
Element el = new Way(1);
el.addTag("a", "1");
el.addTag("b", "2");
el.addTag("c", "3");
List<String> keys = new ArrayList<String>();
List<String> values = new ArrayList<String>();
for (Map.Entry<String, String> ent : el.getTagEntryIterator()) {
keys.add(ent.getKey());
values.add(ent.getValue());
}
Collections.sort(keys);
Collections.sort(values);
assertArrayEquals("list of keys",
new String[] {"a", "b", "c"},
keys.toArray());
assertArrayEquals("list of values",
new String[] {"1", "2", "3"},
values.toArray());
}
@Test
public void testaddTagFromRawOSM() {
Element el = new Way(1);
el.addTagFromRawOSM("a", "1");
el.addTagFromRawOSM("b", "1 ");
el.addTagFromRawOSM("c", " 1");
el.addTagFromRawOSM("d", "1 2");
el.addTagFromRawOSM("e", "1 2 3");
el.addTagFromRawOSM("f", " 1 2 3 4 ");
el.addTagFromRawOSM("g", " ");
el.addTagFromRawOSM("h", " ");
assertEquals("1", el.getTag("a"));
assertEquals("1", el.getTag("b"));
assertEquals("1", el.getTag("c"));
assertEquals("1 2", el.getTag("d"));
assertEquals("1 2 3", el.getTag("e"));
assertEquals("1 2 3 4", el.getTag("f"));
assertEquals("", el.getTag("g"));
assertEquals("", el.getTag("h"));
}
}