aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCacheTests.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-08-27 22:00:48 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-08-27 22:00:48 +0900
commitd267764d5abf12f95d09d1ec8f02548d992ca612 (patch)
treed7a4e9b8d8529ca413bf4e88deaa3b81c7ed4dbd /tests/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCacheTests.java
parentb85bf4ebb80ad471b1f61ea92d971bbeffb77872 (diff)
downloadlatinime-d267764d5abf12f95d09d1ec8f02548d992ca612.tar.gz
latinime-d267764d5abf12f95d09d1ec8f02548d992ca612.tar.xz
latinime-d267764d5abf12f95d09d1ec8f02548d992ca612.zip
Create DictionaryFacilitatorLruCache.
This class is separated from AndroidSpellCheckerService Bug: 16547557 Change-Id: I3e58521207395588cecb2977234b89067d6da8c3
Diffstat (limited to 'tests/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCacheTests.java')
-rw-r--r--tests/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCacheTests.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/tests/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCacheTests.java b/tests/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCacheTests.java
new file mode 100644
index 000000000..5af30e5b0
--- /dev/null
+++ b/tests/src/com/android/inputmethod/latin/DictionaryFacilitatorLruCacheTests.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.latin;
+
+import java.util.Locale;
+
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.LargeTest;
+
+@LargeTest
+public class DictionaryFacilitatorLruCacheTests extends AndroidTestCase {
+ static final int MAX_CACHE_SIZE = 2;
+ static final int MAX_CACHE_SIZE_LARGE = 5;
+
+ public void testCacheSize() {
+ final DictionaryFacilitatorLruCache cache =
+ new DictionaryFacilitatorLruCache(getContext(), MAX_CACHE_SIZE, "");
+
+ assertEquals(0, cache.getCachedLocalesForTesting().size());
+ assertNotNull(cache.get(Locale.US));
+ assertEquals(1, cache.getCachedLocalesForTesting().size());
+ assertNotNull(cache.get(Locale.UK));
+ assertEquals(2, cache.getCachedLocalesForTesting().size());
+ assertNotNull(cache.get(Locale.FRENCH));
+ assertEquals(2, cache.getCachedLocalesForTesting().size());
+ cache.evictAll();
+ assertEquals(0, cache.getCachedLocalesForTesting().size());
+ }
+
+ public void testGetFacilitator() {
+ testGetFacilitator(new DictionaryFacilitatorLruCache(getContext(), MAX_CACHE_SIZE, ""));
+ testGetFacilitator(new DictionaryFacilitatorLruCache(
+ getContext(), MAX_CACHE_SIZE_LARGE, ""));
+ }
+
+ private void testGetFacilitator(final DictionaryFacilitatorLruCache cache) {
+ final DictionaryFacilitator dictionaryFacilitatorEnUs = cache.get(Locale.US);
+ assertNotNull(dictionaryFacilitatorEnUs);
+ assertEquals(Locale.US, dictionaryFacilitatorEnUs.getLocale());
+
+ final DictionaryFacilitator dictionaryFacilitatorFr = cache.get(Locale.FRENCH);
+ assertNotNull(dictionaryFacilitatorEnUs);
+ assertEquals(Locale.FRENCH, dictionaryFacilitatorFr.getLocale());
+
+ final DictionaryFacilitator dictionaryFacilitatorDe = cache.get(Locale.GERMANY);
+ assertNotNull(dictionaryFacilitatorDe);
+ assertEquals(Locale.GERMANY, dictionaryFacilitatorDe.getLocale());
+ }
+
+ public void testSetUseContactsDictionary() {
+ testSetUseContactsDictionary(new DictionaryFacilitatorLruCache(
+ getContext(), MAX_CACHE_SIZE, ""));
+ testSetUseContactsDictionary(new DictionaryFacilitatorLruCache(
+ getContext(), MAX_CACHE_SIZE_LARGE, ""));
+ }
+
+ private void testSetUseContactsDictionary(final DictionaryFacilitatorLruCache cache) {
+ assertNull(cache.get(Locale.US).getSubDictForTesting(Dictionary.TYPE_CONTACTS));
+ cache.setUseContactsDictionary(true /* useContactsDictionary */);
+ assertNotNull(cache.get(Locale.US).getSubDictForTesting(Dictionary.TYPE_CONTACTS));
+ assertNotNull(cache.get(Locale.FRENCH).getSubDictForTesting(Dictionary.TYPE_CONTACTS));
+ assertNotNull(cache.get(Locale.GERMANY).getSubDictForTesting(Dictionary.TYPE_CONTACTS));
+ cache.setUseContactsDictionary(false /* useContactsDictionary */);
+ assertNull(cache.get(Locale.GERMANY).getSubDictForTesting(Dictionary.TYPE_CONTACTS));
+ assertNull(cache.get(Locale.US).getSubDictForTesting(Dictionary.TYPE_CONTACTS));
+ }
+}