diff options
author | 2013-09-10 22:46:10 +0900 | |
---|---|---|
committer | 2013-09-10 22:46:10 +0900 | |
commit | 5b51355b9ebf3bd1530074e9c7804f301d1ad5c5 (patch) | |
tree | 85d4856b6148a87ac2d2be2e12d6e3a67968b5f6 /tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java | |
parent | b8e857f7996c00556682288099b153d847951fbf (diff) | |
download | latinime-5b51355b9ebf3bd1530074e9c7804f301d1ad5c5.tar.gz latinime-5b51355b9ebf3bd1530074e9c7804f301d1ad5c5.tar.xz latinime-5b51355b9ebf3bd1530074e9c7804f301d1ad5c5.zip |
Add tests for BinaryDictionary.addUnigramWord().
Bug: 10197478
Change-Id: Ie46f360b8c75183b49d42d00fefed4a8531f64a9
Diffstat (limited to 'tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java index e2e148903..bf4954b34 100644 --- a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java +++ b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java @@ -84,4 +84,42 @@ public class BinaryDictionaryTests extends AndroidTestCase { binaryDictionary.isValidDictionary()); binaryDictionary.close(); } + + public void testAddUnigramWord() { + File dictFile = null; + try { + dictFile = createEmptyDictionaryAndGetFile("TestBinaryDictionary"); + } catch (IOException e) { + fail("IOException while writing an initial dictionary : " + e); + } catch (UnsupportedFormatException e) { + fail("UnsupportedFormatException while writing an initial dictionary : " + e); + } + BinaryDictionary binaryDictionary = new BinaryDictionary(dictFile.getAbsolutePath(), + 0 /* offset */, dictFile.length(), true /* useFullEditDistance */, + Locale.getDefault(), TEST_LOCALE, true /* isUpdatable */); + + final int probability = 100; + binaryDictionary.addUnigramWord("aaa", probability); + // Reallocate and create. + binaryDictionary.addUnigramWord("aab", probability); + // Insert into children. + binaryDictionary.addUnigramWord("aac", probability); + // Make terminal. + binaryDictionary.addUnigramWord("aa", probability); + // Create children. + binaryDictionary.addUnigramWord("aaaa", probability); + // Reallocate and make termianl. + binaryDictionary.addUnigramWord("a", probability); + + final int updatedProbability = 200; + // Update. + binaryDictionary.addUnigramWord("aaa", updatedProbability); + + assertEquals(probability, binaryDictionary.getFrequency("aab")); + assertEquals(probability, binaryDictionary.getFrequency("aac")); + assertEquals(probability, binaryDictionary.getFrequency("aac")); + assertEquals(probability, binaryDictionary.getFrequency("aaaa")); + assertEquals(probability, binaryDictionary.getFrequency("a")); + assertEquals(updatedProbability, binaryDictionary.getFrequency("aaa")); + } } |