package de.westnordost.streetcomplete.quests;
import android.os.Bundle;
import junit.framework.TestCase;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import de.westnordost.streetcomplete.data.osm.OsmElementQuestType;
import de.westnordost.streetcomplete.data.osm.changes.StringMapChangesBuilder;
import de.westnordost.streetcomplete.data.osm.changes.StringMapEntryChange;
public abstract class AOsmElementQuestTypeTest extends TestCase
{
protected Bundle bundle;
protected Map<String,String> tags;
public void setUp()
{
bundle = new Bundle();
tags = new HashMap<>();
}
protected final void verify(StringMapEntryChange... expectedChanges)
{
StringMapChangesBuilder cb = new StringMapChangesBuilder(tags);
createQuestType().applyAnswerTo(bundle, cb);
List<StringMapEntryChange> changes = cb.create().getChanges();
for(StringMapEntryChange expectedChange : expectedChanges)
{
assertTrue(changes.contains(expectedChange));
}
}
protected abstract OsmElementQuestType createQuestType();
}