From 001884a1ee83c05c3c9237d02e52f933516b5921 Mon Sep 17 00:00:00 2001
From: Jean Chalard <jchalard@google.com>
Date: Mon, 15 Apr 2013 14:22:43 +0900
Subject: [PATCH] Clean up tests and increase speed

Conservatively reduce the number of unigrams to test from 1000
to 100.

Bug: 8583091
Change-Id: I48621ec44ff5f0590640d7c6b174ab5a6d267aaf
---
 .../inputmethod/latin/makedict/BinaryDictIOTests.java | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java
index 6d39d929ea..b704d08b3a 100644
--- a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java
+++ b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictIOTests.java
@@ -51,7 +51,7 @@ import java.util.Set;
 @LargeTest
 public class BinaryDictIOTests extends AndroidTestCase {
     private static final String TAG = BinaryDictIOTests.class.getSimpleName();
-    private static final int MAX_UNIGRAMS = 1000;
+    private static final int MAX_UNIGRAMS = 100;
     private static final int UNIGRAM_FREQ = 10;
     private static final int BIGRAM_FREQ = 50;
     private static final int TOLERANCE_OF_BIGRAM_FREQ = 5;
@@ -135,11 +135,12 @@ public class BinaryDictIOTests extends AndroidTestCase {
         while (count > 0) {
             final long r = Math.abs(random.nextInt());
             if (r < 0) continue;
-            // Don't insert 0~20, but insert any other code point.
+            // Don't insert 0~0x20, but insert any other code point.
             // Code points are in the range 0~0x10FFFF.
-            final int candidateCodePoint = (int)(20 + r % (0x10FFFF - 20));
-            // Code points between 0xD800 and 0xDFFF are not valid.
-            if (candidateCodePoint >= 0xD800 && candidateCodePoint <= 0xDFFF) continue;
+            final int candidateCodePoint = (int)(0x20 + r % (Character.MAX_CODE_POINT - 0x20));
+            // Code points between MIN_ and MAX_SURROGATE are not valid on their own.
+            if (candidateCodePoint >= Character.MIN_SURROGATE
+                    && candidateCodePoint <= Character.MAX_SURROGATE) continue;
             builder.appendCodePoint(candidateCodePoint);
             --count;
         }
-- 
GitLab