aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-04-22 19:29:01 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-04-22 19:29:01 +0000
commit42732ab9eb9f07330a9afb102f7539e0cf4c66cc (patch)
treec3e9b3cb0f8c37d4ae5bb14335afa902a4fbd8e0 /tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
parent15381179602c4a8e8d5e6749ca8b72e94a2bbd43 (diff)
parent89939b870876b36791a47470ce852e4fcdfe86f2 (diff)
downloadlatinime-42732ab9eb9f07330a9afb102f7539e0cf4c66cc.tar.gz
latinime-42732ab9eb9f07330a9afb102f7539e0cf4c66cc.tar.xz
latinime-42732ab9eb9f07330a9afb102f7539e0cf4c66cc.zip
am 89939b87: Support creating BinaryDictionary without creating dict file.
* commit '89939b870876b36791a47470ce852e4fcdfe86f2': Support creating BinaryDictionary without creating dict file.
Diffstat (limited to 'tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java')
-rw-r--r--tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
index b47662719..0fb0fa587 100644
--- a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
@@ -97,6 +97,37 @@ public class BinaryDictionaryTests extends AndroidTestCase {
binaryDictionary.close();
}
+ public void testConstructingDictionaryOnMemory() {
+ testConstructingDictionaryOnMemory(FormatSpec.VERSION4);
+ }
+
+ private void testConstructingDictionaryOnMemory(final int formatVersion) {
+ File dictFile = null;
+ try {
+ dictFile = createEmptyDictionaryAndGetFile("TestBinaryDictionary", formatVersion);
+ } catch (IOException e) {
+ fail("IOException while writing an initial dictionary : " + e);
+ }
+ FileUtils.deleteRecursively(dictFile);
+ assertFalse(dictFile.exists());
+ BinaryDictionary binaryDictionary = new BinaryDictionary(dictFile.getAbsolutePath(),
+ true /* useFullEditDistance */, Locale.getDefault(), TEST_LOCALE, formatVersion,
+ new HashMap<String, String>());
+ assertTrue(binaryDictionary.isValidDictionary());
+ assertEquals(formatVersion, binaryDictionary.getFormatVersion());
+ final int probability = 100;
+ addUnigramWord(binaryDictionary, "word", probability);
+ assertEquals(probability, binaryDictionary.getFrequency("word"));
+ assertFalse(dictFile.exists());
+ binaryDictionary.flush();
+ assertTrue(dictFile.exists());
+ assertTrue(binaryDictionary.isValidDictionary());
+ assertEquals(formatVersion, binaryDictionary.getFormatVersion());
+ assertEquals(probability, binaryDictionary.getFrequency("word"));
+ binaryDictionary.close();
+ dictFile.delete();
+ }
+
public void testAddTooLongWord() {
testAddTooLongWord(FormatSpec.VERSION4);
}