diff options
author | 2013-10-31 11:01:41 -0700 | |
---|---|---|
committer | 2013-10-31 11:01:41 -0700 | |
commit | b3691b5642e2f0eb44d826fbade71869a1d229f9 (patch) | |
tree | 6e90884bf6c7125409420c4df0e77d524df41e0c /tests/src | |
parent | ecbd8af1690cc776b6bf1a06663f07bac8efdf2b (diff) | |
download | latinime-b3691b5642e2f0eb44d826fbade71869a1d229f9.tar.gz latinime-b3691b5642e2f0eb44d826fbade71869a1d229f9.tar.xz latinime-b3691b5642e2f0eb44d826fbade71869a1d229f9.zip |
Implement ver4 dict PtNode reading methods.
Bug: 11073222
Change-Id: I03af717ff02a621d9be8eb554d8f1438a500339b
Diffstat (limited to 'tests/src')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/Ver4BinaryDictionaryTests.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/src/com/android/inputmethod/latin/Ver4BinaryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/Ver4BinaryDictionaryTests.java index 25fb1c2a8..f48a4296a 100644 --- a/tests/src/com/android/inputmethod/latin/Ver4BinaryDictionaryTests.java +++ b/tests/src/com/android/inputmethod/latin/Ver4BinaryDictionaryTests.java @@ -33,6 +33,7 @@ import java.io.IOException; import java.util.HashMap; import java.util.Locale; +// TODO: Add a test to evaluate the speed of operations of Ver4 dictionary. @LargeTest public class Ver4BinaryDictionaryTests extends AndroidTestCase { private static final String TAG = Ver4BinaryDictionaryTests.class.getSimpleName(); @@ -90,4 +91,33 @@ public class Ver4BinaryDictionaryTests extends AndroidTestCase { Locale.getDefault(), TEST_LOCALE, true /* isUpdatable */); assertTrue(binaryDictionary.isValidDictionary()); } + + // TODO: Add large tests. + public void testReadProbability() { + final String dictVersion = Long.toString(System.currentTimeMillis()); + final FusionDictionary dict = new FusionDictionary(new PtNodeArray(), + getDictionaryOptions(TEST_LOCALE, dictVersion)); + + final int frequency = 100; + dict.add("a", frequency, null, false /* isNotAWord */); + dict.add("aaa", frequency, null, false /* isNotAWord */); + dict.add("ab", frequency, null, false /* isNotAWord */); + + DictEncoder encoder = new Ver4DictEncoder(getContext().getCacheDir()); + try { + encoder.writeDictionary(dict, FORMAT_OPTIONS); + } catch (IOException e) { + Log.e(TAG, "IOException while writing dictionary", e); + } catch (UnsupportedFormatException e) { + Log.e(TAG, "Unsupported format", e); + } + File trieFile = getTrieFile(TEST_LOCALE, dictVersion); + BinaryDictionary binaryDictionary = new BinaryDictionary(trieFile.getAbsolutePath(), + 0 /* offset */, trieFile.length(), true /* useFullEditDistance */, + Locale.getDefault(), TEST_LOCALE, true /* isUpdatable */); + assertTrue(binaryDictionary.isValidDictionary()); + assertEquals(frequency, binaryDictionary.getFrequency("a")); + assertEquals(frequency, binaryDictionary.getFrequency("aaa")); + assertEquals(frequency, binaryDictionary.getFrequency("ab")); + } } |