diff options
Diffstat (limited to 'java/test/com/android/i18n/addressinput/CacheDataTest.java')
-rw-r--r-- | java/test/com/android/i18n/addressinput/CacheDataTest.java | 534 |
1 files changed, 267 insertions, 267 deletions
diff --git a/java/test/com/android/i18n/addressinput/CacheDataTest.java b/java/test/com/android/i18n/addressinput/CacheDataTest.java index c346882..7b72e47 100644 --- a/java/test/com/android/i18n/addressinput/CacheDataTest.java +++ b/java/test/com/android/i18n/addressinput/CacheDataTest.java @@ -23,304 +23,304 @@ import org.json.JSONException; import org.json.JSONObject; public class CacheDataTest extends AsyncTestCase { - private CacheData cache; + private CacheData cache; - private static final String DELIM = "~"; + private static final String DELIM = "~"; - private static final String CANADA_KEY = "data/CA"; + private static final String CANADA_KEY = "data/CA"; - private static final String US_KEY = "data/US"; + private static final String US_KEY = "data/US"; - private static final String CALIFORNIA_KEY = "data/US/CA"; + private static final String CALIFORNIA_KEY = "data/US/CA"; - private static final String RANDOM_COUNTRY_KEY = "data/asIOSDxcowW"; + private static final String RANDOM_COUNTRY_KEY = "data/asIOSDxcowW"; - private static final String EXAMPLE_LOCAL_US_KEY = "examples/US/local/_default"; + private static final String EXAMPLE_LOCAL_US_KEY = "examples/US/local/_default"; - // Data key for Da-an District, Taipei Taiwan - private static final String TW_KEY = "data/TW/\u53F0\u5317\u5E02/\u5927\u5B89\u5340"; + // Data key for Da-an District, Taipei Taiwan + private static final String TW_KEY = "data/TW/\u53F0\u5317\u5E02/\u5927\u5B89\u5340"; - private static final String FRANCE_KEY = "data/FR"; + private static final String FRANCE_KEY = "data/FR"; - private static Integer listenerInvokeCount = 0; + private static Integer listenerInvokeCount = 0; - private static boolean reachedMaxCount = false; + private static boolean reachedMaxCount = false; - @Override - public void setUp() { - cache = new CacheData(); - } - - public void testJsonConstructor() { - // Creating cache with content. - String id = "data/CA"; - JSONObject jsonObject = null; - try { - jsonObject = new JSONObject(AddressDataMapLoader.DATA.get(id)); - } catch (JSONException jsonException) { - // If this throws an exception the test fails. - fail("Can't parse json object"); - } - cache.addToJsoMap(id, jsonObject); - String toBackup = cache.getJsonString(); - - // Creating cache from saved data. - cache = new CacheData(toBackup); - assertTrue(cache.containsKey(id)); - } - - public void testJsonConstructorTruncatedProperString() { - // Creating cache with content. - String id = "data/CA"; - try { - JSONObject jsonObject = new JSONObject(AddressDataMapLoader.DATA.get(id)); - String jsonString = jsonObject.toString(); - jsonString = jsonString.substring(0, jsonString.length() / 2); - - cache = new CacheData(jsonString); - assertTrue(cache.toString(), cache.isEmpty()); - } catch (JSONException jsonException) { - // If this throws an exception the test fails. - fail("Can't parse json object"); - } - } - - public void testSimpleFetching() { - final LookupKey key = new LookupKey.Builder(CANADA_KEY).build(); - - delayTestFinish(10000); - - cache.fetchDynamicData(key, null, new DataLoadListener() { - boolean beginCalled = false; - - @Override - public void dataLoadingBegin() { - beginCalled = true; - } - - @Override - public void dataLoadingEnd() { - assertTrue("dataLoadingBegin should be called", beginCalled); - JsoMap map = cache.getObj(CANADA_KEY); - - assertTrue(map.containsKey(AddressDataKey.ID.name().toLowerCase())); - assertTrue(map.containsKey(AddressDataKey.LANG.name().toLowerCase())); - assertTrue(map.containsKey(AddressDataKey.ZIP.name().toLowerCase())); - assertTrue(map.containsKey(AddressDataKey.FMT.name().toLowerCase())); - assertTrue(map.containsKey(AddressDataKey.SUB_KEYS.name().toLowerCase())); - assertTrue(map.containsKey(AddressDataKey.SUB_NAMES.name().toLowerCase())); - assertFalse(map.containsKey(AddressDataKey.SUB_LNAMES.name().toLowerCase())); - - int namesSize = - map.get(AddressDataKey.SUB_NAMES.name().toLowerCase()).split(DELIM).length; - int keysSize = - map.get(AddressDataKey.SUB_KEYS.name().toLowerCase()).split(DELIM).length; - - assertEquals("Expect 13 states in Canada.", 13, namesSize); - assertEquals(namesSize, keysSize); - finishTest(); - } - }); - } - - public void testFetchingTaiwanData() { - final LookupKey key = new LookupKey.Builder(TW_KEY).build(); - - delayTestFinish(10000); - - cache.fetchDynamicData(key, null, new DataLoadListener() { - boolean beginCalled = false; - - @Override - public void dataLoadingBegin() { - beginCalled = true; - } - - @Override - public void dataLoadingEnd() { - assertTrue("dataLoadingBegin should be called", beginCalled); - - JsoMap map = cache.getObj(TW_KEY); - - assertTrue(map.containsKey(AddressDataKey.ID.name().toLowerCase())); - assertTrue(map.containsKey(AddressDataKey.KEY.name().toLowerCase())); - assertTrue(map.containsKey(AddressDataKey.LANG.name().toLowerCase())); - assertTrue(map.containsKey(AddressDataKey.ZIP.name().toLowerCase())); - assertFalse(map.containsKey(AddressDataKey.FMT.name().toLowerCase())); - assertFalse(map.containsKey(AddressDataKey.SUB_KEYS.name().toLowerCase())); - assertFalse(map.containsKey(AddressDataKey.SUB_NAMES.name().toLowerCase())); - assertFalse(map.containsKey(AddressDataKey.SUB_LNAMES.name().toLowerCase())); - - // Da-an district. - assertEquals("\u5927\u5B89\u5340", - map.get(AddressDataKey.KEY.name().toLowerCase())); + @Override + public void setUp() { + cache = new CacheData(); + } - assertEquals("zh-hant", map.get(AddressDataKey.LANG.name().toLowerCase())); - - finishTest(); - } - }); + public void testJsonConstructor() { + // Creating cache with content. + String id = "data/CA"; + JSONObject jsonObject = null; + try { + jsonObject = new JSONObject(AddressDataMapLoader.DATA.get(id)); + } catch (JSONException jsonException) { + // If this throws an exception the test fails. + fail("Can't parse json object"); } - - public void testFetchingExamples() { - final LookupKey key = new LookupKey.Builder(EXAMPLE_LOCAL_US_KEY).build(); - - delayTestFinish(10000); - - cache.fetchDynamicData(key, null, new DataLoadListener() { - boolean beginCalled = false; - - @Override - public void dataLoadingBegin() { - beginCalled = true; - } - - @Override - public void dataLoadingEnd() { - assertTrue("dataLoadingBegin should be called", beginCalled); - - JsoMap map = cache.getObj(EXAMPLE_LOCAL_US_KEY); - assertTrue(map.containsKey("name")); - finishTest(); - } - }); + cache.addToJsoMap(id, jsonObject); + String toBackup = cache.getJsonString(); + + // Creating cache from saved data. + cache = new CacheData(toBackup); + assertTrue(cache.containsKey(id)); + } + + public void testJsonConstructorTruncatedProperString() { + // Creating cache with content. + String id = "data/CA"; + try { + JSONObject jsonObject = new JSONObject(AddressDataMapLoader.DATA.get(id)); + String jsonString = jsonObject.toString(); + jsonString = jsonString.substring(0, jsonString.length() / 2); + + cache = new CacheData(jsonString); + assertTrue(cache.toString(), cache.isEmpty()); + } catch (JSONException jsonException) { + // If this throws an exception the test fails. + fail("Can't parse json object"); } + } + + public void testSimpleFetching() { + final LookupKey key = new LookupKey.Builder(CANADA_KEY).build(); + + delayTestFinish(10000); - public void testFetchingOneKeyManyTimes() { - final LookupKey key = new LookupKey.Builder(CALIFORNIA_KEY).build(); - final int maxCount = 10; - - class CounterListener implements DataLoadListener { - @Override - public void dataLoadingBegin() { - listenerInvokeCount++; - if (listenerInvokeCount == maxCount) { - reachedMaxCount = true; - } - assertTrue("CounterListener's dataLoadingBegin should not be invoked for more " + - "than " + maxCount + " times", - listenerInvokeCount <= maxCount); - } - - @Override - public void dataLoadingEnd() { - listenerInvokeCount--; - assertTrue(listenerInvokeCount >= 0); - if (listenerInvokeCount == 0) { - assertTrue("Expect to see key " + key + " cached when CounterListener's " + - " dataLoadingEnd is invoked", - cache.containsKey(key.toString())); - assertTrue("Expect CounterListener's dataLoadingEnd to be triggered " + - maxCount + " times in total", reachedMaxCount); - finishTest(); - } - } + cache.fetchDynamicData(key, null, new DataLoadListener() { + boolean beginCalled = false; + + @Override + public void dataLoadingBegin() { + beginCalled = true; + } + + @Override + public void dataLoadingEnd() { + assertTrue("dataLoadingBegin should be called", beginCalled); + JsoMap map = cache.getObj(CANADA_KEY); + + assertTrue(map.containsKey(AddressDataKey.ID.name().toLowerCase())); + assertTrue(map.containsKey(AddressDataKey.LANG.name().toLowerCase())); + assertTrue(map.containsKey(AddressDataKey.ZIP.name().toLowerCase())); + assertTrue(map.containsKey(AddressDataKey.FMT.name().toLowerCase())); + assertTrue(map.containsKey(AddressDataKey.SUB_KEYS.name().toLowerCase())); + assertTrue(map.containsKey(AddressDataKey.SUB_NAMES.name().toLowerCase())); + assertFalse(map.containsKey(AddressDataKey.SUB_LNAMES.name().toLowerCase())); + + int namesSize = + map.get(AddressDataKey.SUB_NAMES.name().toLowerCase()).split(DELIM).length; + int keysSize = + map.get(AddressDataKey.SUB_KEYS.name().toLowerCase()).split(DELIM).length; + + assertEquals("Expect 13 states in Canada.", 13, namesSize); + assertEquals(namesSize, keysSize); + finishTest(); + } + }); + } + + public void testFetchingTaiwanData() { + final LookupKey key = new LookupKey.Builder(TW_KEY).build(); + + delayTestFinish(10000); + + cache.fetchDynamicData(key, null, new DataLoadListener() { + boolean beginCalled = false; + + @Override + public void dataLoadingBegin() { + beginCalled = true; + } + + @Override + public void dataLoadingEnd() { + assertTrue("dataLoadingBegin should be called", beginCalled); + + JsoMap map = cache.getObj(TW_KEY); + + assertTrue(map.containsKey(AddressDataKey.ID.name().toLowerCase())); + assertTrue(map.containsKey(AddressDataKey.KEY.name().toLowerCase())); + assertTrue(map.containsKey(AddressDataKey.LANG.name().toLowerCase())); + assertTrue(map.containsKey(AddressDataKey.ZIP.name().toLowerCase())); + assertFalse(map.containsKey(AddressDataKey.FMT.name().toLowerCase())); + assertFalse(map.containsKey(AddressDataKey.SUB_KEYS.name().toLowerCase())); + assertFalse(map.containsKey(AddressDataKey.SUB_NAMES.name().toLowerCase())); + assertFalse(map.containsKey(AddressDataKey.SUB_LNAMES.name().toLowerCase())); + + // Da-an district. + assertEquals("\u5927\u5B89\u5340", + map.get(AddressDataKey.KEY.name().toLowerCase())); + + assertEquals("zh-hant", map.get(AddressDataKey.LANG.name().toLowerCase())); + + finishTest(); + } + }); + } + + public void testFetchingExamples() { + final LookupKey key = new LookupKey.Builder(EXAMPLE_LOCAL_US_KEY).build(); + + delayTestFinish(10000); + + cache.fetchDynamicData(key, null, new DataLoadListener() { + boolean beginCalled = false; + + @Override + public void dataLoadingBegin() { + beginCalled = true; + } + + @Override + public void dataLoadingEnd() { + assertTrue("dataLoadingBegin should be called", beginCalled); + + JsoMap map = cache.getObj(EXAMPLE_LOCAL_US_KEY); + assertTrue(map.containsKey("name")); + finishTest(); + } + }); + } + + public void testFetchingOneKeyManyTimes() { + final LookupKey key = new LookupKey.Builder(CALIFORNIA_KEY).build(); + final int maxCount = 10; + + class CounterListener implements DataLoadListener { + @Override + public void dataLoadingBegin() { + listenerInvokeCount++; + if (listenerInvokeCount == maxCount) { + reachedMaxCount = true; } - - delayTestFinish(10000); - - for (int i = 0; i < maxCount; ++i) { - cache.fetchDynamicData(key, null, new CounterListener()); + assertTrue("CounterListener's dataLoadingBegin should not be invoked for more " + + "than " + maxCount + " times", + listenerInvokeCount <= maxCount); + } + + @Override + public void dataLoadingEnd() { + listenerInvokeCount--; + assertTrue(listenerInvokeCount >= 0); + if (listenerInvokeCount == 0) { + assertTrue("Expect to see key " + key + " cached when CounterListener's " + + " dataLoadingEnd is invoked", + cache.containsKey(key.toString())); + assertTrue("Expect CounterListener's dataLoadingEnd to be triggered " + + maxCount + " times in total", reachedMaxCount); + finishTest(); } - - // Null listeners should not affect results. - cache.fetchDynamicData(key, null, null); - cache.fetchDynamicData(key, null, null); - cache.fetchDynamicData(key, null, null); + } } - public void testFetchAgainRightAfterOneFetchStart() { - final LookupKey key = new LookupKey.Builder(US_KEY).build(); + delayTestFinish(10000); - delayTestFinish(10000); + for (int i = 0; i < maxCount; ++i) { + cache.fetchDynamicData(key, null, new CounterListener()); + } - cache.fetchDynamicData(key, null, null); + // Null listeners should not affect results. + cache.fetchDynamicData(key, null, null); + cache.fetchDynamicData(key, null, null); + cache.fetchDynamicData(key, null, null); + } - cache.fetchDynamicData(key, null, new DataLoadListener() { - boolean beginCalled = false; - - @Override - public void dataLoadingBegin() { - assertFalse("data for key " + key + " should not be fetched yet", - cache.containsKey(key.toString())); - beginCalled = true; - } - - @Override - public void dataLoadingEnd() { - assertTrue("dataLoadingBegin should be called", beginCalled); - - assertTrue(cache.containsKey(key.toString())); - - cache.fetchDynamicData(key, null, new DataLoadListener() { - boolean beginCalled2 = false; - - @Override - public void dataLoadingBegin() { - beginCalled2 = true; - } - - @Override - public void dataLoadingEnd() { - assertTrue("dataLoadingBegin should be called", beginCalled2); - - assertTrue(cache.containsKey(key.toString())); - finishTest(); - } - }); - } - }); - } + public void testFetchAgainRightAfterOneFetchStart() { + final LookupKey key = new LookupKey.Builder(US_KEY).build(); - public void testInvalidKey() { - final LookupKey key = new LookupKey.Builder(RANDOM_COUNTRY_KEY).build(); + delayTestFinish(10000); - delayTestFinish(15000); + cache.fetchDynamicData(key, null, null); - cache.fetchDynamicData(key, null, new DataLoadListener() { - boolean beginCalled = false; + cache.fetchDynamicData(key, null, new DataLoadListener() { + boolean beginCalled = false; - @Override - public void dataLoadingBegin() { - beginCalled = true; - } + @Override + public void dataLoadingBegin() { + assertFalse("data for key " + key + " should not be fetched yet", + cache.containsKey(key.toString())); + beginCalled = true; + } - @Override - public void dataLoadingEnd() { - assertTrue("dataLoadingBegin should be called", beginCalled); - assertFalse(cache.containsKey(key.toString())); + @Override + public void dataLoadingEnd() { + assertTrue("dataLoadingBegin should be called", beginCalled); - finishTest(); - } - }); - } + assertTrue(cache.containsKey(key.toString())); - public void testSetUrl() { - final LookupKey key = new LookupKey.Builder(FRANCE_KEY).build(); - final String originalUrl = cache.getUrl(); + cache.fetchDynamicData(key, null, new DataLoadListener() { + boolean beginCalled2 = false; - assertFalse(FRANCE_KEY + " should not be in the cache. Do you request it before this test?", - cache.containsKey(key.toString())); + @Override + public void dataLoadingBegin() { + beginCalled2 = true; + } - delayTestFinish(10000); - // Something that is not an URL. - cache.setUrl("FDSSfdfdsfasdfadsf"); + @Override + public void dataLoadingEnd() { + assertTrue("dataLoadingBegin should be called", beginCalled2); - cache.fetchDynamicData(key, null, new DataLoadListener() { - boolean beginCalled = false; - - @Override - public void dataLoadingBegin() { - beginCalled = true; - } - - @Override - public void dataLoadingEnd() { - assertTrue("dataLoadingBegin should be called", beginCalled); - assertFalse(cache.containsKey(key.toString())); - cache.setUrl(originalUrl); - finishTest(); - } + assertTrue(cache.containsKey(key.toString())); + finishTest(); + } }); - } + } + }); + } + + public void testInvalidKey() { + final LookupKey key = new LookupKey.Builder(RANDOM_COUNTRY_KEY).build(); + + delayTestFinish(15000); + + cache.fetchDynamicData(key, null, new DataLoadListener() { + boolean beginCalled = false; + + @Override + public void dataLoadingBegin() { + beginCalled = true; + } + + @Override + public void dataLoadingEnd() { + assertTrue("dataLoadingBegin should be called", beginCalled); + assertFalse(cache.containsKey(key.toString())); + + finishTest(); + } + }); + } + + public void testSetUrl() { + final LookupKey key = new LookupKey.Builder(FRANCE_KEY).build(); + final String originalUrl = cache.getUrl(); + + assertFalse(FRANCE_KEY + " should not be in the cache. Do you request it before this test?", + cache.containsKey(key.toString())); + + delayTestFinish(10000); + // Something that is not an URL. + cache.setUrl("FDSSfdfdsfasdfadsf"); + + cache.fetchDynamicData(key, null, new DataLoadListener() { + boolean beginCalled = false; + + @Override + public void dataLoadingBegin() { + beginCalled = true; + } + + @Override + public void dataLoadingEnd() { + assertTrue("dataLoadingBegin should be called", beginCalled); + assertFalse(cache.containsKey(key.toString())); + cache.setUrl(originalUrl); + finishTest(); + } + }); + } } |