From 7185f30a5cb4ab7798c15b98f0d2f6a7b98558e8 Mon Sep 17 00:00:00 2001
From: Keisuke Kuroyanagi <ksk@google.com>
Date: Wed, 13 Aug 2014 15:51:16 +0900
Subject: [PATCH] Remove all test dictionary files before and after unit test.

Change-Id: I92db6318daa98684639ab959f55d047a941fe265
---
 .../UserHistoryDictionaryTests.java           | 30 ++++++++++++++++---
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git a/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java
index 8755e573cf..1deb873f66 100644
--- a/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java
@@ -28,6 +28,7 @@ import com.android.inputmethod.latin.utils.DistracterFilter;
 import com.android.inputmethod.latin.utils.FileUtils;
 
 import java.io.File;
+import java.io.FilenameFilter;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -42,6 +43,7 @@ import java.util.concurrent.TimeUnit;
 public class UserHistoryDictionaryTests extends AndroidTestCase {
     private static final String TAG = UserHistoryDictionaryTests.class.getSimpleName();
     private static final int WAIT_FOR_WRITING_FILE_IN_MILLISECONDS = 3000;
+    private static final String TEST_LOCALE_PREFIX = "test_";
 
     private static final String[] CHARACTERS = {
         "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
@@ -50,14 +52,31 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
 
     private int mCurrentTime = 0;
 
+    private void removeAllTestDictFiles() {
+        final Locale dummyLocale = new Locale(TEST_LOCALE_PREFIX);
+        final String dictName = ExpandableBinaryDictionary.getDictName(
+                UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */);
+        final File dictFile = ExpandableBinaryDictionary.getDictFile(
+                mContext, dictName, null /* dictFile */);
+        final FilenameFilter filenameFilter = new FilenameFilter() {
+            @Override
+            public boolean accept(File dir, String filename) {
+                return filename.startsWith(UserHistoryDictionary.NAME + "." + TEST_LOCALE_PREFIX);
+            }
+        };
+        FileUtils.deleteFilteredFiles(dictFile.getParentFile(), filenameFilter);
+    }
+
     @Override
     protected void setUp() throws Exception {
         super.setUp();
         resetCurrentTimeForTestMode();
+        removeAllTestDictFiles();
     }
 
     @Override
     protected void tearDown() throws Exception {
+        removeAllTestDictFiles();
         stopTestModeInNativeCode();
         super.tearDown();
     }
@@ -169,7 +188,8 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
     public void testRandomWords() {
         Log.d(TAG, "This test can be used for profiling.");
         Log.d(TAG, "Usage: please set UserHistoryDictionary.PROFILE_SAVE_RESTORE to true.");
-        final Locale dummyLocale = new Locale("test_random_words" + System.currentTimeMillis());
+        final Locale dummyLocale =
+                new Locale(TEST_LOCALE_PREFIX + "random_words" + System.currentTimeMillis());
         final String dictName = ExpandableBinaryDictionary.getDictName(
                 UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */);
         final File dictFile = ExpandableBinaryDictionary.getDictFile(
@@ -202,7 +222,7 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
 
             // Create filename suffixes for this test.
             for (int i = 0; i < numberOfLanguages; i++) {
-                dummyLocales[i] = new Locale("test_switching_languages" + i);
+                dummyLocales[i] = new Locale(TEST_LOCALE_PREFIX + "switching_languages" + i);
                 final String dictName = ExpandableBinaryDictionary.getDictName(
                         UserHistoryDictionary.NAME, dummyLocales[i], null /* dictFile */);
                 dictFiles[i] = ExpandableBinaryDictionary.getDictFile(
@@ -236,7 +256,8 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
     }
 
     public void testAddManyWords() {
-        final Locale dummyLocale = new Locale("test_random_words" + System.currentTimeMillis());
+        final Locale dummyLocale =
+                new Locale(TEST_LOCALE_PREFIX + "random_words" + System.currentTimeMillis());
         final String dictName = ExpandableBinaryDictionary.getDictName(
                 UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */);
         final File dictFile = ExpandableBinaryDictionary.getDictFile(
@@ -264,7 +285,8 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
     }
 
     public void testDecaying() {
-        final Locale dummyLocale = new Locale("test_decaying" + System.currentTimeMillis());
+        final Locale dummyLocale =
+                new Locale(TEST_LOCALE_PREFIX + "decaying" + System.currentTimeMillis());
         final int numberOfWords = 5000;
         final Random random = new Random(123456);
         resetCurrentTimeForTestMode();
-- 
GitLab