[TestPrep17] Allow fake dictionary for testing

Currently ResearchLog requires a full dictionary to perform privacy-related checks.
This makes testing difficult.  This change allows a fake dictionary to be used instead.

Change-Id: Ifca5bd8647475a6b84e4324117e0faa0a35479ee
main
Kurt Partridge 2013-02-19 15:36:40 -08:00
parent 64c34122f2
commit 5ee261a990
1 changed files with 13 additions and 0 deletions

View File

@ -18,6 +18,7 @@ package com.android.inputmethod.research;
import android.util.Log;
import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.Dictionary;
import com.android.inputmethod.latin.Suggest;
import com.android.inputmethod.latin.define.ProductionFlag;
@ -64,7 +65,11 @@ public abstract class MainLogBuffer extends FixedLogBuffer {
// The size of the n-grams logged. E.g. N_GRAM_SIZE = 2 means to sample bigrams.
public static final int N_GRAM_SIZE = 2;
// TODO: Remove dependence on Suggest, and pass in Dictionary as a parameter to an appropriate
// method.
private Suggest mSuggest;
@UsedForTesting
private Dictionary mDictionaryForTesting;
private boolean mIsStopping = false;
/* package for test */ int mNumWordsBetweenNGrams;
@ -83,7 +88,15 @@ public abstract class MainLogBuffer extends FixedLogBuffer {
mSuggest = suggest;
}
@UsedForTesting
/* package for test */ void setDictionaryForTesting(final Dictionary dictionary) {
mDictionaryForTesting = dictionary;
}
private Dictionary getDictionary() {
if (mDictionaryForTesting != null) {
return mDictionaryForTesting;
}
if (mSuggest == null || !mSuggest.hasMainDictionary()) return null;
return mSuggest.getMainDictionary();
}