diff options
author | 2014-09-19 10:16:51 +0000 | |
---|---|---|
committer | 2014-09-19 10:16:51 +0000 | |
commit | 68c78b83b741ac456e5bd1c5b3c5429ede55fdff (patch) | |
tree | 9af1f4e88b150690ebd862cbf48488efc4796be9 /java/src/com/android/inputmethod/latin/PrevWordsInfo.java | |
parent | 5546d1be60c57588a927283e2c7a407adf493568 (diff) | |
parent | f88ec161e9aeeac8a65f4343517d7c824f20fe49 (diff) | |
download | latinime-68c78b83b741ac456e5bd1c5b3c5429ede55fdff.tar.gz latinime-68c78b83b741ac456e5bd1c5b3c5429ede55fdff.tar.xz latinime-68c78b83b741ac456e5bd1c5b3c5429ede55fdff.zip |
am f88ec161: Merge "Fix unit tests."
* commit 'f88ec161e9aeeac8a65f4343517d7c824f20fe49':
Fix unit tests.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/PrevWordsInfo.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/PrevWordsInfo.java | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/latin/PrevWordsInfo.java b/java/src/com/android/inputmethod/latin/PrevWordsInfo.java index d662051d9..76d4f57da 100644 --- a/java/src/com/android/inputmethod/latin/PrevWordsInfo.java +++ b/java/src/com/android/inputmethod/latin/PrevWordsInfo.java @@ -132,7 +132,8 @@ public class PrevWordsInfo { @Override public int hashCode() { - return Arrays.hashCode(mPrevWordsInfo); + // Just for having equals(). + return mPrevWordsInfo[0].hashCode(); } @Override @@ -140,7 +141,23 @@ public class PrevWordsInfo { if (this == o) return true; if (!(o instanceof PrevWordsInfo)) return false; final PrevWordsInfo prevWordsInfo = (PrevWordsInfo)o; - return Arrays.equals(mPrevWordsInfo, prevWordsInfo.mPrevWordsInfo); + + final int minLength = Math.min(mPrevWordsInfo.length, prevWordsInfo.mPrevWordsInfo.length); + for (int i = 0; i < minLength; i++) { + if (!mPrevWordsInfo[i].equals(prevWordsInfo.mPrevWordsInfo[i])) { + return false; + } + } + final WordInfo[] longerWordsInfo = + (mPrevWordsInfo.length > prevWordsInfo.mPrevWordsInfo.length) ? + mPrevWordsInfo : prevWordsInfo.mPrevWordsInfo; + for (int i = minLength; i < longerWordsInfo.length; i++) { + if (longerWordsInfo[i] != null + && !WordInfo.EMPTY_WORD_INFO.equals(longerWordsInfo[i])) { + return false; + } + } + return true; } @Override @@ -151,7 +168,11 @@ public class PrevWordsInfo { builder.append("PrevWord["); builder.append(i); builder.append("]: "); - if (wordInfo == null || !wordInfo.isValid()) { + if (wordInfo == null) { + builder.append("null. "); + continue; + } + if (!wordInfo.isValid()) { builder.append("Empty. "); continue; } |