package de.blau.android.presets; import java.util.ArrayList; import java.util.HashMap; import org.junit.Assert; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import android.support.test.filters.LargeTest; import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import de.blau.android.App; import de.blau.android.Main; import de.blau.android.presets.Preset.PresetItem; /** * This is just a convenient way of generating the default preset dump * @author simon * */ @RunWith(AndroidJUnit4.class) @LargeTest public class PresetTest { @Rule public ActivityTestRule<Main> mActivityRule = new ActivityTestRule<>(Main.class); @Before public void setup() { } @Test public void matchingt() { Main main = (Main)mActivityRule.getActivity(); // Preset[] presets = App.getCurrentPresets(main); HashMap<String,String> tags = new HashMap<String,String>(); tags.put("amenity", "restaurant"); PresetItem restaurant = Preset.findBestMatch(presets, tags); Assert.assertEquals("Restaurant", restaurant.getName()); // Splitting ArrayList<String>values = new ArrayList<String>(); values.add("chinese;fondue"); values.add("japenese,steak"); ArrayList<String>result = Preset.splitValues(values, restaurant, "cuisine"); Assert.assertEquals(3,result.size()); Assert.assertTrue(result.contains("chinese")); Assert.assertTrue(result.contains("fondue")); Assert.assertTrue(result.contains("japenese,steak")); Assert.assertNull(Preset.splitValues(null, restaurant, "cuisine")); values.add(null); Assert.assertEquals(3,Preset.splitValues(values, restaurant, "cuisine").size()); // lanes uses | PresetItem lanes = presets[0].getItemByName("Single direction roads"); Assert.assertNotNull(lanes); values.clear(); values.add("left|right"); result = Preset.splitValues(values, lanes, "turn:lanes"); Assert.assertEquals(2,result.size()); Assert.assertTrue(result.contains("left")); Assert.assertTrue(result.contains("right")); } }