package de.westnordost.streetcomplete.data.meta; import junit.framework.TestCase; import java.io.ByteArrayInputStream; import java.io.UnsupportedEncodingException; import java.util.List; public class LanguagesByCountryTest extends TestCase { public void testOneLanguage() { List<String> languages = langs("DE: de").get("DE"); assertEquals(1, languages.size()); assertEquals("de", languages.get(0)); } public void testTwoLanguages() { List<String> languages = langs("DE: [de,es]").get("DE"); assertEquals(2, languages.size()); assertEquals("de", languages.get(0)); assertEquals("es", languages.get(1)); } public void testNoLanguage() { assertEquals(0, langs("AQ: ").get("AQ").size()); } public void testThrowExceptionOnInvalidInput() { try { langs("d:\n - a\n b: c\n"); fail(); } catch (RuntimeException e) { } } private LanguagesByCountry langs(String input) { try { return new LanguagesByCountry(new ByteArrayInputStream(input.getBytes("utf-8"))); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } }