Merge "Add VERSION4_DEV(402) in Java side and use it for tests."

This commit is contained in:
Keisuke Kuroyanagi 2014-05-14 13:42:23 +00:00 committed by Android (Google) Code Review
commit aa7329de15
3 changed files with 99 additions and 38 deletions

View file

@ -193,8 +193,9 @@ public final class FormatSpec {
// Dictionary version used for testing. // Dictionary version used for testing.
public static final int VERSION4_ONLY_FOR_TESTING = 399; public static final int VERSION4_ONLY_FOR_TESTING = 399;
public static final int VERSION4 = 401; public static final int VERSION4 = 401;
public static final int VERSION4_DEV = 402;
static final int MINIMUM_SUPPORTED_VERSION = VERSION2; static final int MINIMUM_SUPPORTED_VERSION = VERSION2;
static final int MAXIMUM_SUPPORTED_VERSION = VERSION4; static final int MAXIMUM_SUPPORTED_VERSION = VERSION4_DEV;
// TODO: Make this value adaptative to content data, store it in the header, and // TODO: Make this value adaptative to content data, store it in the header, and
// use it in the reading code. // use it in the reading code.

View file

@ -46,6 +46,8 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
private static final String TEST_DICT_FILE_EXTENSION = ".testDict"; private static final String TEST_DICT_FILE_EXTENSION = ".testDict";
private static final String TEST_LOCALE = "test"; private static final String TEST_LOCALE = "test";
private static final int DUMMY_PROBABILITY = 0; private static final int DUMMY_PROBABILITY = 0;
private static final int[] DICT_FORMAT_VERSIONS =
new int[] { FormatSpec.VERSION4, FormatSpec.VERSION4_DEV };
private int mCurrentTime = 0; private int mCurrentTime = 0;
@ -94,7 +96,8 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
private File createEmptyDictionaryAndGetFile(final String dictId, private File createEmptyDictionaryAndGetFile(final String dictId,
final int formatVersion) throws IOException { final int formatVersion) throws IOException {
if (formatVersion == FormatSpec.VERSION4 if (formatVersion == FormatSpec.VERSION4
|| formatVersion == FormatSpec.VERSION4_ONLY_FOR_TESTING) { || formatVersion == FormatSpec.VERSION4_ONLY_FOR_TESTING
|| formatVersion == FormatSpec.VERSION4_DEV) {
return createEmptyVer4DictionaryAndGetFile(dictId, formatVersion); return createEmptyVer4DictionaryAndGetFile(dictId, formatVersion);
} else { } else {
throw new IOException("Dictionary format version " + formatVersion throw new IOException("Dictionary format version " + formatVersion
@ -120,7 +123,7 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
return file; return file;
} else { } else {
throw new IOException("Empty dictionary " + file.getAbsolutePath() throw new IOException("Empty dictionary " + file.getAbsolutePath()
+ " cannot be created."); + " cannot be created. Foramt version: " + formatVersion);
} }
} }
@ -133,7 +136,9 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testReadDictInJavaSide() { public void testReadDictInJavaSide() {
testReadDictInJavaSide(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testReadDictInJavaSide(formatVersion);
}
} }
private void testReadDictInJavaSide(final int formatVersion) { private void testReadDictInJavaSide(final int formatVersion) {
@ -178,10 +183,6 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testControlCurrentTime() { public void testControlCurrentTime() {
testControlCurrentTime(FormatSpec.VERSION4);
}
private void testControlCurrentTime(final int formatVersion) {
final int TEST_COUNT = 1000; final int TEST_COUNT = 1000;
final long seed = System.currentTimeMillis(); final long seed = System.currentTimeMillis();
final Random random = new Random(seed); final Random random = new Random(seed);
@ -197,7 +198,9 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testAddValidAndInvalidWords() { public void testAddValidAndInvalidWords() {
testAddValidAndInvalidWords(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddValidAndInvalidWords(formatVersion);
}
} }
private void testAddValidAndInvalidWords(final int formatVersion) { private void testAddValidAndInvalidWords(final int formatVersion) {
@ -240,7 +243,9 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testDecayingProbability() { public void testDecayingProbability() {
testDecayingProbability(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testDecayingProbability(formatVersion);
}
} }
private void testDecayingProbability(final int formatVersion) { private void testDecayingProbability(final int formatVersion) {
@ -295,7 +300,9 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testAddManyUnigramsToDecayingDict() { public void testAddManyUnigramsToDecayingDict() {
testAddManyUnigramsToDecayingDict(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddManyUnigramsToDecayingDict(formatVersion);
}
} }
private void testAddManyUnigramsToDecayingDict(final int formatVersion) { private void testAddManyUnigramsToDecayingDict(final int formatVersion) {
@ -354,7 +361,9 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testOverflowUnigrams() { public void testOverflowUnigrams() {
testOverflowUnigrams(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testOverflowUnigrams(formatVersion);
}
} }
private void testOverflowUnigrams(final int formatVersion) { private void testOverflowUnigrams(final int formatVersion) {
@ -413,7 +422,9 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testAddManyBigramsToDecayingDict() { public void testAddManyBigramsToDecayingDict() {
testAddManyBigramsToDecayingDict(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddManyBigramsToDecayingDict(formatVersion);
}
} }
private void testAddManyBigramsToDecayingDict(final int formatVersion) { private void testAddManyBigramsToDecayingDict(final int formatVersion) {
@ -487,7 +498,9 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testOverflowBigrams() { public void testOverflowBigrams() {
testOverflowBigrams(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testOverflowBigrams(formatVersion);
}
} }
private void testOverflowBigrams(final int formatVersion) { private void testOverflowBigrams(final int formatVersion) {
@ -566,7 +579,9 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
} }
public void testDictMigration() { public void testDictMigration() {
testDictMigration(FormatSpec.VERSION4_ONLY_FOR_TESTING, FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testDictMigration(FormatSpec.VERSION4_ONLY_FOR_TESTING, formatVersion);
}
} }
private void testDictMigration(final int fromFormatVersion, final int toFormatVersion) { private void testDictMigration(final int fromFormatVersion, final int toFormatVersion) {

View file

@ -43,11 +43,14 @@ import java.util.Random;
public class BinaryDictionaryTests extends AndroidTestCase { public class BinaryDictionaryTests extends AndroidTestCase {
private static final String TEST_DICT_FILE_EXTENSION = ".testDict"; private static final String TEST_DICT_FILE_EXTENSION = ".testDict";
private static final String TEST_LOCALE = "test"; private static final String TEST_LOCALE = "test";
private static final int[] DICT_FORMAT_VERSIONS =
new int[] { FormatSpec.VERSION4, FormatSpec.VERSION4_DEV };
private File createEmptyDictionaryAndGetFile(final String dictId, private File createEmptyDictionaryAndGetFile(final String dictId,
final int formatVersion) throws IOException { final int formatVersion) throws IOException {
if (formatVersion == FormatSpec.VERSION4 if (formatVersion == FormatSpec.VERSION4
|| formatVersion == FormatSpec.VERSION4_ONLY_FOR_TESTING) { || formatVersion == FormatSpec.VERSION4_ONLY_FOR_TESTING
|| formatVersion == FormatSpec.VERSION4_DEV) {
return createEmptyVer4DictionaryAndGetFile(dictId, formatVersion); return createEmptyVer4DictionaryAndGetFile(dictId, formatVersion);
} else { } else {
throw new IOException("Dictionary format version " + formatVersion throw new IOException("Dictionary format version " + formatVersion
@ -67,12 +70,14 @@ public class BinaryDictionaryTests extends AndroidTestCase {
return file; return file;
} else { } else {
throw new IOException("Empty dictionary " + file.getAbsolutePath() throw new IOException("Empty dictionary " + file.getAbsolutePath()
+ " cannot be created."); + " cannot be created. Format version: " + formatVersion);
} }
} }
public void testIsValidDictionary() { public void testIsValidDictionary() {
testIsValidDictionary(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testIsValidDictionary(formatVersion);
}
} }
private void testIsValidDictionary(final int formatVersion) { private void testIsValidDictionary(final int formatVersion) {
@ -100,7 +105,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testConstructingDictionaryOnMemory() { public void testConstructingDictionaryOnMemory() {
testConstructingDictionaryOnMemory(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testConstructingDictionaryOnMemory(formatVersion);
}
} }
private void testConstructingDictionaryOnMemory(final int formatVersion) { private void testConstructingDictionaryOnMemory(final int formatVersion) {
@ -131,7 +138,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testAddTooLongWord() { public void testAddTooLongWord() {
testAddTooLongWord(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddTooLongWord(formatVersion);
}
} }
private void testAddTooLongWord(final int formatVersion) { private void testAddTooLongWord(final int formatVersion) {
@ -190,7 +199,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testAddUnigramWord() { public void testAddUnigramWord() {
testAddUnigramWord(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddUnigramWord(formatVersion);
}
} }
private void testAddUnigramWord(final int formatVersion) { private void testAddUnigramWord(final int formatVersion) {
@ -232,7 +243,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testRandomlyAddUnigramWord() { public void testRandomlyAddUnigramWord() {
testRandomlyAddUnigramWord(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testRandomlyAddUnigramWord(formatVersion);
}
} }
private void testRandomlyAddUnigramWord(final int formatVersion) { private void testRandomlyAddUnigramWord(final int formatVersion) {
@ -268,7 +281,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testAddBigramWords() { public void testAddBigramWords() {
testAddBigramWords(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddBigramWords(formatVersion);
}
} }
private void testAddBigramWords(final int formatVersion) { private void testAddBigramWords(final int formatVersion) {
@ -336,7 +351,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testRandomlyAddBigramWords() { public void testRandomlyAddBigramWords() {
testRandomlyAddBigramWords(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testRandomlyAddBigramWords(formatVersion);
}
} }
private void testRandomlyAddBigramWords(final int formatVersion) { private void testRandomlyAddBigramWords(final int formatVersion) {
@ -397,7 +414,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testRemoveBigramWords() { public void testRemoveBigramWords() {
testRemoveBigramWords(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testRemoveBigramWords(formatVersion);
}
} }
private void testRemoveBigramWords(final int formatVersion) { private void testRemoveBigramWords(final int formatVersion) {
@ -447,7 +466,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testFlushDictionary() { public void testFlushDictionary() {
testFlushDictionary(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testFlushDictionary(formatVersion);
}
} }
private void testFlushDictionary(final int formatVersion) { private void testFlushDictionary(final int formatVersion) {
@ -499,7 +520,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testFlushWithGCDictionary() { public void testFlushWithGCDictionary() {
testFlushWithGCDictionary(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testFlushWithGCDictionary(formatVersion);
}
} }
private void testFlushWithGCDictionary(final int formatVersion) { private void testFlushWithGCDictionary(final int formatVersion) {
@ -547,7 +570,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testAddBigramWordsAndFlashWithGC() { public void testAddBigramWordsAndFlashWithGC() {
testAddBigramWordsAndFlashWithGC(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddBigramWordsAndFlashWithGC(formatVersion);
}
} }
// TODO: Evaluate performance of GC // TODO: Evaluate performance of GC
@ -616,7 +641,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testRandomOperationsAndFlashWithGC() { public void testRandomOperationsAndFlashWithGC() {
testRandomOperationsAndFlashWithGC(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testRandomOperationsAndFlashWithGC(formatVersion);
}
} }
private void testRandomOperationsAndFlashWithGC(final int formatVersion) { private void testRandomOperationsAndFlashWithGC(final int formatVersion) {
@ -727,7 +754,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testAddManyUnigramsAndFlushWithGC() { public void testAddManyUnigramsAndFlushWithGC() {
testAddManyUnigramsAndFlushWithGC(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddManyUnigramsAndFlushWithGC(formatVersion);
}
} }
private void testAddManyUnigramsAndFlushWithGC(final int formatVersion) { private void testAddManyUnigramsAndFlushWithGC(final int formatVersion) {
@ -775,7 +804,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testUnigramAndBigramCount() { public void testUnigramAndBigramCount() {
testUnigramAndBigramCount(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testUnigramAndBigramCount(formatVersion);
}
} }
private void testUnigramAndBigramCount(final int formatVersion) { private void testUnigramAndBigramCount(final int formatVersion) {
@ -834,7 +865,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testAddMultipleDictionaryEntries() { public void testAddMultipleDictionaryEntries() {
testAddMultipleDictionaryEntries(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddMultipleDictionaryEntries(formatVersion);
}
} }
private void testAddMultipleDictionaryEntries(final int formatVersion) { private void testAddMultipleDictionaryEntries(final int formatVersion) {
@ -896,7 +929,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testGetWordProperties() { public void testGetWordProperties() {
testGetWordProperties(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testGetWordProperties(formatVersion);
}
} }
private void testGetWordProperties(final int formatVersion) { private void testGetWordProperties(final int formatVersion) {
@ -995,7 +1030,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testIterateAllWords() { public void testIterateAllWords() {
testIterateAllWords(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testIterateAllWords(formatVersion);
}
} }
private void testIterateAllWords(final int formatVersion) { private void testIterateAllWords(final int formatVersion) {
@ -1091,7 +1128,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testAddShortcuts() { public void testAddShortcuts() {
testAddShortcuts(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddShortcuts(formatVersion);
}
} }
private void testAddShortcuts(final int formatVersion) { private void testAddShortcuts(final int formatVersion) {
@ -1151,7 +1190,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testAddManyShortcuts() { public void testAddManyShortcuts() {
testAddManyShortcuts(FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddManyShortcuts(formatVersion);
}
} }
private void testAddManyShortcuts(final int formatVersion) { private void testAddManyShortcuts(final int formatVersion) {
@ -1227,7 +1268,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testDictMigration() { public void testDictMigration() {
testDictMigration(FormatSpec.VERSION4_ONLY_FOR_TESTING, FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testDictMigration(FormatSpec.VERSION4_ONLY_FOR_TESTING, formatVersion);
}
} }
private void testDictMigration(final int fromFormatVersion, final int toFormatVersion) { private void testDictMigration(final int fromFormatVersion, final int toFormatVersion) {
@ -1271,7 +1314,9 @@ public class BinaryDictionaryTests extends AndroidTestCase {
} }
public void testLargeDictMigration() { public void testLargeDictMigration() {
testLargeDictMigration(FormatSpec.VERSION4_ONLY_FOR_TESTING, FormatSpec.VERSION4); for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testLargeDictMigration(FormatSpec.VERSION4_ONLY_FOR_TESTING, formatVersion);
}
} }
private void testLargeDictMigration(final int fromFormatVersion, final int toFormatVersion) { private void testLargeDictMigration(final int fromFormatVersion, final int toFormatVersion) {