Fix unit test.

Change-Id: Ib104d5de71c2ab1a07921b407c74c21b0409d9af
main
Yuichiro Hanada 2013-08-19 10:17:02 +09:00
parent 606a056b53
commit 8aaae56cf6
7 changed files with 36 additions and 18 deletions

View File

@ -84,6 +84,9 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
/** Controls access to the local binary dictionary for this instance. */ /** Controls access to the local binary dictionary for this instance. */
private final DictionaryController mLocalDictionaryController = new DictionaryController(); private final DictionaryController mLocalDictionaryController = new DictionaryController();
/* A extension for a binary dictionary file. */
public static final String DICT_FILE_EXTENSION = ".dict";
/** /**
* Abstract method for loading the unigrams and bigrams of a given dictionary in a background * Abstract method for loading the unigrams and bigrams of a given dictionary in a background
* thread. * thread.
@ -129,7 +132,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
} }
protected static String getFilenameWithLocale(final String name, final String localeStr) { protected static String getFilenameWithLocale(final String name, final String localeStr) {
return name + "." + localeStr + ".dict"; return name + "." + localeStr + DICT_FILE_EXTENSION;
} }
/** /**

View File

@ -17,6 +17,7 @@
package com.android.inputmethod.latin.personalization; package com.android.inputmethod.latin.personalization;
import com.android.inputmethod.latin.Dictionary; import com.android.inputmethod.latin.Dictionary;
import com.android.inputmethod.latin.ExpandableBinaryDictionary;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@ -31,6 +32,6 @@ public class PersonalizationPredictionDictionary extends DynamicPredictionDictio
@Override @Override
protected String getDictionaryFileName() { protected String getDictionaryFileName() {
return NAME + "." + getLocale() + ".dict"; return NAME + "." + getLocale() + ExpandableBinaryDictionary.DICT_FILE_EXTENSION;
} }
} }

View File

@ -17,6 +17,7 @@
package com.android.inputmethod.latin.personalization; package com.android.inputmethod.latin.personalization;
import com.android.inputmethod.latin.Dictionary; import com.android.inputmethod.latin.Dictionary;
import com.android.inputmethod.latin.ExpandableBinaryDictionary;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@ -35,6 +36,6 @@ public class UserHistoryPredictionDictionary extends DynamicPredictionDictionary
@Override @Override
protected String getDictionaryFileName() { protected String getDictionaryFileName() {
return NAME + "." + getLocale() + ".dict"; return NAME + "." + getLocale() + ExpandableBinaryDictionary.DICT_FILE_EXTENSION;
} }
} }

View File

@ -71,6 +71,8 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
private static final FormatSpec.FormatOptions VERSION3_WITH_DYNAMIC_UPDATE = private static final FormatSpec.FormatOptions VERSION3_WITH_DYNAMIC_UPDATE =
new FormatSpec.FormatOptions(3, true /* supportsDynamicUpdate */); new FormatSpec.FormatOptions(3, true /* supportsDynamicUpdate */);
private static final String TEST_DICT_FILE_EXTENSION = ".testDict";
public BinaryDictDecoderEncoderTests() { public BinaryDictDecoderEncoderTests() {
this(System.currentTimeMillis(), DEFAULT_MAX_UNIGRAMS); this(System.currentTimeMillis(), DEFAULT_MAX_UNIGRAMS);
} }
@ -293,7 +295,8 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
final String message) { final String message) {
File file = null; File file = null;
try { try {
file = File.createTempFile("runReadAndWrite", ".dict", getContext().getCacheDir()); file = File.createTempFile("runReadAndWrite", TEST_DICT_FILE_EXTENSION,
getContext().getCacheDir());
} catch (IOException e) { } catch (IOException e) {
Log.e(TAG, "IOException", e); Log.e(TAG, "IOException", e);
} }
@ -435,7 +438,8 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
final FormatSpec.FormatOptions formatOptions, final String message) { final FormatSpec.FormatOptions formatOptions, final String message) {
File file = null; File file = null;
try { try {
file = File.createTempFile("runReadUnigrams", ".dict", getContext().getCacheDir()); file = File.createTempFile("runReadUnigrams", TEST_DICT_FILE_EXTENSION,
getContext().getCacheDir());
} catch (IOException e) { } catch (IOException e) {
Log.e(TAG, "IOException", e); Log.e(TAG, "IOException", e);
} }
@ -533,7 +537,7 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
public void testGetTerminalPosition() { public void testGetTerminalPosition() {
File file = null; File file = null;
try { try {
file = File.createTempFile("testGetTerminalPosition", ".dict", file = File.createTempFile("testGetTerminalPosition", TEST_DICT_FILE_EXTENSION,
getContext().getCacheDir()); getContext().getCacheDir());
} catch (IOException e) { } catch (IOException e) {
// do nothing // do nothing
@ -593,7 +597,8 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
public void testDeleteWord() { public void testDeleteWord() {
File file = null; File file = null;
try { try {
file = File.createTempFile("testDeleteWord", ".dict", getContext().getCacheDir()); file = File.createTempFile("testDeleteWord", TEST_DICT_FILE_EXTENSION,
getContext().getCacheDir());
} catch (IOException e) { } catch (IOException e) {
// do nothing // do nothing
} }

View File

@ -48,6 +48,8 @@ public class BinaryDictIOUtilsTests extends AndroidTestCase {
public static final int DEFAULT_MAX_UNIGRAMS = 1500; public static final int DEFAULT_MAX_UNIGRAMS = 1500;
private final int mMaxUnigrams; private final int mMaxUnigrams;
private static final String TEST_DICT_FILE_EXTENSION = ".testDict";
private static final String[] CHARACTERS = { private static final String[] CHARACTERS = {
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
@ -234,7 +236,8 @@ public class BinaryDictIOUtilsTests extends AndroidTestCase {
public void testInsertWord() { public void testInsertWord() {
File file = null; File file = null;
try { try {
file = File.createTempFile("testInsertWord", ".dict", getContext().getCacheDir()); file = File.createTempFile("testInsertWord", TEST_DICT_FILE_EXTENSION,
getContext().getCacheDir());
} catch (IOException e) { } catch (IOException e) {
fail("IOException while creating temporary file: " + e); fail("IOException while creating temporary file: " + e);
} }
@ -284,7 +287,7 @@ public class BinaryDictIOUtilsTests extends AndroidTestCase {
public void testInsertWordWithBigrams() { public void testInsertWordWithBigrams() {
File file = null; File file = null;
try { try {
file = File.createTempFile("testInsertWordWithBigrams", ".dict", file = File.createTempFile("testInsertWordWithBigrams", TEST_DICT_FILE_EXTENSION,
getContext().getCacheDir()); getContext().getCacheDir());
} catch (IOException e) { } catch (IOException e) {
fail("IOException while creating temporary file: " + e); fail("IOException while creating temporary file: " + e);
@ -322,7 +325,8 @@ public class BinaryDictIOUtilsTests extends AndroidTestCase {
public void testRandomWords() { public void testRandomWords() {
File file = null; File file = null;
try { try {
file = File.createTempFile("testRandomWord", ".dict", getContext().getCacheDir()); file = File.createTempFile("testRandomWord", TEST_DICT_FILE_EXTENSION,
getContext().getCacheDir());
} catch (IOException e) { } catch (IOException e) {
} }
assertNotNull(file); assertNotNull(file);

View File

@ -22,6 +22,7 @@ import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.LargeTest;
import android.util.Log; import android.util.Log;
import com.android.inputmethod.latin.ExpandableBinaryDictionary;
import com.android.inputmethod.latin.utils.CollectionUtils; import com.android.inputmethod.latin.utils.CollectionUtils;
import java.io.File; import java.io.File;
@ -81,12 +82,12 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
} }
} }
private void addAndWriteRandomWords(final String locale, final int numberOfWords, private void addAndWriteRandomWords(final String testFilenameSuffix, final int numberOfWords,
final Random random) { final Random random) {
final List<String> words = generateWords(numberOfWords, random); final List<String> words = generateWords(numberOfWords, random);
final UserHistoryPredictionDictionary dict = final UserHistoryPredictionDictionary dict =
PersonalizationDictionaryHelper.getUserHistoryPredictionDictionary(getContext(), PersonalizationDictionaryHelper.getUserHistoryPredictionDictionary(getContext(),
locale, mPrefs); testFilenameSuffix /* locale */, mPrefs);
// Add random words to the user history dictionary. // Add random words to the user history dictionary.
addToDict(dict, words); addToDict(dict, words);
// write to file. // write to file.
@ -97,12 +98,12 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
File dictFile = null; File dictFile = null;
Log.d(TAG, "This test can be used for profiling."); Log.d(TAG, "This test can be used for profiling.");
Log.d(TAG, "Usage: please set UserHistoryDictionary.PROFILE_SAVE_RESTORE to true."); Log.d(TAG, "Usage: please set UserHistoryDictionary.PROFILE_SAVE_RESTORE to true.");
final String locale = "testRandomWords" + System.currentTimeMillis(); final String testFilenameSuffix = "testRandomWords" + System.currentTimeMillis();
final int numberOfWords = 1000; final int numberOfWords = 1000;
final Random random = new Random(123456); final Random random = new Random(123456);
try { try {
addAndWriteRandomWords(locale, numberOfWords, random); addAndWriteRandomWords(testFilenameSuffix, numberOfWords, random);
} finally { } finally {
try { try {
Log.d(TAG, "waiting for writing ..."); Log.d(TAG, "waiting for writing ...");
@ -111,7 +112,8 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
Log.d(TAG, "InterruptedException: " + e); Log.d(TAG, "InterruptedException: " + e);
} }
final String fileName = UserHistoryPredictionDictionary.NAME + "." + locale + ".dict"; final String fileName = UserHistoryPredictionDictionary.NAME + "." + testFilenameSuffix
+ ExpandableBinaryDictionary.DICT_FILE_EXTENSION;
dictFile = new File(getContext().getFilesDir(), fileName); dictFile = new File(getContext().getFilesDir(), fileName);
if (dictFile != null) { if (dictFile != null) {
@ -135,8 +137,8 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
String testFilenameSuffixes[] = new String[numberOfLanguages]; String testFilenameSuffixes[] = new String[numberOfLanguages];
for (int i = 0; i < numberOfLanguages; i++) { for (int i = 0; i < numberOfLanguages; i++) {
testFilenameSuffixes[i] = "testSwitchingLanguages" + i; testFilenameSuffixes[i] = "testSwitchingLanguages" + i;
final String fileName = "UserHistoryDictionary." + testFilenameSuffixes[i] final String fileName = UserHistoryPredictionDictionary.NAME + "." +
+ ".dict"; testFilenameSuffixes[i] + ExpandableBinaryDictionary.DICT_FILE_EXTENSION;
dictFiles[i] = new File(getContext().getFilesDir(), fileName); dictFiles[i] = new File(getContext().getFilesDir(), fileName);
} }

View File

@ -49,6 +49,7 @@ public class UserHistoryDictIOUtilsTests extends AndroidTestCase
private static final int BIGRAM_FREQUENCY = 100; private static final int BIGRAM_FREQUENCY = 100;
private static final ArrayList<String> NOT_HAVE_BIGRAM = new ArrayList<String>(); private static final ArrayList<String> NOT_HAVE_BIGRAM = new ArrayList<String>();
private static final FormatSpec.FormatOptions FORMAT_OPTIONS = new FormatSpec.FormatOptions(2); private static final FormatSpec.FormatOptions FORMAT_OPTIONS = new FormatSpec.FormatOptions(2);
private static final String TEST_DICT_FILE_EXTENSION = ".testDict";
/** /**
* Return same frequency for all words and bigrams * Return same frequency for all words and bigrams
@ -177,7 +178,8 @@ public class UserHistoryDictIOUtilsTests extends AndroidTestCase
File file = null; File file = null;
try { try {
file = File.createTempFile("testReadAndWrite", ".dict", getContext().getCacheDir()); file = File.createTempFile("testReadAndWrite", TEST_DICT_FILE_EXTENSION,
getContext().getCacheDir());
} catch (IOException e) { } catch (IOException e) {
Log.d(TAG, "IOException while creating a temporary file", e); Log.d(TAG, "IOException while creating a temporary file", e);
} }