• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16 
17 package com.android.inputmethod.compat;
18 
19 import android.test.AndroidTestCase;
20 
21 public class ArraysCompatUtilsTests extends AndroidTestCase {
22     // See {@link tests.api.java.util.ArraysTest}.
23     private static final int ARRAY_SIZE = 100;
24     private final int[] mIntArray = new int[ARRAY_SIZE];
25 
26     @Override
setUp()27     protected void setUp() throws Exception {
28         super.setUp();
29         for (int counter = 0; counter < ARRAY_SIZE; counter++) {
30             mIntArray[counter] = counter;
31         }
32     }
33 
testEmptyArray()34     public void testEmptyArray() {
35         final int index = ArraysCompatUtils.binarySearch(mIntArray, 0, 0, 0);
36         assertEquals("empty", ~0, index);
37         final int compat = ArraysCompatUtils.compatBinarySearch(mIntArray, 0, 0, 0);
38         assertEquals("empty compat", ~0, compat);
39     }
40 
testEmptyRangeArray()41     public void testEmptyRangeArray() {
42         final int mid = ARRAY_SIZE / 3;
43         final int index = ArraysCompatUtils.binarySearch(mIntArray, mid, mid, 1);
44         assertEquals("empty", ~mid, index);
45         final int compat = ArraysCompatUtils.compatBinarySearch(mIntArray, mid, mid, 1);
46         assertEquals("empty compat", ~mid, compat);
47     }
48 
testFind()49     public void testFind() {
50         for (int counter = 0; counter < ARRAY_SIZE; counter++) {
51             final int index = ArraysCompatUtils.binarySearch(mIntArray, 0, ARRAY_SIZE, counter);
52             assertEquals("found", counter, index);
53         }
54         for (int counter = 0; counter < ARRAY_SIZE; counter++) {
55             final int compat = ArraysCompatUtils.compatBinarySearch(
56                     mIntArray, 0, ARRAY_SIZE, counter);
57             assertEquals("found compat", counter, compat);
58         }
59     }
60 
testFindNegative()61     public void testFindNegative() {
62         final int offset = ARRAY_SIZE / 2;
63         for (int counter = 0; counter < ARRAY_SIZE; counter++) {
64             mIntArray[counter] -= offset;
65         }
66         for (int counter = 0; counter < ARRAY_SIZE; counter++) {
67             final int index = ArraysCompatUtils.binarySearch(
68                     mIntArray, 0, ARRAY_SIZE, counter - offset);
69             assertEquals("found", counter, index);
70         }
71         for (int counter = 0; counter < ARRAY_SIZE; counter++) {
72             final int compat = ArraysCompatUtils.compatBinarySearch(
73                     mIntArray, 0, ARRAY_SIZE, counter - offset);
74             assertEquals("found compat", counter, compat);
75         }
76     }
77 
testNotFountAtTop()78     public void testNotFountAtTop() {
79         final int index = ArraysCompatUtils.binarySearch(mIntArray, 0, ARRAY_SIZE, -1);
80         assertEquals("not found top", ~0, index);
81         final int compat = ArraysCompatUtils.compatBinarySearch(
82                     mIntArray, 0, ARRAY_SIZE, -1);
83         assertEquals("not found top compat", ~0, compat);
84     }
85 
testNotFountAtEnd()86     public void testNotFountAtEnd() {
87         final int index = ArraysCompatUtils.binarySearch(mIntArray, 0, ARRAY_SIZE, ARRAY_SIZE);
88         assertEquals("not found end", ~ARRAY_SIZE, index);
89         final int compat = ArraysCompatUtils.compatBinarySearch(
90                     mIntArray, 0, ARRAY_SIZE, ARRAY_SIZE);
91         assertEquals("not found end compat", ~ARRAY_SIZE, compat);
92     }
93 
testNotFountAtMid()94     public void testNotFountAtMid() {
95         final int mid = ARRAY_SIZE / 3;
96         mIntArray[mid] = mIntArray[mid + 1];
97         final int index = ArraysCompatUtils.binarySearch(mIntArray, 0, ARRAY_SIZE, mid);
98         assertEquals("not found mid", ~mid, index);
99         final int compat = ArraysCompatUtils.compatBinarySearch(
100                     mIntArray, 0, ARRAY_SIZE, mid);
101         assertEquals("not found mid compat", ~mid, compat);
102     }
103 }
104