package de.westnordost.streetcomplete.data.osm.persist; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import de.westnordost.streetcomplete.data.ApplicationDbTestCase; import de.westnordost.osmapi.map.data.Element; import de.westnordost.osmapi.map.data.OsmRelation; import de.westnordost.osmapi.map.data.OsmRelationMember; import de.westnordost.osmapi.map.data.Relation; import de.westnordost.osmapi.map.data.RelationMember; public class RelationDaoTest extends ApplicationDbTestCase { private RelationDao dao; @Override public void setUp() { super.setUp(); dao = new RelationDao(dbHelper, serializer); } public void testPutGetNoTags() { List<RelationMember> members = new ArrayList<>(); members.add(new OsmRelationMember(0, "outer", Element.Type.WAY)); members.add(new OsmRelationMember(1, "inner", Element.Type.WAY)); Relation relation = new OsmRelation(5, 1, members, null); dao.put(relation); Relation dbRelation = dao.get(5); checkEqual(relation, dbRelation); } public void testPutGetWithTags() { List<RelationMember> members = new ArrayList<>(); members.add(new OsmRelationMember(0, "outer", Element.Type.WAY)); members.add(new OsmRelationMember(1, "inner", Element.Type.WAY)); Map<String,String> tags = new HashMap<>(); tags.put("a key", "a value"); Relation relation = new OsmRelation(5, 1, members, tags); dao.put(relation); Relation dbRelation = dao.get(5); checkEqual(relation, dbRelation); } private void checkEqual(Relation relation, Relation dbRelation) { assertEquals(relation.getId(), dbRelation.getId()); assertEquals(relation.getVersion(), dbRelation.getVersion()); assertEquals(relation.getTags(), dbRelation.getTags()); assertEquals(relation.getMembers(), dbRelation.getMembers()); } }