blob: 1a1d643fd2eca78e56912a50e158d4b0921eb990 [file] [log] [blame]
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001/*
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
Tadashi G. Takaoka32572942011-08-23 12:08:36 +090017package com.android.inputmethod.keyboard;
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090018
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090019import android.test.AndroidTestCase;
20
Tadashi G. Takaoka2affaf92012-02-08 16:12:11 +090021import com.android.inputmethod.keyboard.MoreKeysKeyboard.Builder.MoreKeysKeyboardParams;
22
23public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090024 private static final int WIDTH = 10;
25 private static final int HEIGHT = 10;
26
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +090027 private static final int KEYBOARD_WIDTH = WIDTH * 10;
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090028 private static final int XPOS_L0 = WIDTH * 0 + WIDTH / 2;
29 private static final int XPOS_L1 = WIDTH * 1 + WIDTH / 2;
30 private static final int XPOS_L2 = WIDTH * 2 + WIDTH / 2;
31 private static final int XPOS_L3 = WIDTH * 3 + WIDTH / 2;
32 private static final int XPOS_M0 = WIDTH * 4 + WIDTH / 2;
33 private static final int XPOS_M1 = WIDTH * 5 + WIDTH / 2;
34 private static final int XPOS_R3 = WIDTH * 6 + WIDTH / 2;
35 private static final int XPOS_R2 = WIDTH * 7 + WIDTH / 2;
36 private static final int XPOS_R1 = WIDTH * 8 + WIDTH / 2;
37 private static final int XPOS_R0 = WIDTH * 9 + WIDTH / 2;
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +090038
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090039 @Override
40 protected void setUp() throws Exception {
41 super.setUp();
42 }
43
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090044 private static MoreKeysKeyboardParams createParams(int numKeys, int maxColumns,
45 int coordXInParnet) {
46 return new MoreKeysKeyboardParams(numKeys, maxColumns, WIDTH, HEIGHT, coordXInParnet,
47 KEYBOARD_WIDTH);
48 }
49
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090050 public void testLayoutError() {
Tadashi G. Takaoka2affaf92012-02-08 16:12:11 +090051 MoreKeysKeyboardParams params = null;
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090052 try {
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090053 final int maxColumns = KEYBOARD_WIDTH / WIDTH;
54 params = createParams(10, maxColumns + 1, HEIGHT);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090055 fail("Should throw IllegalArgumentException");
56 } catch (IllegalArgumentException e) {
Tadashi G. Takaoka2affaf92012-02-08 16:12:11 +090057 // Too small keyboard to hold more keys keyboard.
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090058 }
Tadashi G. Takaoka2affaf92012-02-08 16:12:11 +090059 assertNull("Too small keyboard to hold more keys keyboard", params);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090060 }
61
Tadashi G. Takaoka2affaf92012-02-08 16:12:11 +090062 // More keys keyboard layout test.
63 // "[n]" represents n-th key position in more keys keyboard.
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090064 // "[1]" is the default key.
65
66 // [1]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090067 public void testLayout1KeyMax5M0() {
68 MoreKeysKeyboardParams params = createParams(1, 5, XPOS_M0);
69 assertEquals("1 key max 5 M0 columns", 1, params.mNumColumns);
70 assertEquals("1 key max 5 M0 rows", 1, params.mNumRows);
71 assertEquals("1 key max 5 M0 left", 0, params.mLeftKeys);
72 assertEquals("1 key max 5 M0 right", 1, params.mRightKeys);
73 assertEquals("1 key max 5 M0 [1]", 0, params.getColumnPos(0));
74 assertEquals("1 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
75 assertEquals("1 key max 5 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +090076 }
77
78 // |[1]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090079 public void testLayout1KeyMax5L0() {
80 MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L0);
81 assertEquals("1 key max 5 L0 columns", 1, params.mNumColumns);
82 assertEquals("1 key max 5 L0 rows", 1, params.mNumRows);
83 assertEquals("1 key max 5 L0 left", 0, params.mLeftKeys);
84 assertEquals("1 key max 5 L0 right", 1, params.mRightKeys);
85 assertEquals("1 key max 5 L0 [1]", 0, params.getColumnPos(0));
86 assertEquals("1 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
87 assertEquals("1 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +090088 }
89
90 // |___ [1]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090091 public void testLayout1KeyMax5L1() {
92 MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L1);
93 assertEquals("1 key max 5 L1 columns", 1, params.mNumColumns);
94 assertEquals("1 key max 5 L1 rows", 1, params.mNumRows);
95 assertEquals("1 key max 5 L1 left", 0, params.mLeftKeys);
96 assertEquals("1 key max 5 L1 right", 1, params.mRightKeys);
97 assertEquals("1 key max 5 L1 [1]", 0, params.getColumnPos(0));
98 assertEquals("1 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
99 assertEquals("1 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900100 }
101
102 // |___ ___ [1]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900103 public void testLayout1KeyMax5L2() {
104 MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L2);
105 assertEquals("1 key max 5 L2 columns", 1, params.mNumColumns);
106 assertEquals("1 key max 5 L2 rows", 1, params.mNumRows);
107 assertEquals("1 key max 5 L2 left", 0, params.mLeftKeys);
108 assertEquals("1 key max 5 L2 right", 1, params.mRightKeys);
109 assertEquals("1 key max 5 L2 [1]", 0, params.getColumnPos(0));
110 assertEquals("1 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
111 assertEquals("1 key max 5 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900112 }
113
114 // [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900115 public void testLayout1KeyMax5R0() {
116 MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R0);
117 assertEquals("1 key max 5 R0 columns", 1, params.mNumColumns);
118 assertEquals("1 key max 5 R0 rows", 1, params.mNumRows);
119 assertEquals("1 key max 5 R0 left", 0, params.mLeftKeys);
120 assertEquals("1 key max 5 R0 right", 1, params.mRightKeys);
121 assertEquals("1 key max 5 R0 [1]", 0, params.getColumnPos(0));
122 assertEquals("1 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
123 assertEquals("1 key max 5 R0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900124 }
125
126 // [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900127 public void testLayout1KeyMax5R1() {
128 MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R1);
129 assertEquals("1 key max 5 R1 columns", 1, params.mNumColumns);
130 assertEquals("1 key max 5 R1 rows", 1, params.mNumRows);
131 assertEquals("1 key max 5 R1 left", 0, params.mLeftKeys);
132 assertEquals("1 key max 5 R1 right", 1, params.mRightKeys);
133 assertEquals("1 key max 5 R1 [1]", 0, params.getColumnPos(0));
134 assertEquals("1 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
135 assertEquals("1 key max 5 R1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900136 }
137
138 // [1] ___ ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900139 public void testLayout1KeyMax5R2() {
140 MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R2);
141 assertEquals("1 key max 5 R2 columns", 1, params.mNumColumns);
142 assertEquals("1 key max 5 R2 rows", 1, params.mNumRows);
143 assertEquals("1 key max 5 R2 left", 0, params.mLeftKeys);
144 assertEquals("1 key max 5 R2 right", 1, params.mRightKeys);
145 assertEquals("1 key max 5 R2 [1]", 0, params.getColumnPos(0));
146 assertEquals("1 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
147 assertEquals("1 key max 5 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900148 }
149
150 // [1] [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900151 public void testLayout2KeyMax5M0() {
152 MoreKeysKeyboardParams params = createParams(2, 5, XPOS_M0);
153 assertEquals("2 key max 5 M0 columns", 2, params.mNumColumns);
154 assertEquals("2 key max 5 M0 rows", 1, params.mNumRows);
155 assertEquals("2 key max 5 M0 left", 0, params.mLeftKeys);
156 assertEquals("2 key max 5 M0 right", 2, params.mRightKeys);
157 assertEquals("2 key max 5 M0 [1]", 0, params.getColumnPos(0));
158 assertEquals("2 key max 5 M0 [2]", 1, params.getColumnPos(1));
159 assertEquals("2 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
160 assertEquals("2 key max 5 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900161 }
162
163 // |[1] [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900164 public void testLayout2KeyMax5L0() {
165 MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L0);
166 assertEquals("2 key max 5 L0 columns", 2, params.mNumColumns);
167 assertEquals("2 key max 5 L0 rows", 1, params.mNumRows);
168 assertEquals("2 key max 5 L0 left", 0, params.mLeftKeys);
169 assertEquals("2 key max 5 L0 right", 2, params.mRightKeys);
170 assertEquals("2 key max 5 L0 [1]", 0, params.getColumnPos(0));
171 assertEquals("2 key max 5 L0 [2]", 1, params.getColumnPos(1));
172 assertEquals("2 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
173 assertEquals("2 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900174 }
175
176 // |___ [1] [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900177 public void testLayout2KeyMax5L1() {
178 MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L1);
179 assertEquals("2 key max 5 L1 columns", 2, params.mNumColumns);
180 assertEquals("2 key max 5 L1 rows", 1, params.mNumRows);
181 assertEquals("2 key max 5 L1 left", 0, params.mLeftKeys);
182 assertEquals("2 key max 5 L1 right", 2, params.mRightKeys);
183 assertEquals("2 key max 5 L1 [1]", 0, params.getColumnPos(0));
184 assertEquals("2 key max 5 L1 [2]", 1, params.getColumnPos(1));
185 assertEquals("2 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
186 assertEquals("2 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900187 }
188
189 // |___ ___ [1] [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900190 public void testLayout2KeyMax5L2() {
191 MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L2);
192 assertEquals("2 key max 5 L2 columns", 2, params.mNumColumns);
193 assertEquals("2 key max 5 L2 rows", 1, params.mNumRows);
194 assertEquals("2 key max 5 L2 left", 0, params.mLeftKeys);
195 assertEquals("2 key max 5 L2 right", 2, params.mRightKeys);
196 assertEquals("2 key max 5 L2 [1]", 0, params.getColumnPos(0));
197 assertEquals("2 key max 5 L2 [2]", 1, params.getColumnPos(1));
198 assertEquals("2 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
199 assertEquals("2 key max 5 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900200 }
201
202 // [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900203 public void testLayout2KeyMax5R0() {
204 MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R0);
205 assertEquals("2 key max 5 R0 columns", 2, params.mNumColumns);
206 assertEquals("2 key max 5 R0 rows", 1, params.mNumRows);
207 assertEquals("2 key max 5 R0 left", 1, params.mLeftKeys);
208 assertEquals("2 key max 5 R0 right", 1, params.mRightKeys);
209 assertEquals("2 key max 5 R0 [1]", 0, params.getColumnPos(0));
210 assertEquals("2 key max 5 R0 [2]", -1, params.getColumnPos(1));
211 assertEquals("2 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
212 assertEquals("2 key max 5 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900213 }
214
215 // [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900216 public void testLayout2KeyMax5R1() {
217 MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R1);
218 assertEquals("2 key max 5 R1 columns", 2, params.mNumColumns);
219 assertEquals("2 key max 5 R1 rows", 1, params.mNumRows);
220 assertEquals("2 key max 5 R1 left", 1, params.mLeftKeys);
221 assertEquals("2 key max 5 R1 right", 1, params.mRightKeys);
222 assertEquals("2 key max 5 R1 [1]", 0, params.getColumnPos(0));
223 assertEquals("2 key max 5 R1 [2]", -1, params.getColumnPos(1));
224 assertEquals("2 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
225 assertEquals("2 key max 5 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900226 }
227
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900228 // [1] [2] ___|
229 public void testLayout2KeyMax5R2() {
230 MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R2);
231 assertEquals("2 key max 5 R2 columns", 2, params.mNumColumns);
232 assertEquals("2 key max 5 R2 rows", 1, params.mNumRows);
233 assertEquals("2 key max 5 R2 left", 0, params.mLeftKeys);
234 assertEquals("2 key max 5 R2 right", 2, params.mRightKeys);
235 assertEquals("2 key max 5 R2 [1]", 0, params.getColumnPos(0));
236 assertEquals("2 key max 5 R2 [2]", 1, params.getColumnPos(1));
237 assertEquals("2 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
238 assertEquals("2 key max 5 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900239 }
240
241 // [3] [1] [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900242 public void testLayout3KeyMax5M0() {
243 MoreKeysKeyboardParams params = createParams(3, 5, XPOS_M0);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900244 assertEquals("3 key columns", 3, params.mNumColumns);
245 assertEquals("3 key rows", 1, params.mNumRows);
246 assertEquals("3 key left", 1, params.mLeftKeys);
247 assertEquals("3 key right", 2, params.mRightKeys);
248 assertEquals("3 key [1]", 0, params.getColumnPos(0));
249 assertEquals("3 key [2]", 1, params.getColumnPos(1));
250 assertEquals("3 key [3]", -1, params.getColumnPos(2));
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900251 assertEquals("3 key adjust", 0, params.mTopRowAdjustment);
252 assertEquals("3 key default", WIDTH * 1, params.getDefaultKeyCoordX());
253 }
254
255 // |[1] [2] [3]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900256 public void testLayout3KeyMax5L0() {
257 MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L0);
258 assertEquals("3 key max 5 L0 columns", 3, params.mNumColumns);
259 assertEquals("3 key max 5 L0 rows", 1, params.mNumRows);
260 assertEquals("3 key max 5 L0 left", 0, params.mLeftKeys);
261 assertEquals("3 key max 5 L0 right", 3, params.mRightKeys);
262 assertEquals("3 key max 5 L0 [1]", 0, params.getColumnPos(0));
263 assertEquals("3 key max 5 L0 [2]", 1, params.getColumnPos(1));
264 assertEquals("3 key max 5 L0 [3]", 2, params.getColumnPos(2));
265 assertEquals("3 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
266 assertEquals("3 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900267 }
268
269 // |___ [1] [2] [3]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900270 public void testLayout3KeyMax5L1() {
271 MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L1);
272 assertEquals("3 key max 5 L1 columns", 3, params.mNumColumns);
273 assertEquals("3 key max 5 L1 rows", 1, params.mNumRows);
274 assertEquals("3 key max 5 L1 left", 0, params.mLeftKeys);
275 assertEquals("3 key max 5 L1 right", 3, params.mRightKeys);
276 assertEquals("3 key max 5 L1 [1]", 0, params.getColumnPos(0));
277 assertEquals("3 key max 5 L1 [2]", 1, params.getColumnPos(1));
278 assertEquals("3 key max 5 L1 [3]", 2, params.getColumnPos(2));
279 assertEquals("3 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
280 assertEquals("3 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900281 }
282
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900283 // |___ [3] [1] [2]
284 public void testLayout3KeyMax5L2() {
285 MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L2);
286 assertEquals("3 key max 5 L2 columns", 3, params.mNumColumns);
287 assertEquals("3 key max 5 L2 rows", 1, params.mNumRows);
288 assertEquals("3 key max 5 L2 left", 1, params.mLeftKeys);
289 assertEquals("3 key max 5 L2 right", 2, params.mRightKeys);
290 assertEquals("3 key max 5 L2 [1]", 0, params.getColumnPos(0));
291 assertEquals("3 key max 5 L2 [2]", 1, params.getColumnPos(1));
292 assertEquals("3 key max 5 L2 [3]", -1, params.getColumnPos(2));
293 assertEquals("3 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
294 assertEquals("3 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900295 }
296
297 // [3] [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900298 public void testLayout3KeyMax5R0() {
299 MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R0);
300 assertEquals("3 key max 5 R0 columns", 3, params.mNumColumns);
301 assertEquals("3 key max 5 R0 rows", 1, params.mNumRows);
302 assertEquals("3 key max 5 R0 left", 2, params.mLeftKeys);
303 assertEquals("3 key max 5 R0 right", 1, params.mRightKeys);
304 assertEquals("3 key max 5 R0 [1]", 0, params.getColumnPos(0));
305 assertEquals("3 key max 5 R0 [2]", -1, params.getColumnPos(1));
306 assertEquals("3 key max 5 R0 [3]", -2, params.getColumnPos(2));
307 assertEquals("3 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
308 assertEquals("3 key max 5 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900309 }
310
311 // [3] [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900312 public void testLayout3KeyMax5R1() {
313 MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R1);
314 assertEquals("3 key max 5 R1 columns", 3, params.mNumColumns);
315 assertEquals("3 key max 5 R1 rows", 1, params.mNumRows);
316 assertEquals("3 key max 5 R1 left", 2, params.mLeftKeys);
317 assertEquals("3 key max 5 R1 right", 1, params.mRightKeys);
318 assertEquals("3 key max 5 R1 [1]", 0, params.getColumnPos(0));
319 assertEquals("3 key max 5 R1 [2]", -1, params.getColumnPos(1));
320 assertEquals("3 key max 5 R1 [3]", -2, params.getColumnPos(2));
321 assertEquals("3 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
322 assertEquals("3 key max 5 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900323 }
324
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900325 // [3] [1] [2] ___|
326 public void testLayout3KeyMax5R2() {
327 MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R2);
328 assertEquals("3 key max 5 R2 columns", 3, params.mNumColumns);
329 assertEquals("3 key max 5 R2 rows", 1, params.mNumRows);
330 assertEquals("3 key max 5 R2 left", 1, params.mLeftKeys);
331 assertEquals("3 key max 5 R2 right", 2, params.mRightKeys);
332 assertEquals("3 key max 5 R2 [1]", 0, params.getColumnPos(0));
333 assertEquals("3 key max 5 R2 [2]", 1, params.getColumnPos(1));
334 assertEquals("3 key max 5 R2 [3]", -1, params.getColumnPos(2));
335 assertEquals("3 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
336 assertEquals("3 key max 5 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
337 }
338
339 // [3]
340 // [1] [2]
341 public void testLayout3KeyMax2M0() {
342 MoreKeysKeyboardParams params = createParams(3, 2, XPOS_M0);
343 assertEquals("3 key max 2 columns", 2, params.mNumColumns);
344 assertEquals("3 key max 2 rows", 2, params.mNumRows);
345 assertEquals("3 key max 2 left", 0, params.mLeftKeys);
346 assertEquals("3 key max 2 right", 2, params.mRightKeys);
347 assertEquals("3 key max 2 [1]", 0, params.getColumnPos(0));
348 assertEquals("3 key max 2 [2]", 1, params.getColumnPos(1));
349 assertEquals("3 key max 2 [3]", 0, params.getColumnPos(2));
350 assertEquals("3 key max 2 adjust", 1, params.mTopRowAdjustment);
351 assertEquals("3 key max 2 default", WIDTH * 0, params.getDefaultKeyCoordX());
352 }
353
354 // | [3]
355 // |[1] [2]
356 public void testLayout3KeyMax2L0() {
357 MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L0);
358 assertEquals("3 key max 2 L0 columns", 2, params.mNumColumns);
359 assertEquals("3 key max 2 L0 rows", 2, params.mNumRows);
360 assertEquals("3 key max 2 L0 left", 0, params.mLeftKeys);
361 assertEquals("3 key max 2 L0 right", 2, params.mRightKeys);
362 assertEquals("3 key max 2 L0 [1]", 0, params.getColumnPos(0));
363 assertEquals("3 key max 2 L0 [2]", 1, params.getColumnPos(1));
364 assertEquals("3 key max 2 L0 [3]", 0, params.getColumnPos(2));
365 assertEquals("3 key max 2 L0 adjust", 1, params.mTopRowAdjustment);
366 assertEquals("3 key max 2 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
367 }
368
369 // |___ [3]
370 // |___ [1] [2]
371 public void testLayout3KeyMax2L1() {
372 MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L1);
373 assertEquals("3 key max 2 L1 columns", 2, params.mNumColumns);
374 assertEquals("3 key max 2 L1 rows", 2, params.mNumRows);
375 assertEquals("3 key max 2 L1 left", 0, params.mLeftKeys);
376 assertEquals("3 key max 2 L1 right", 2, params.mRightKeys);
377 assertEquals("3 key max 2 L1 [1]", 0, params.getColumnPos(0));
378 assertEquals("3 key max 2 L1 [2]", 1, params.getColumnPos(1));
379 assertEquals("3 key max 2 L1 [3]", 0, params.getColumnPos(2));
380 assertEquals("3 key max 2 L1 adjust", 1, params.mTopRowAdjustment);
381 assertEquals("3 key max 2 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
382 }
383
384 // | [3]
385 // |___ ___ [1] [2]
386 public void testLayout3KeyMax2L2() {
387 MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L2);
388 assertEquals("3 key max 2 L2 columns", 2, params.mNumColumns);
389 assertEquals("3 key max 2 L2 rows", 2, params.mNumRows);
390 assertEquals("3 key max 2 L2 left", 0, params.mLeftKeys);
391 assertEquals("3 key max 2 L2 right", 2, params.mRightKeys);
392 assertEquals("3 key max 2 L2 [1]", 0, params.getColumnPos(0));
393 assertEquals("3 key max 2 L2 [2]", 1, params.getColumnPos(1));
394 assertEquals("3 key max 2 L2 [3]", 0, params.getColumnPos(2));
395 assertEquals("3 key max 2 L2 adjust", 1, params.mTopRowAdjustment);
396 assertEquals("3 key max 2 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
397 }
398
399 // [3] |
400 // [2] [1]|
401 public void testLayout3KeyMax2R0() {
402 MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R0);
403 assertEquals("3 key max 2 R0 columns", 2, params.mNumColumns);
404 assertEquals("3 key max 2 R0 rows", 2, params.mNumRows);
405 assertEquals("3 key max 2 R0 left", 1, params.mLeftKeys);
406 assertEquals("3 key max 2 R0 right", 1, params.mRightKeys);
407 assertEquals("3 key max 2 R0 [1]", 0, params.getColumnPos(0));
408 assertEquals("3 key max 2 R0 [2]", -1, params.getColumnPos(1));
409 assertEquals("3 key max 2 R0 [3]", 0, params.getColumnPos(2));
410 assertEquals("3 key max 2 R0 adjust", -1, params.mTopRowAdjustment);
411 assertEquals("3 key max 2 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
412 }
413
414 // [3] |
415 // [2] [1] ___|
416 public void testLayout3KeyMax2R1() {
417 MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R1);
418 assertEquals("3 key max 2 R1 columns", 2, params.mNumColumns);
419 assertEquals("3 key max 2 R1 rows", 2, params.mNumRows);
420 assertEquals("3 key max 2 R1 left", 1, params.mLeftKeys);
421 assertEquals("3 key max 2 R1 right", 1, params.mRightKeys);
422 assertEquals("3 key max 2 R1 [1]", 0, params.getColumnPos(0));
423 assertEquals("3 key max 2 R1 [2]", -1, params.getColumnPos(1));
424 assertEquals("3 key max 2 R1 [3]", 0, params.getColumnPos(2));
425 assertEquals("3 key max 2 R1 adjust", -1, params.mTopRowAdjustment);
426 assertEquals("3 key max 2 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
427 }
428
429 // [3] |
430 // [1] [2] ___|
431 public void testLayout3KeyMax2R2() {
432 MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R2);
433 assertEquals("3 key max 2 R2 columns", 2, params.mNumColumns);
434 assertEquals("3 key max 2 R2 rows", 2, params.mNumRows);
435 assertEquals("3 key max 2 R2 left", 0, params.mLeftKeys);
436 assertEquals("3 key max 2 R2 right", 2, params.mRightKeys);
437 assertEquals("3 key max 2 R2 [1]", 0, params.getColumnPos(0));
438 assertEquals("3 key max 2 R2 [2]", 1, params.getColumnPos(1));
439 assertEquals("3 key max 2 R2 [3]", 0, params.getColumnPos(2));
440 assertEquals("3 key max 2 R2 adjust", 1, params.mTopRowAdjustment);
441 assertEquals("3 key max 2 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900442 }
443
444 // [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900445 public void testLayout4KeyMax5M0() {
446 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_M0);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900447 assertEquals("4 key columns", 4, params.mNumColumns);
448 assertEquals("4 key rows", 1, params.mNumRows);
449 assertEquals("4 key left", 1, params.mLeftKeys);
450 assertEquals("4 key right", 3, params.mRightKeys);
451 assertEquals("4 key [1]", 0, params.getColumnPos(0));
452 assertEquals("4 key [2]", 1, params.getColumnPos(1));
453 assertEquals("4 key [3]", -1, params.getColumnPos(2));
454 assertEquals("4 key [4]", 2, params.getColumnPos(3));
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900455 assertEquals("4 key adjust", 0, params.mTopRowAdjustment);
456 assertEquals("4 key default", WIDTH * 1, params.getDefaultKeyCoordX());
457 }
458
459 // |[1] [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900460 public void testLayout4KeyMax5L0() {
461 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L0);
462 assertEquals("4 key max 5 L0 columns", 4, params.mNumColumns);
463 assertEquals("4 key max 5 L0 rows", 1, params.mNumRows);
464 assertEquals("4 key max 5 L0 left", 0, params.mLeftKeys);
465 assertEquals("4 key max 5 L0 right", 4, params.mRightKeys);
466 assertEquals("4 key max 5 L0 [1]", 0, params.getColumnPos(0));
467 assertEquals("4 key max 5 L0 [2]", 1, params.getColumnPos(1));
468 assertEquals("4 key max 5 L0 [3]", 2, params.getColumnPos(2));
469 assertEquals("4 key max 5 L0 [4]", 3, params.getColumnPos(3));
470 assertEquals("4 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
471 assertEquals("4 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900472 }
473
474 // |___ [1] [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900475 public void testLayout4KeyMax5L1() {
476 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L1);
477 assertEquals("4 key max 5 L1 columns", 4, params.mNumColumns);
478 assertEquals("4 key max 5 L1 rows", 1, params.mNumRows);
479 assertEquals("4 key max 5 L1 left", 0, params.mLeftKeys);
480 assertEquals("4 key max 5 L1 right", 4, params.mRightKeys);
481 assertEquals("4 key max 5 L1 [1]", 0, params.getColumnPos(0));
482 assertEquals("4 key max 5 L1 [2]", 1, params.getColumnPos(1));
483 assertEquals("4 key max 5 L1 [3]", 2, params.getColumnPos(2));
484 assertEquals("4 key max 5 L1 [4]", 3, params.getColumnPos(3));
485 assertEquals("4 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
486 assertEquals("4 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900487 }
488
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900489 // |___ [3] [1] [2] [4]
490 public void testLayout4KeyMax5L2() {
491 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L2);
492 assertEquals("4 key max 5 L2 columns", 4, params.mNumColumns);
493 assertEquals("4 key max 5 L2 rows", 1, params.mNumRows);
494 assertEquals("4 key max 5 L2 left", 1, params.mLeftKeys);
495 assertEquals("4 key max 5 L2 right", 3, params.mRightKeys);
496 assertEquals("4 key max 5 L2 [1]", 0, params.getColumnPos(0));
497 assertEquals("4 key max 5 L2 [2]", 1, params.getColumnPos(1));
498 assertEquals("4 key max 5 L2 [3]", -1, params.getColumnPos(2));
499 assertEquals("4 key max 5 L2 [4]", 2, params.getColumnPos(3));
500 assertEquals("4 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
501 assertEquals("4 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900502 }
503
504 // [4] [3] [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900505 public void testLayout4KeyMax5R0() {
506 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R0);
507 assertEquals("4 key max 5 R0 columns", 4, params.mNumColumns);
508 assertEquals("4 key max 5 R0 rows", 1, params.mNumRows);
509 assertEquals("4 key max 5 R0 left", 3, params.mLeftKeys);
510 assertEquals("4 key max 5 R0 right", 1, params.mRightKeys);
511 assertEquals("4 key max 5 R0 [1]", 0, params.getColumnPos(0));
512 assertEquals("4 key max 5 R0 [2]", -1, params.getColumnPos(1));
513 assertEquals("4 key max 5 R0 [3]", -2, params.getColumnPos(2));
514 assertEquals("4 key max 5 R0 [4]", -3, params.getColumnPos(3));
515 assertEquals("4 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
516 assertEquals("4 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900517 }
518
519 // [4] [3] [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900520 public void testLayout4KeyMax5R1() {
521 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R1);
522 assertEquals("4 key max 5 R1 columns", 4, params.mNumColumns);
523 assertEquals("4 key max 5 R1 rows", 1, params.mNumRows);
524 assertEquals("4 key max 5 R1 left", 3, params.mLeftKeys);
525 assertEquals("4 key max 5 R1 right", 1, params.mRightKeys);
526 assertEquals("4 key max 5 R1 [1]", 0, params.getColumnPos(0));
527 assertEquals("4 key max 5 R1 [2]", -1, params.getColumnPos(1));
528 assertEquals("4 key max 5 R1 [3]", -2, params.getColumnPos(2));
529 assertEquals("4 key max 5 R1 [4]", -3, params.getColumnPos(3));
530 assertEquals("4 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
531 assertEquals("4 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900532 }
533
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900534 // [4] [3] [1] [2] ___|
535 public void testLayout4KeyMax5R2() {
536 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R2);
537 assertEquals("4 key max 5 R2 columns", 4, params.mNumColumns);
538 assertEquals("4 key max 5 R2 rows", 1, params.mNumRows);
539 assertEquals("4 key max 5 R2 left", 2, params.mLeftKeys);
540 assertEquals("4 key max 5 R2 right", 2, params.mRightKeys);
541 assertEquals("4 key max 5 R2 [1]", 0, params.getColumnPos(0));
542 assertEquals("4 key max 5 R2 [2]", 1, params.getColumnPos(1));
543 assertEquals("4 key max 5 R2 [3]", -1, params.getColumnPos(2));
544 assertEquals("4 key max 5 R2 [4]", -2, params.getColumnPos(3));
545 assertEquals("4 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
546 assertEquals("4 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900547 }
548
549 // [5] [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900550 public void testLayout5KeyMax5M0() {
551 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_M0);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900552 assertEquals("5 key columns", 5, params.mNumColumns);
553 assertEquals("5 key rows", 1, params.mNumRows);
554 assertEquals("5 key left", 2, params.mLeftKeys);
555 assertEquals("5 key right", 3, params.mRightKeys);
556 assertEquals("5 key [1]", 0, params.getColumnPos(0));
557 assertEquals("5 key [2]", 1, params.getColumnPos(1));
558 assertEquals("5 key [3]", -1, params.getColumnPos(2));
559 assertEquals("5 key [4]", 2, params.getColumnPos(3));
560 assertEquals("5 key [5]", -2, params.getColumnPos(4));
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900561 assertEquals("5 key adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900562 assertEquals("5 key default", WIDTH * 2, params.getDefaultKeyCoordX());
563 }
564
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900565 // |[1] [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900566 public void testLayout5KeyMax5L0() {
567 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L0);
568 assertEquals("5 key max 5 L0 columns", 5, params.mNumColumns);
569 assertEquals("5 key max 5 L0 rows", 1, params.mNumRows);
570 assertEquals("5 key max 5 L0 left", 0, params.mLeftKeys);
571 assertEquals("5 key max 5 L0 right", 5, params.mRightKeys);
572 assertEquals("5 key max 5 L0 [1]", 0, params.getColumnPos(0));
573 assertEquals("5 key max 5 L0 [2]", 1, params.getColumnPos(1));
574 assertEquals("5 key max 5 L0 [3]", 2, params.getColumnPos(2));
575 assertEquals("5 key max 5 L0 [4]", 3, params.getColumnPos(3));
576 assertEquals("5 key max 5 L0 [5]", 4, params.getColumnPos(4));
577 assertEquals("5 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
578 assertEquals("5 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900579 }
580
581 // |___ [1] [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900582 public void testLayout5KeyMax5L1() {
583 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L1);
584 assertEquals("5 key max 5 L1 columns", 5, params.mNumColumns);
585 assertEquals("5 key max 5 L1 rows", 1, params.mNumRows);
586 assertEquals("5 key max 5 L1 left", 0, params.mLeftKeys);
587 assertEquals("5 key max 5 L1 right", 5, params.mRightKeys);
588 assertEquals("5 key max 5 L1 [1]", 0, params.getColumnPos(0));
589 assertEquals("5 key max 5 L1 [2]", 1, params.getColumnPos(1));
590 assertEquals("5 key max 5 L1 [3]", 2, params.getColumnPos(2));
591 assertEquals("5 key max 5 L1 [4]", 3, params.getColumnPos(3));
592 assertEquals("5 key max 5 L1 [5]", 4, params.getColumnPos(4));
593 assertEquals("5 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
594 assertEquals("5 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900595 }
596
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900597 // |___ [3] [1] [2] [4] [5]
598 public void testLayout5KeyMax5L2() {
599 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L2);
600 assertEquals("5 key max 5 L2 columns", 5, params.mNumColumns);
601 assertEquals("5 key max 5 L2 rows", 1, params.mNumRows);
602 assertEquals("5 key max 5 L2 left", 1, params.mLeftKeys);
603 assertEquals("5 key max 5 L2 right", 4, params.mRightKeys);
604 assertEquals("5 key max 5 L2 [1]", 0, params.getColumnPos(0));
605 assertEquals("5 key max 5 L2 [2]", 1, params.getColumnPos(1));
606 assertEquals("5 key max 5 L2 [3]", -1, params.getColumnPos(2));
607 assertEquals("5 key max 5 L2 [4]", 2, params.getColumnPos(3));
608 assertEquals("5 key max 5 L2 [5]", 3, params.getColumnPos(4));
609 assertEquals("5 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
610 assertEquals("5 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900611 }
612
613 // [5] [4] [3] [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900614 public void testLayout5KeyMax5R0() {
615 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R0);
616 assertEquals("5 key max 5 R0 columns", 5, params.mNumColumns);
617 assertEquals("5 key max 5 R0 rows", 1, params.mNumRows);
618 assertEquals("5 key max 5 R0 left", 4, params.mLeftKeys);
619 assertEquals("5 key max 5 R0 right", 1, params.mRightKeys);
620 assertEquals("5 key max 5 R0 [1]", 0, params.getColumnPos(0));
621 assertEquals("5 key max 5 R0 [2]", -1, params.getColumnPos(1));
622 assertEquals("5 key max 5 R0 [3]", -2, params.getColumnPos(2));
623 assertEquals("5 key max 5 R0 [4]", -3, params.getColumnPos(3));
624 assertEquals("5 key max 5 R0 [5]", -4, params.getColumnPos(4));
625 assertEquals("5 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
626 assertEquals("5 key max 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900627 }
628
629 // [5] [4] [3] [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900630 public void testLayout5KeyMax5R1() {
631 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R1);
632 assertEquals("5 key max 5 R1 columns", 5, params.mNumColumns);
633 assertEquals("5 key max 5 R1 rows", 1, params.mNumRows);
634 assertEquals("5 key max 5 R1 left", 4, params.mLeftKeys);
635 assertEquals("5 key max 5 R1 right", 1, params.mRightKeys);
636 assertEquals("5 key max 5 R1 [1]", 0, params.getColumnPos(0));
637 assertEquals("5 key max 5 R1 [2]", -1, params.getColumnPos(1));
638 assertEquals("5 key max 5 R1 [3]", -2, params.getColumnPos(2));
639 assertEquals("5 key max 5 R1 [4]", -3, params.getColumnPos(3));
640 assertEquals("5 key max 5 R1 [5]", -4, params.getColumnPos(4));
641 assertEquals("5 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
642 assertEquals("5 key max 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900643 }
644
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900645 // [5] [4] [3] [1] [2] ___|
646 public void testLayout5KeyMax5R2() {
647 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R2);
648 assertEquals("5 key max 5 R2 columns", 5, params.mNumColumns);
649 assertEquals("5 key max 5 R2 rows", 1, params.mNumRows);
650 assertEquals("5 key max 5 R2 left", 3, params.mLeftKeys);
651 assertEquals("5 key max 5 R2 right", 2, params.mRightKeys);
652 assertEquals("5 key max 5 R2 [1]", 0, params.getColumnPos(0));
653 assertEquals("5 key max 5 R2 [2]", 1, params.getColumnPos(1));
654 assertEquals("5 key max 5 R2 [3]", -1, params.getColumnPos(2));
655 assertEquals("5 key max 5 R2 [4]", -2, params.getColumnPos(3));
656 assertEquals("5 key max 5 R2 [5]", -3, params.getColumnPos(4));
657 assertEquals("5 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
658 assertEquals("5 key max 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900659 }
660
661 // [6] [4] [5]
662 // [3] [1] [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900663 public void testLayout6KeyMax5M0() {
664 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_M0);
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900665 assertEquals("6 key columns", 3, params.mNumColumns);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900666 assertEquals("6 key rows", 2, params.mNumRows);
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900667 assertEquals("6 key left", 1, params.mLeftKeys);
668 assertEquals("6 key right", 2, params.mRightKeys);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900669 assertEquals("6 key [1]", 0, params.getColumnPos(0));
670 assertEquals("6 key [2]", 1, params.getColumnPos(1));
671 assertEquals("6 key [3]", -1, params.getColumnPos(2));
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900672 assertEquals("6 key [4]", 0, params.getColumnPos(3));
673 assertEquals("6 key [5]", 1, params.getColumnPos(4));
674 assertEquals("6 key [6]", -1, params.getColumnPos(5));
675 assertEquals("6 key adjust", 0, params.mTopRowAdjustment);
676 assertEquals("6 key default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900677 }
678
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900679 // |[4] [5] [6]
680 // |[1] [2] [3]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900681 public void testLayout6KeyMax5L0() {
682 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L0);
683 assertEquals("6 key max 5 L0 columns", 3, params.mNumColumns);
684 assertEquals("6 key max 5 L0 rows", 2, params.mNumRows);
685 assertEquals("6 key max 5 L0 left", 0, params.mLeftKeys);
686 assertEquals("6 key max 5 L0 right", 3, params.mRightKeys);
687 assertEquals("6 key max 5 L0 [1]", 0, params.getColumnPos(0));
688 assertEquals("6 key max 5 L0 [2]", 1, params.getColumnPos(1));
689 assertEquals("6 key max 5 L0 [3]", 2, params.getColumnPos(2));
690 assertEquals("6 key max 5 L0 [4]", 0, params.getColumnPos(3));
691 assertEquals("6 key max 5 L0 [5]", 1, params.getColumnPos(4));
692 assertEquals("6 key max 5 L0 [6]", 2, params.getColumnPos(5));
693 assertEquals("6 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
694 assertEquals("6 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900695 }
696
697 // |___ [4] [5] [6]
698 // |___ [1] [2] [3]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900699 public void testLayout6KeyMax5L1() {
700 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L1);
701 assertEquals("6 key max 5 L1 columns", 3, params.mNumColumns);
702 assertEquals("6 key max 5 L1 rows", 2, params.mNumRows);
703 assertEquals("6 key max 5 L1 left", 0, params.mLeftKeys);
704 assertEquals("6 key max 5 L1 right", 3, params.mRightKeys);
705 assertEquals("6 key max 5 L1 [1]", 0, params.getColumnPos(0));
706 assertEquals("6 key max 5 L1 [2]", 1, params.getColumnPos(1));
707 assertEquals("6 key max 5 L1 [3]", 2, params.getColumnPos(2));
708 assertEquals("6 key max 5 L1 [4]", 0, params.getColumnPos(3));
709 assertEquals("6 key max 5 L1 [5]", 1, params.getColumnPos(4));
710 assertEquals("6 key max 5 L1 [6]", 2, params.getColumnPos(5));
711 assertEquals("6 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
712 assertEquals("6 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900713 }
714
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900715 // |___ [6] [4] [5]
716 // |___ [3] [1] [2]
717 public void testLayout6KeyMax5L2() {
718 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L2);
719 assertEquals("6 key max 5 L2 columns", 3, params.mNumColumns);
720 assertEquals("6 key max 5 L2 rows", 2, params.mNumRows);
721 assertEquals("6 key max 5 L2 left", 1, params.mLeftKeys);
722 assertEquals("6 key max 5 L2 right", 2, params.mRightKeys);
723 assertEquals("6 key max 5 L2 [1]", 0, params.getColumnPos(0));
724 assertEquals("6 key max 5 L2 [2]", 1, params.getColumnPos(1));
725 assertEquals("6 key max 5 L2 [3]", -1, params.getColumnPos(2));
726 assertEquals("6 key max 5 L2 [4]", 0, params.getColumnPos(3));
727 assertEquals("6 key max 5 L2 [5]", 1, params.getColumnPos(4));
728 assertEquals("6 key max 5 L2 [6]", -1, params.getColumnPos(5));
729 assertEquals("6 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
730 assertEquals("6 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900731 }
732
733 // [6] [5] [4]|
734 // [3] [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900735 public void testLayout6KeyMax5R0() {
736 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R0);
737 assertEquals("6 key max 5 R0 columns", 3, params.mNumColumns);
738 assertEquals("6 key max 5 R0 rows", 2, params.mNumRows);
739 assertEquals("6 key max 5 R0 left", 2, params.mLeftKeys);
740 assertEquals("6 key max 5 R0 right", 1, params.mRightKeys);
741 assertEquals("6 key max 5 R0 [1]", 0, params.getColumnPos(0));
742 assertEquals("6 key max 5 R0 [2]", -1, params.getColumnPos(1));
743 assertEquals("6 key max 5 R0 [3]", -2, params.getColumnPos(2));
744 assertEquals("6 key max 5 R0 [4]", 0, params.getColumnPos(3));
745 assertEquals("6 key max 5 R0 [5]", -1, params.getColumnPos(4));
746 assertEquals("6 key max 5 R0 [6]", -2, params.getColumnPos(5));
747 assertEquals("6 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
748 assertEquals("6 key max 5 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900749 }
750
751 // [6] [5] [4] ___|
752 // [3] [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900753 public void testLayout6KeyMax5R1() {
754 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R1);
755 assertEquals("6 key max 5 R1 columns", 3, params.mNumColumns);
756 assertEquals("6 key max 5 R1 rows", 2, params.mNumRows);
757 assertEquals("6 key max 5 R1 left", 2, params.mLeftKeys);
758 assertEquals("6 key max 5 R1 right", 1, params.mRightKeys);
759 assertEquals("6 key max 5 R1 [1]", 0, params.getColumnPos(0));
760 assertEquals("6 key max 5 R1 [2]", -1, params.getColumnPos(1));
761 assertEquals("6 key max 5 R1 [3]", -2, params.getColumnPos(2));
762 assertEquals("6 key max 5 R1 [4]", 0, params.getColumnPos(3));
763 assertEquals("6 key max 5 R1 [5]", -1, params.getColumnPos(4));
764 assertEquals("6 key max 5 R1 [6]", -2, params.getColumnPos(5));
765 assertEquals("6 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
766 assertEquals("6 key max 5 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900767 }
768
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900769 // [6] [4] [5] ___|
770 // [3] [1] [2] ___|
771 public void testLayout6KeyMax5R2() {
772 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R2);
773 assertEquals("6 key max 5 R2 columns", 3, params.mNumColumns);
774 assertEquals("6 key max 5 R2 rows", 2, params.mNumRows);
775 assertEquals("6 key max 5 R2 left", 1, params.mLeftKeys);
776 assertEquals("6 key max 5 R2 right", 2, params.mRightKeys);
777 assertEquals("6 key max 5 R2 [1]", 0, params.getColumnPos(0));
778 assertEquals("6 key max 5 R2 [2]", 1, params.getColumnPos(1));
779 assertEquals("6 key max 5 R2 [3]", -1, params.getColumnPos(2));
780 assertEquals("6 key max 5 R2 [4]", 0, params.getColumnPos(3));
781 assertEquals("6 key max 5 R2 [5]", 1, params.getColumnPos(4));
782 assertEquals("6 key max 5 R2 [6]", -1, params.getColumnPos(5));
783 assertEquals("6 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
784 assertEquals("6 key max 5 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900785 }
786
787 // [7] [5] [6]
788 // [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900789 public void testLayout7KeyMax5M0() {
790 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_M0);
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900791 assertEquals("7 key columns", 4, params.mNumColumns);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900792 assertEquals("7 key rows", 2, params.mNumRows);
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900793 assertEquals("7 key left", 1, params.mLeftKeys);
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900794 assertEquals("7 key right", 3, params.mRightKeys);
795 assertEquals("7 key [1]", 0, params.getColumnPos(0));
796 assertEquals("7 key [2]", 1, params.getColumnPos(1));
797 assertEquals("7 key [3]", -1, params.getColumnPos(2));
798 assertEquals("7 key [4]", 2, params.getColumnPos(3));
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900799 assertEquals("7 key [5]", 0, params.getColumnPos(4));
800 assertEquals("7 key [6]", 1, params.getColumnPos(5));
801 assertEquals("7 key [7]", -1, params.getColumnPos(6));
802 assertEquals("7 key adjust", 1, params.mTopRowAdjustment);
803 assertEquals("7 key default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900804 }
805
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900806 // | [5] [6] [7]
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900807 // |[1] [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900808 public void testLayout7KeyMax5L0() {
809 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L0);
810 assertEquals("7 key max 5 L0 columns", 4, params.mNumColumns);
811 assertEquals("7 key max 5 L0 rows", 2, params.mNumRows);
812 assertEquals("7 key max 5 L0 left", 0, params.mLeftKeys);
813 assertEquals("7 key max 5 L0 right", 4, params.mRightKeys);
814 assertEquals("7 key max 5 L0 [1]", 0, params.getColumnPos(0));
815 assertEquals("7 key max 5 L0 [2]", 1, params.getColumnPos(1));
816 assertEquals("7 key max 5 L0 [3]", 2, params.getColumnPos(2));
817 assertEquals("7 key max 5 L0 [4]", 3, params.getColumnPos(3));
818 assertEquals("7 key max 5 L0 [5]", 0, params.getColumnPos(4));
819 assertEquals("7 key max 5 L0 [6]", 1, params.getColumnPos(5));
820 assertEquals("7 key max 5 L0 [7]", 2, params.getColumnPos(6));
821 assertEquals("7 key max 5 L0 adjust", 1, params.mTopRowAdjustment);
822 assertEquals("7 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900823 }
824
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900825 // |___ [5] [6] [7]
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900826 // |___ [1] [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900827 public void testLayout7KeyMax5L1() {
828 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L1);
829 assertEquals("7 key max 5 L1 columns", 4, params.mNumColumns);
830 assertEquals("7 key max 5 L1 rows", 2, params.mNumRows);
831 assertEquals("7 key max 5 L1 left", 0, params.mLeftKeys);
832 assertEquals("7 key max 5 L1 right", 4, params.mRightKeys);
833 assertEquals("7 key max 5 L1 [1]", 0, params.getColumnPos(0));
834 assertEquals("7 key max 5 L1 [2]", 1, params.getColumnPos(1));
835 assertEquals("7 key max 5 L1 [3]", 2, params.getColumnPos(2));
836 assertEquals("7 key max 5 L1 [4]", 3, params.getColumnPos(3));
837 assertEquals("7 key max 5 L1 [5]", 0, params.getColumnPos(4));
838 assertEquals("7 key max 5 L1 [6]", 1, params.getColumnPos(5));
839 assertEquals("7 key max 5 L1 [7]", 2, params.getColumnPos(6));
840 assertEquals("7 key max 5 L1 adjust", 1, params.mTopRowAdjustment);
841 assertEquals("7 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900842 }
843
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900844 // |___ [7] [5] [6]
845 // |___ [3] [1] [2] [4]
846 public void testLayout7KeyMax5L2() {
847 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L2);
848 assertEquals("7 key max 5 L2 columns", 4, params.mNumColumns);
849 assertEquals("7 key max 5 L2 rows", 2, params.mNumRows);
850 assertEquals("7 key max 5 L2 left", 1, params.mLeftKeys);
851 assertEquals("7 key max 5 L2 right", 3, params.mRightKeys);
852 assertEquals("7 key max 5 L2 [1]", 0, params.getColumnPos(0));
853 assertEquals("7 key max 5 L2 [2]", 1, params.getColumnPos(1));
854 assertEquals("7 key max 5 L2 [3]", -1, params.getColumnPos(2));
855 assertEquals("7 key max 5 L2 [4]", 2, params.getColumnPos(3));
856 assertEquals("7 key max 5 L2 [5]", 0, params.getColumnPos(4));
857 assertEquals("7 key max 5 L2 [6]", 1, params.getColumnPos(5));
858 assertEquals("7 key max 5 L2 [7]", -1, params.getColumnPos(6));
859 assertEquals("7 key max 5 L2 adjust", 1, params.mTopRowAdjustment);
860 assertEquals("7 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900861 }
862
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900863 // [7] [6] [5] |
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900864 // [4] [3] [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900865 public void testLayout7KeyMax5R0() {
866 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R0);
867 assertEquals("7 key max 5 R0 columns", 4, params.mNumColumns);
868 assertEquals("7 key max 5 R0 rows", 2, params.mNumRows);
869 assertEquals("7 key max 5 R0 left", 3, params.mLeftKeys);
870 assertEquals("7 key max 5 R0 right", 1, params.mRightKeys);
871 assertEquals("7 key max 5 R0 [1]", 0, params.getColumnPos(0));
872 assertEquals("7 key max 5 R0 [2]", -1, params.getColumnPos(1));
873 assertEquals("7 key max 5 R0 [3]", -2, params.getColumnPos(2));
874 assertEquals("7 key max 5 R0 [4]", -3, params.getColumnPos(3));
875 assertEquals("7 key max 5 R0 [5]", 0, params.getColumnPos(4));
876 assertEquals("7 key max 5 R0 [6]", -1, params.getColumnPos(5));
877 assertEquals("7 key max 5 R0 [7]", -2, params.getColumnPos(6));
878 assertEquals("7 key max 5 R0 adjust", -1, params.mTopRowAdjustment);
879 assertEquals("7 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900880 }
881
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900882 // [7] [6] [5] ___|
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900883 // [4] [3] [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900884 public void testLayout7KeyMax5R1() {
885 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R1);
886 assertEquals("7 key max 5 R1 columns", 4, params.mNumColumns);
887 assertEquals("7 key max 5 R1 rows", 2, params.mNumRows);
888 assertEquals("7 key max 5 R1 left", 3, params.mLeftKeys);
889 assertEquals("7 key max 5 R1 right", 1, params.mRightKeys);
890 assertEquals("7 key max 5 R1 [1]", 0, params.getColumnPos(0));
891 assertEquals("7 key max 5 R1 [2]", -1, params.getColumnPos(1));
892 assertEquals("7 key max 5 R1 [3]", -2, params.getColumnPos(2));
893 assertEquals("7 key max 5 R1 [4]", -3, params.getColumnPos(3));
894 assertEquals("7 key max 5 R1 [5]", 0, params.getColumnPos(4));
895 assertEquals("7 key max 5 R1 [6]", -1, params.getColumnPos(5));
896 assertEquals("7 key max 5 R1 [7]", -2, params.getColumnPos(6));
897 assertEquals("7 key max 5 R1 adjust", -1, params.mTopRowAdjustment);
898 assertEquals("7 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900899 }
900
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900901 // [7] [5] [6] ___|
902 // [4] [3] [1] [2] ___|
903 public void testLayout7KeyMax5R2() {
904 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R2);
905 assertEquals("7 key max 5 R2 columns", 4, params.mNumColumns);
906 assertEquals("7 key max 5 R2 rows", 2, params.mNumRows);
907 assertEquals("7 key max 5 R2 left", 2, params.mLeftKeys);
908 assertEquals("7 key max 5 R2 right", 2, params.mRightKeys);
909 assertEquals("7 key max 5 R2 [1]", 0, params.getColumnPos(0));
910 assertEquals("7 key max 5 R2 [2]", 1, params.getColumnPos(1));
911 assertEquals("7 key max 5 R2 [3]", -1, params.getColumnPos(2));
912 assertEquals("7 key max 5 R2 [4]", -2, params.getColumnPos(3));
913 assertEquals("7 key max 5 R2 [5]", 0, params.getColumnPos(4));
914 assertEquals("7 key max 5 R2 [6]", 1, params.getColumnPos(5));
915 assertEquals("7 key max 5 R2 [7]", -1, params.getColumnPos(6));
916 assertEquals("7 key max 5 R2 adjust", -1, params.mTopRowAdjustment);
917 assertEquals("7 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900918 }
919
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900920 // |[1] [2] [3] [4] [5] [6] [7] ___ ___ ___|
921 public void testLayout7KeyMax7L0() {
922 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L0);
923 assertEquals("7 key max 7 L0 columns", 7, params.mNumColumns);
924 assertEquals("7 key max 7 L0 rows", 1, params.mNumRows);
925 assertEquals("7 key max 7 L0 left", 0, params.mLeftKeys);
926 assertEquals("7 key max 7 L0 right", 7, params.mRightKeys);
927 assertEquals("7 key max 7 L0 [1]", 0, params.getColumnPos(0));
928 assertEquals("7 key max 7 L0 [2]", 1, params.getColumnPos(1));
929 assertEquals("7 key max 7 L0 [3]", 2, params.getColumnPos(2));
930 assertEquals("7 key max 7 L0 [4]", 3, params.getColumnPos(3));
931 assertEquals("7 key max 7 L0 [5]", 4, params.getColumnPos(4));
932 assertEquals("7 key max 7 L0 [6]", 5, params.getColumnPos(5));
933 assertEquals("7 key max 7 L0 [7]", 6, params.getColumnPos(6));
934 assertEquals("7 key max 7 L0 adjust", 0, params.mTopRowAdjustment);
935 assertEquals("7 key max 7 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
936 }
937
938 // |___ [1] [2] [3] [4] [5] [6] [7] ___ ___|
939 public void testLayout7KeyMax7L1() {
940 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L1);
941 assertEquals("7 key max 7 L1 columns", 7, params.mNumColumns);
942 assertEquals("7 key max 7 L1 rows", 1, params.mNumRows);
943 assertEquals("7 key max 7 L1 left", 0, params.mLeftKeys);
944 assertEquals("7 key max 7 L1 right", 7, params.mRightKeys);
945 assertEquals("7 key max 7 L1 [1]", 0, params.getColumnPos(0));
946 assertEquals("7 key max 7 L1 [2]", 1, params.getColumnPos(1));
947 assertEquals("7 key max 7 L1 [3]", 2, params.getColumnPos(2));
948 assertEquals("7 key max 7 L1 [4]", 3, params.getColumnPos(3));
949 assertEquals("7 key max 7 L1 [5]", 4, params.getColumnPos(4));
950 assertEquals("7 key max 7 L1 [6]", 5, params.getColumnPos(5));
951 assertEquals("7 key max 7 L1 [7]", 6, params.getColumnPos(6));
952 assertEquals("7 key max 7 L1 adjust", 0, params.mTopRowAdjustment);
953 assertEquals("7 key max 7 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
954 }
955
956 // |___ [3] [1] [2] [4] [5] [6] [7] ___ ___|
957 public void testLayout7KeyMax7L2() {
958 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L2);
959 assertEquals("7 key max 7 L2 columns", 7, params.mNumColumns);
960 assertEquals("7 key max 7 L2 rows", 1, params.mNumRows);
961 assertEquals("7 key max 7 L2 left", 1, params.mLeftKeys);
962 assertEquals("7 key max 7 L2 right", 6, params.mRightKeys);
963 assertEquals("7 key max 7 L2 [1]", 0, params.getColumnPos(0));
964 assertEquals("7 key max 7 L2 [2]", 1, params.getColumnPos(1));
965 assertEquals("7 key max 7 L2 [3]", -1, params.getColumnPos(2));
966 assertEquals("7 key max 7 L2 [4]", 2, params.getColumnPos(3));
967 assertEquals("7 key max 7 L2 [5]", 3, params.getColumnPos(4));
968 assertEquals("7 key max 7 L2 [6]", 4, params.getColumnPos(5));
969 assertEquals("7 key max 7 L2 [7]", 5, params.getColumnPos(6));
970 assertEquals("7 key max 7 L2 adjust", 0, params.mTopRowAdjustment);
971 assertEquals("7 key max 7 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
972 }
973
974 // |___ [5] [3] [1] [2] [4] [6] [7] ___ ___|
975 public void testLayout7KeyMax7L3() {
976 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L3);
977 assertEquals("7 key max 7 L3 columns", 7, params.mNumColumns);
978 assertEquals("7 key max 7 L3 rows", 1, params.mNumRows);
979 assertEquals("7 key max 7 L3 left", 2, params.mLeftKeys);
980 assertEquals("7 key max 7 L3 right", 5, params.mRightKeys);
981 assertEquals("7 key max 7 L3 [1]", 0, params.getColumnPos(0));
982 assertEquals("7 key max 7 L3 [2]", 1, params.getColumnPos(1));
983 assertEquals("7 key max 7 L3 [3]", -1, params.getColumnPos(2));
984 assertEquals("7 key max 7 L3 [4]", 2, params.getColumnPos(3));
985 assertEquals("7 key max 7 L3 [5]", -2, params.getColumnPos(4));
986 assertEquals("7 key max 7 L3 [6]", 3, params.getColumnPos(5));
987 assertEquals("7 key max 7 L3 [7]", 4, params.getColumnPos(6));
988 assertEquals("7 key max 7 L3 adjust", 0, params.mTopRowAdjustment);
989 assertEquals("7 key max 7 L3 default", WIDTH * 2, params.getDefaultKeyCoordX());
990 }
991
992 // |___ [7] [5] [3] [1] [2] [4] [6] ___ ___|
993 public void testLayout7KeyMax7M0() {
994 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M0);
995 assertEquals("7 key max 7 M0 columns", 7, params.mNumColumns);
996 assertEquals("7 key max 7 M0 rows", 1, params.mNumRows);
997 assertEquals("7 key max 7 M0 left", 3, params.mLeftKeys);
998 assertEquals("7 key max 7 M0 right", 4, params.mRightKeys);
999 assertEquals("7 key max 7 M0 [1]", 0, params.getColumnPos(0));
1000 assertEquals("7 key max 7 M0 [2]", 1, params.getColumnPos(1));
1001 assertEquals("7 key max 7 M0 [3]", -1, params.getColumnPos(2));
1002 assertEquals("7 key max 7 M0 [4]", 2, params.getColumnPos(3));
1003 assertEquals("7 key max 7 M0 [5]", -2, params.getColumnPos(4));
1004 assertEquals("7 key max 7 M0 [6]", 3, params.getColumnPos(5));
1005 assertEquals("7 key max 7 M0 [7]", -3, params.getColumnPos(6));
1006 assertEquals("7 key max 7 M0 adjust", 0, params.mTopRowAdjustment);
1007 assertEquals("7 key max 7 M0 default", WIDTH * 3, params.getDefaultKeyCoordX());
1008 }
1009
1010 // |___ ___ [7] [5] [3] [1] [2] [4] [6] ___|
1011 public void testLayout7KeyMax7M1() {
1012 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M1);
1013 assertEquals("7 key max 7 M1 columns", 7, params.mNumColumns);
1014 assertEquals("7 key max 7 M1 rows", 1, params.mNumRows);
1015 assertEquals("7 key max 7 M1 left", 3, params.mLeftKeys);
1016 assertEquals("7 key max 7 M1 right", 4, params.mRightKeys);
1017 assertEquals("7 key max 7 M1 [1]", 0, params.getColumnPos(0));
1018 assertEquals("7 key max 7 M1 [2]", 1, params.getColumnPos(1));
1019 assertEquals("7 key max 7 M1 [3]", -1, params.getColumnPos(2));
1020 assertEquals("7 key max 7 M1 [4]", 2, params.getColumnPos(3));
1021 assertEquals("7 key max 7 M1 [5]", -2, params.getColumnPos(4));
1022 assertEquals("7 key max 7 M1 [6]", 3, params.getColumnPos(5));
1023 assertEquals("7 key max 7 M1 [7]", -3, params.getColumnPos(6));
1024 assertEquals("7 key max 7 M1 adjust", 0, params.mTopRowAdjustment);
1025 assertEquals("7 key max 7 M1 default", WIDTH * 3, params.getDefaultKeyCoordX());
1026 }
1027
1028 // |___ ___ [7] [6] [5] [3] [1] [2] [4] ___|
1029 public void testLayout7KeyMax7R3() {
1030 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R3);
1031 assertEquals("7 key max 7 R3 columns", 7, params.mNumColumns);
1032 assertEquals("7 key max 7 R3 rows", 1, params.mNumRows);
1033 assertEquals("7 key max 7 R3 left", 4, params.mLeftKeys);
1034 assertEquals("7 key max 7 R3 right", 3, params.mRightKeys);
1035 assertEquals("7 key max 7 R3 [1]", 0, params.getColumnPos(0));
1036 assertEquals("7 key max 7 R3 [2]", 1, params.getColumnPos(1));
1037 assertEquals("7 key max 7 R3 [3]", -1, params.getColumnPos(2));
1038 assertEquals("7 key max 7 R3 [4]", 2, params.getColumnPos(3));
1039 assertEquals("7 key max 7 R3 [5]", -2, params.getColumnPos(4));
1040 assertEquals("7 key max 7 R3 [6]", -3, params.getColumnPos(5));
1041 assertEquals("7 key max 7 R3 [7]", -4, params.getColumnPos(6));
1042 assertEquals("7 key max 7 R3 adjust", 0, params.mTopRowAdjustment);
1043 assertEquals("7 key max 7 R3 default", WIDTH * 4, params.getDefaultKeyCoordX());
1044 }
1045
1046 // |___ ___ [7] [6] [5] [4] [3] [1] [2] ___|
1047 public void testLayout7KeyMax7R2() {
1048 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R2);
1049 assertEquals("7 key max 7 R2 columns", 7, params.mNumColumns);
1050 assertEquals("7 key max 7 R2 rows", 1, params.mNumRows);
1051 assertEquals("7 key max 7 R2 left", 5, params.mLeftKeys);
1052 assertEquals("7 key max 7 R2 right", 2, params.mRightKeys);
1053 assertEquals("7 key max 7 R2 [1]", 0, params.getColumnPos(0));
1054 assertEquals("7 key max 7 R2 [2]", 1, params.getColumnPos(1));
1055 assertEquals("7 key max 7 R2 [3]", -1, params.getColumnPos(2));
1056 assertEquals("7 key max 7 R2 [4]", -2, params.getColumnPos(3));
1057 assertEquals("7 key max 7 R2 [5]", -3, params.getColumnPos(4));
1058 assertEquals("7 key max 7 R2 [6]", -4, params.getColumnPos(5));
1059 assertEquals("7 key max 7 R2 [7]", -5, params.getColumnPos(6));
1060 assertEquals("7 key max 7 R2 adjust", 0, params.mTopRowAdjustment);
1061 assertEquals("7 key max 7 R2 default", WIDTH * 5, params.getDefaultKeyCoordX());
1062 }
1063
1064 // |___ ___ [7] [6] [5] [4] [3] [2] [1] ___|
1065 public void testLayout7KeyMax7R1() {
1066 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R1);
1067 assertEquals("7 key max 7 R1 columns", 7, params.mNumColumns);
1068 assertEquals("7 key max 7 R1 rows", 1, params.mNumRows);
1069 assertEquals("7 key max 7 R1 left", 6, params.mLeftKeys);
1070 assertEquals("7 key max 7 R1 right", 1, params.mRightKeys);
1071 assertEquals("7 key max 7 R1 [1]", 0, params.getColumnPos(0));
1072 assertEquals("7 key max 7 R1 [2]", -1, params.getColumnPos(1));
1073 assertEquals("7 key max 7 R1 [3]", -2, params.getColumnPos(2));
1074 assertEquals("7 key max 7 R1 [4]", -3, params.getColumnPos(3));
1075 assertEquals("7 key max 7 R1 [5]", -4, params.getColumnPos(4));
1076 assertEquals("7 key max 7 R1 [6]", -5, params.getColumnPos(5));
1077 assertEquals("7 key max 7 R1 [7]", -6, params.getColumnPos(6));
1078 assertEquals("7 key max 7 R1 adjust", 0, params.mTopRowAdjustment);
1079 assertEquals("7 key max 7 R1 default", WIDTH * 6, params.getDefaultKeyCoordX());
1080 }
1081
1082 // |___ ___ [7] [6] [5] [4] [3] [2] [1]|
1083 public void testLayout7KeyMax7R0() {
1084 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R0);
1085 assertEquals("7 key max 7 R0 columns", 7, params.mNumColumns);
1086 assertEquals("7 key max 7 R0 rows", 1, params.mNumRows);
1087 assertEquals("7 key max 7 R0 left", 6, params.mLeftKeys);
1088 assertEquals("7 key max 7 R0 right", 1, params.mRightKeys);
1089 assertEquals("7 key max 7 R0 [1]", 0, params.getColumnPos(0));
1090 assertEquals("7 key max 7 R0 [2]", -1, params.getColumnPos(1));
1091 assertEquals("7 key max 7 R0 [3]", -2, params.getColumnPos(2));
1092 assertEquals("7 key max 7 R0 [4]", -3, params.getColumnPos(3));
1093 assertEquals("7 key max 7 R0 [5]", -4, params.getColumnPos(4));
1094 assertEquals("7 key max 7 R0 [6]", -5, params.getColumnPos(5));
1095 assertEquals("7 key max 7 R0 [7]", -6, params.getColumnPos(6));
1096 assertEquals("7 key max 7 R0 adjust", 0, params.mTopRowAdjustment);
1097 assertEquals("7 key max 7 R0 default", WIDTH * 6, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001098 }
1099
1100 // [7] [5] [6] [8]
1101 // [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001102 public void testLayout8KeyMax5M0() {
1103 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_M0);
1104 assertEquals("8 key max 5 M0 columns", 4, params.mNumColumns);
1105 assertEquals("8 key max 5 M0 rows", 2, params.mNumRows);
1106 assertEquals("8 key max 5 M0 left", 1, params.mLeftKeys);
1107 assertEquals("8 key max 5 M0 right", 3, params.mRightKeys);
1108 assertEquals("8 key max 5 M0 [1]", 0, params.getColumnPos(0));
1109 assertEquals("8 key max 5 M0 [2]", 1, params.getColumnPos(1));
1110 assertEquals("8 key max 5 M0 [3]", -1, params.getColumnPos(2));
1111 assertEquals("8 key max 5 M0 [4]", 2, params.getColumnPos(3));
1112 assertEquals("8 key max 5 M0 [5]", 0, params.getColumnPos(4));
1113 assertEquals("8 key max 5 M0 [6]", 1, params.getColumnPos(5));
1114 assertEquals("8 key max 5 M0 [7]", -1, params.getColumnPos(6));
1115 assertEquals("8 key max 5 M0 [8]", 2, params.getColumnPos(7));
1116 assertEquals("8 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
1117 assertEquals("8 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001118 }
1119
1120 // |[5] [6] [7] [8]
1121 // |[1] [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001122 public void testLayout8KeyMax5L0() {
1123 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L0);
1124 assertEquals("8 key max 5 L0 columns", 4, params.mNumColumns);
1125 assertEquals("8 key max 5 L0 rows", 2, params.mNumRows);
1126 assertEquals("8 key max 5 L0 left", 0, params.mLeftKeys);
1127 assertEquals("8 key max 5 L0 right", 4, params.mRightKeys);
1128 assertEquals("8 key max 5 L0 [1]", 0, params.getColumnPos(0));
1129 assertEquals("8 key max 5 L0 [2]", 1, params.getColumnPos(1));
1130 assertEquals("8 key max 5 L0 [3]", 2, params.getColumnPos(2));
1131 assertEquals("8 key max 5 L0 [4]", 3, params.getColumnPos(3));
1132 assertEquals("8 key max 5 L0 [5]", 0, params.getColumnPos(4));
1133 assertEquals("8 key max 5 L0 [6]", 1, params.getColumnPos(5));
1134 assertEquals("8 key max 5 L0 [7]", 2, params.getColumnPos(6));
1135 assertEquals("8 key max 5 L0 [8]", 3, params.getColumnPos(7));
1136 assertEquals("8 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
1137 assertEquals("8 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001138 }
1139
1140 // |___ [5] [6] [7] [8]
1141 // |___ [1] [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001142 public void testLayout8KeyMax5L1() {
1143 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L1);
1144 assertEquals("8 key max 5 L1 columns", 4, params.mNumColumns);
1145 assertEquals("8 key max 5 L1 rows", 2, params.mNumRows);
1146 assertEquals("8 key max 5 L1 left", 0, params.mLeftKeys);
1147 assertEquals("8 key max 5 L1 right", 4, params.mRightKeys);
1148 assertEquals("8 key max 5 L1 [1]", 0, params.getColumnPos(0));
1149 assertEquals("8 key max 5 L1 [2]", 1, params.getColumnPos(1));
1150 assertEquals("8 key max 5 L1 [3]", 2, params.getColumnPos(2));
1151 assertEquals("8 key max 5 L1 [4]", 3, params.getColumnPos(3));
1152 assertEquals("8 key max 5 L1 [5]", 0, params.getColumnPos(4));
1153 assertEquals("8 key max 5 L1 [6]", 1, params.getColumnPos(5));
1154 assertEquals("8 key max 5 L1 [7]", 2, params.getColumnPos(6));
1155 assertEquals("8 key max 5 L1 [8]", 3, params.getColumnPos(7));
1156 assertEquals("8 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
1157 assertEquals("8 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001158 }
1159
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001160 // |___ [7] [5] [6] [8]
1161 // |___ [3] [1] [2] [4]
1162 public void testLayout8KeyMax5L2() {
1163 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L2);
1164 assertEquals("8 key max 5 L2 columns", 4, params.mNumColumns);
1165 assertEquals("8 key max 5 L2 rows", 2, params.mNumRows);
1166 assertEquals("8 key max 5 L2 left", 1, params.mLeftKeys);
1167 assertEquals("8 key max 5 L2 right", 3, params.mRightKeys);
1168 assertEquals("8 key max 5 L2 [1]", 0, params.getColumnPos(0));
1169 assertEquals("8 key max 5 L2 [2]", 1, params.getColumnPos(1));
1170 assertEquals("8 key max 5 L2 [3]", -1, params.getColumnPos(2));
1171 assertEquals("8 key max 5 L2 [4]", 2, params.getColumnPos(3));
1172 assertEquals("8 key max 5 L2 [5]", 0, params.getColumnPos(4));
1173 assertEquals("8 key max 5 L2 [6]", 1, params.getColumnPos(5));
1174 assertEquals("8 key max 5 L2 [7]", -1, params.getColumnPos(6));
1175 assertEquals("8 key max 5 L2 [8]", 2, params.getColumnPos(7));
1176 assertEquals("8 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
1177 assertEquals("8 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001178 }
1179
1180 // [8] [7] [6] [5]|
1181 // [4] [3] [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001182 public void testLayout8KeyMax5R0() {
1183 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R0);
1184 assertEquals("8 key max 5 R0 columns", 4, params.mNumColumns);
1185 assertEquals("8 key max 5 R0 rows", 2, params.mNumRows);
1186 assertEquals("8 key max 5 R0 left", 3, params.mLeftKeys);
1187 assertEquals("8 key max 5 R0 right", 1, params.mRightKeys);
1188 assertEquals("8 key max 5 R0 [1]", 0, params.getColumnPos(0));
1189 assertEquals("8 key max 5 R0 [2]", -1, params.getColumnPos(1));
1190 assertEquals("8 key max 5 R0 [3]", -2, params.getColumnPos(2));
1191 assertEquals("8 key max 5 R0 [4]", -3, params.getColumnPos(3));
1192 assertEquals("8 key max 5 R0 [5]", 0, params.getColumnPos(4));
1193 assertEquals("8 key max 5 R0 [6]", -1, params.getColumnPos(5));
1194 assertEquals("8 key max 5 R0 [7]", -2, params.getColumnPos(6));
1195 assertEquals("8 key max 5 R0 [8]", -3, params.getColumnPos(7));
1196 assertEquals("8 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
1197 assertEquals("8 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001198 }
1199
1200 // [8] [7] [6] [5] ___|
1201 // [4] [3] [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001202 public void testLayout8KeyMax5R1() {
1203 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R1);
1204 assertEquals("8 key max 5 R1 columns", 4, params.mNumColumns);
1205 assertEquals("8 key max 5 R1 rows", 2, params.mNumRows);
1206 assertEquals("8 key max 5 R1 left", 3, params.mLeftKeys);
1207 assertEquals("8 key max 5 R1 right", 1, params.mRightKeys);
1208 assertEquals("8 key max 5 R1 [1]", 0, params.getColumnPos(0));
1209 assertEquals("8 key max 5 R1 [2]", -1, params.getColumnPos(1));
1210 assertEquals("8 key max 5 R1 [3]", -2, params.getColumnPos(2));
1211 assertEquals("8 key max 5 R1 [4]", -3, params.getColumnPos(3));
1212 assertEquals("8 key max 5 R1 [5]", 0, params.getColumnPos(4));
1213 assertEquals("8 key max 5 R1 [6]", -1, params.getColumnPos(5));
1214 assertEquals("8 key max 5 R1 [7]", -2, params.getColumnPos(6));
1215 assertEquals("8 key max 5 R1 [8]", -3, params.getColumnPos(7));
1216 assertEquals("8 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
1217 assertEquals("8 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001218 }
1219
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001220 // [8] [7] [5] [6] ___|
1221 // [4] [3] [1] [2] ___|
1222 public void testLayout8KeyMax5R2() {
1223 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R2);
1224 assertEquals("8 key max 5 R2 columns", 4, params.mNumColumns);
1225 assertEquals("8 key max 5 R2 rows", 2, params.mNumRows);
1226 assertEquals("8 key max 5 R2 left", 2, params.mLeftKeys);
1227 assertEquals("8 key max 5 R2 right", 2, params.mRightKeys);
1228 assertEquals("8 key max 5 R2 [1]", 0, params.getColumnPos(0));
1229 assertEquals("8 key max 5 R2 [2]", 1, params.getColumnPos(1));
1230 assertEquals("8 key max 5 R2 [3]", -1, params.getColumnPos(2));
1231 assertEquals("8 key max 5 R2 [4]", -2, params.getColumnPos(3));
1232 assertEquals("8 key max 5 R2 [5]", 0, params.getColumnPos(4));
1233 assertEquals("8 key max 5 R2 [6]", 1, params.getColumnPos(5));
1234 assertEquals("8 key max 5 R2 [7]", -1, params.getColumnPos(6));
1235 assertEquals("8 key max 5 R2 [8]", -2, params.getColumnPos(7));
1236 assertEquals("8 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
1237 assertEquals("8 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001238 }
1239
1240 // [8] [6] [7] [9]
1241 // [5] [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001242 public void testLayout9KeyMax5M0() {
1243 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_M0);
1244 assertEquals("9 key max 5 M0 columns", 5, params.mNumColumns);
1245 assertEquals("9 key max 5 M0 rows", 2, params.mNumRows);
1246 assertEquals("9 key max 5 M0 left", 2, params.mLeftKeys);
1247 assertEquals("9 key max 5 M0 right", 3, params.mRightKeys);
1248 assertEquals("9 key max 5 M0 [1]", 0, params.getColumnPos(0));
1249 assertEquals("9 key max 5 M0 [2]", 1, params.getColumnPos(1));
1250 assertEquals("9 key max 5 M0 [3]", -1, params.getColumnPos(2));
1251 assertEquals("9 key max 5 M0 [4]", 2, params.getColumnPos(3));
1252 assertEquals("9 key max 5 M0 [5]", -2, params.getColumnPos(4));
1253 assertEquals("9 key max 5 M0 [6]", 0, params.getColumnPos(5));
1254 assertEquals("9 key max 5 M0 [7]", 1, params.getColumnPos(6));
1255 assertEquals("9 key max 5 M0 [8]", -1, params.getColumnPos(7));
1256 assertEquals("9 key max 5 M0 [9]", 2, params.getColumnPos(8));
1257 assertEquals("9 key max 5 M0 adjust", -1, params.mTopRowAdjustment);
1258 assertEquals("9 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001259 }
1260
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001261 // | [6] [7] [8] [9]
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001262 // |[1] [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001263 public void testLayout9KeyMax5L0() {
1264 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L0);
1265 assertEquals("9 key max 5 L0 columns", 5, params.mNumColumns);
1266 assertEquals("9 key max 5 L0 rows", 2, params.mNumRows);
1267 assertEquals("9 key max 5 L0 left", 0, params.mLeftKeys);
1268 assertEquals("9 key max 5 L0 right", 5, params.mRightKeys);
1269 assertEquals("9 key max 5 L0 [1]", 0, params.getColumnPos(0));
1270 assertEquals("9 key max 5 L0 [2]", 1, params.getColumnPos(1));
1271 assertEquals("9 key max 5 L0 [3]", 2, params.getColumnPos(2));
1272 assertEquals("9 key max 5 L0 [4]", 3, params.getColumnPos(3));
1273 assertEquals("9 key max 5 L0 [5]", 4, params.getColumnPos(4));
1274 assertEquals("9 key max 5 L0 [6]", 0, params.getColumnPos(5));
1275 assertEquals("9 key max 5 L0 [7]", 1, params.getColumnPos(6));
1276 assertEquals("9 key max 5 L0 [8]", 2, params.getColumnPos(7));
1277 assertEquals("9 key max 5 L0 [9]", 3, params.getColumnPos(8));
1278 assertEquals("9 key max 5 L0 adjust", 1, params.mTopRowAdjustment);
1279 assertEquals("9 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001280 }
1281
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001282 // |___ [6] [7] [8] [9]
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001283 // |___ [1] [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001284 public void testLayout9KeyMax5L1() {
1285 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L1);
1286 assertEquals("9 key max 5 L1 columns", 5, params.mNumColumns);
1287 assertEquals("9 key max 5 L1 rows", 2, params.mNumRows);
1288 assertEquals("9 key max 5 L1 left", 0, params.mLeftKeys);
1289 assertEquals("9 key max 5 L1 right", 5, params.mRightKeys);
1290 assertEquals("9 key max 5 L1 [1]", 0, params.getColumnPos(0));
1291 assertEquals("9 key max 5 L1 [2]", 1, params.getColumnPos(1));
1292 assertEquals("9 key max 5 L1 [3]", 2, params.getColumnPos(2));
1293 assertEquals("9 key max 5 L1 [4]", 3, params.getColumnPos(3));
1294 assertEquals("9 key max 5 L1 [5]", 4, params.getColumnPos(4));
1295 assertEquals("9 key max 5 L1 [6]", 0, params.getColumnPos(5));
1296 assertEquals("9 key max 5 L1 [7]", 1, params.getColumnPos(6));
1297 assertEquals("9 key max 5 L1 [8]", 2, params.getColumnPos(7));
1298 assertEquals("9 key max 5 L1 [9]", 3, params.getColumnPos(8));
1299 assertEquals("9 key max 5 L1 adjust",1, params.mTopRowAdjustment);
1300 assertEquals("9 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001301 }
1302
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001303 // |___ [8] [6] [7] [9]
1304 // |___ [3] [1] [2] [4] [5]
1305 public void testLayout9KeyMax5L2() {
1306 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L2);
1307 assertEquals("9 key max 5 L2 columns", 5, params.mNumColumns);
1308 assertEquals("9 key max 5 L2 rows", 2, params.mNumRows);
1309 assertEquals("9 key max 5 L2 left", 1, params.mLeftKeys);
1310 assertEquals("9 key max 5 L2 right", 4, params.mRightKeys);
1311 assertEquals("9 key max 5 L2 [1]", 0, params.getColumnPos(0));
1312 assertEquals("9 key max 5 L2 [2]", 1, params.getColumnPos(1));
1313 assertEquals("9 key max 5 L2 [3]", -1, params.getColumnPos(2));
1314 assertEquals("9 key max 5 L2 [4]", 2, params.getColumnPos(3));
1315 assertEquals("9 key max 5 L2 [5]", 3, params.getColumnPos(4));
1316 assertEquals("9 key max 5 L2 [6]", 0, params.getColumnPos(5));
1317 assertEquals("9 key max 5 L2 [7]", 1, params.getColumnPos(6));
1318 assertEquals("9 key max 5 L2 [8]", -1, params.getColumnPos(7));
1319 assertEquals("9 key max 5 L2 [9]", 2, params.getColumnPos(8));
1320 assertEquals("9 key max 5 L2 adjust", 1, params.mTopRowAdjustment);
1321 assertEquals("9 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001322 }
1323
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001324 // [9] [8] [7] [6] |
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001325 // [5] [4] [3] [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001326 public void testLayout9KeyMax5R0() {
1327 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R0);
1328 assertEquals("9 key max 5 R0 columns", 5, params.mNumColumns);
1329 assertEquals("9 key max 5 R0 rows", 2, params.mNumRows);
1330 assertEquals("9 key max 5 R0 left", 4, params.mLeftKeys);
1331 assertEquals("9 key max 5 R0 right", 1, params.mRightKeys);
1332 assertEquals("9 key max 5 R0 [1]", 0, params.getColumnPos(0));
1333 assertEquals("9 key max 5 R0 [2]", -1, params.getColumnPos(1));
1334 assertEquals("9 key max 5 R0 [3]", -2, params.getColumnPos(2));
1335 assertEquals("9 key max 5 R0 [4]", -3, params.getColumnPos(3));
1336 assertEquals("9 key max 5 R0 [5]", -4, params.getColumnPos(4));
1337 assertEquals("9 key max 5 R0 [6]", 0, params.getColumnPos(5));
1338 assertEquals("9 key max 5 R0 [7]", -1, params.getColumnPos(6));
1339 assertEquals("9 key max 5 R0 [8]", -2, params.getColumnPos(7));
1340 assertEquals("9 key max 5 R0 [9]", -3, params.getColumnPos(8));
1341 assertEquals("9 key max 5 R0 adjust", -1, params.mTopRowAdjustment);
1342 assertEquals("9 key max 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001343 }
1344
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001345 // [9] [8] [7] [6] ___|
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001346 // [5] [4] [3] [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001347 public void testLayout9KeyMax5R1() {
1348 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R1);
1349 assertEquals("9 key max 5 R1 columns", 5, params.mNumColumns);
1350 assertEquals("9 key max 5 R1 rows", 2, params.mNumRows);
1351 assertEquals("9 key max 5 R1 left", 4, params.mLeftKeys);
1352 assertEquals("9 key max 5 R1 right", 1, params.mRightKeys);
1353 assertEquals("9 key max 5 R1 [1]", 0, params.getColumnPos(0));
1354 assertEquals("9 key max 5 R1 [2]", -1, params.getColumnPos(1));
1355 assertEquals("9 key max 5 R1 [3]", -2, params.getColumnPos(2));
1356 assertEquals("9 key max 5 R1 [4]", -3, params.getColumnPos(3));
1357 assertEquals("9 key max 5 R1 [5]", -4, params.getColumnPos(4));
1358 assertEquals("9 key max 5 R1 [6]", 0, params.getColumnPos(5));
1359 assertEquals("9 key max 5 R1 [7]", -1, params.getColumnPos(6));
1360 assertEquals("9 key max 5 R1 [8]", -2, params.getColumnPos(7));
1361 assertEquals("9 key max 5 R1 [9]", -3, params.getColumnPos(8));
1362 assertEquals("9 key max 5 R1 adjust", -1, params.mTopRowAdjustment);
1363 assertEquals("9 key max 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001364 }
1365
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001366 // [9] [8] [6] [7] ___|
1367 // [5] [4] [3] [1] [2] ___|
1368 public void testLayout9KeyMax5R2() {
1369 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R2);
1370 assertEquals("9 key max 5 R2 columns", 5, params.mNumColumns);
1371 assertEquals("9 key max 5 R2 rows", 2, params.mNumRows);
1372 assertEquals("9 key max 5 R2 left", 3, params.mLeftKeys);
1373 assertEquals("9 key max 5 R2 right", 2, params.mRightKeys);
1374 assertEquals("9 key max 5 R2 [1]", 0, params.getColumnPos(0));
1375 assertEquals("9 key max 5 R2 [2]", 1, params.getColumnPos(1));
1376 assertEquals("9 key max 5 R2 [3]", -1, params.getColumnPos(2));
1377 assertEquals("9 key max 5 R2 [4]", -2, params.getColumnPos(3));
1378 assertEquals("9 key max 5 R2 [5]", -3, params.getColumnPos(4));
1379 assertEquals("9 key max 5 R2 [6]", 0, params.getColumnPos(5));
1380 assertEquals("9 key max 5 R2 [7]", 1, params.getColumnPos(6));
1381 assertEquals("9 key max 5 R2 [8]", -1, params.getColumnPos(7));
1382 assertEquals("9 key max 5 R2 [9]", -2, params.getColumnPos(8));
1383 assertEquals("9 key max 5 R2 adjust", -1, params.mTopRowAdjustment);
1384 assertEquals("9 key max 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001385 }
1386
1387 // [A] [8] [6] [7] [9]
1388 // [5] [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001389 public void testLayout10KeyMax5M0() {
1390 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_M0);
1391 assertEquals("10 key max 5 M0 columns", 5, params.mNumColumns);
1392 assertEquals("10 key max 5 M0 rows", 2, params.mNumRows);
1393 assertEquals("10 key max 5 M0 left", 2, params.mLeftKeys);
1394 assertEquals("10 key max 5 M0 right", 3, params.mRightKeys);
1395 assertEquals("10 key max 5 M0 [1]", 0, params.getColumnPos(0));
1396 assertEquals("10 key max 5 M0 [2]", 1, params.getColumnPos(1));
1397 assertEquals("10 key max 5 M0 [3]", -1, params.getColumnPos(2));
1398 assertEquals("10 key max 5 M0 [4]", 2, params.getColumnPos(3));
1399 assertEquals("10 key max 5 M0 [5]", -2, params.getColumnPos(4));
1400 assertEquals("10 key max 5 M0 [6]", 0, params.getColumnPos(5));
1401 assertEquals("10 key max 5 M0 [7]", 1, params.getColumnPos(6));
1402 assertEquals("10 key max 5 M0 [8]", -1, params.getColumnPos(7));
1403 assertEquals("10 key max 5 M0 [9]", 2, params.getColumnPos(8));
1404 assertEquals("10 key max 5 M0 [A]", -2, params.getColumnPos(9));
1405 assertEquals("10 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
1406 assertEquals("10 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001407 }
1408
1409 // |[6] [7] [8] [9] [A]
1410 // |[1] [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001411 public void testLayout10KeyMax5L0() {
1412 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L0);
1413 assertEquals("10 key max 5 L0 columns", 5, params.mNumColumns);
1414 assertEquals("10 key max 5 L0 rows", 2, params.mNumRows);
1415 assertEquals("10 key max 5 L0 left", 0, params.mLeftKeys);
1416 assertEquals("10 key max 5 L0 right", 5, params.mRightKeys);
1417 assertEquals("10 key max 5 L0 [1]", 0, params.getColumnPos(0));
1418 assertEquals("10 key max 5 L0 [2]", 1, params.getColumnPos(1));
1419 assertEquals("10 key max 5 L0 [3]", 2, params.getColumnPos(2));
1420 assertEquals("10 key max 5 L0 [4]", 3, params.getColumnPos(3));
1421 assertEquals("10 key max 5 L0 [5]", 4, params.getColumnPos(4));
1422 assertEquals("10 key max 5 L0 [6]", 0, params.getColumnPos(5));
1423 assertEquals("10 key max 5 L0 [7]", 1, params.getColumnPos(6));
1424 assertEquals("10 key max 5 L0 [8]", 2, params.getColumnPos(7));
1425 assertEquals("10 key max 5 L0 [9]", 3, params.getColumnPos(8));
1426 assertEquals("10 key max 5 L0 [A]", 4, params.getColumnPos(9));
1427 assertEquals("10 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
1428 assertEquals("10 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001429 }
1430
1431 // |___ [6] [7] [8] [9] [A]
1432 // |___ [1] [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001433 public void testLayout10KeyMax5L1() {
1434 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L1);
1435 assertEquals("10 key max 5 L1 columns", 5, params.mNumColumns);
1436 assertEquals("10 key max 5 L1 rows", 2, params.mNumRows);
1437 assertEquals("10 key max 5 L1 left", 0, params.mLeftKeys);
1438 assertEquals("10 key max 5 L1 right", 5, params.mRightKeys);
1439 assertEquals("10 key max 5 L1 [1]", 0, params.getColumnPos(0));
1440 assertEquals("10 key max 5 L1 [2]", 1, params.getColumnPos(1));
1441 assertEquals("10 key max 5 L1 [3]", 2, params.getColumnPos(2));
1442 assertEquals("10 key max 5 L1 [4]", 3, params.getColumnPos(3));
1443 assertEquals("10 key max 5 L1 [5]", 4, params.getColumnPos(4));
1444 assertEquals("10 key max 5 L1 [6]", 0, params.getColumnPos(5));
1445 assertEquals("10 key max 5 L1 [7]", 1, params.getColumnPos(6));
1446 assertEquals("10 key max 5 L1 [8]", 2, params.getColumnPos(7));
1447 assertEquals("10 key max 5 L1 [9]", 3, params.getColumnPos(8));
1448 assertEquals("10 key max 5 L1 [A]", 4, params.getColumnPos(9));
1449 assertEquals("10 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
1450 assertEquals("10 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001451 }
1452
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001453 // |___ [8] [6] [7] [9] [A]
1454 // |___ [3] [1] [2] [4] [5]
1455 public void testLayout10KeyMax5L2() {
1456 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L2);
1457 assertEquals("10 key max 5 L2 columns", 5, params.mNumColumns);
1458 assertEquals("10 key max 5 L2 rows", 2, params.mNumRows);
1459 assertEquals("10 key max 5 L2 left", 1, params.mLeftKeys);
1460 assertEquals("10 key max 5 L2 right", 4, params.mRightKeys);
1461 assertEquals("10 key max 5 L2 [1]", 0, params.getColumnPos(0));
1462 assertEquals("10 key max 5 L2 [2]", 1, params.getColumnPos(1));
1463 assertEquals("10 key max 5 L2 [3]", -1, params.getColumnPos(2));
1464 assertEquals("10 key max 5 L2 [4]", 2, params.getColumnPos(3));
1465 assertEquals("10 key max 5 L2 [5]", 3, params.getColumnPos(4));
1466 assertEquals("10 key max 5 L2 [6]", 0, params.getColumnPos(5));
1467 assertEquals("10 key max 5 L2 [7]", 1, params.getColumnPos(6));
1468 assertEquals("10 key max 5 L2 [8]", -1, params.getColumnPos(7));
1469 assertEquals("10 key max 5 L2 [9]", 2, params.getColumnPos(8));
1470 assertEquals("10 key max 5 L2 [A]", 3, params.getColumnPos(9));
1471 assertEquals("10 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
1472 assertEquals("10 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001473 }
1474
1475 // [A] [9] [8] [7] [6]|
1476 // [5] [4] [3] [2] [1]|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001477 public void testLayout10KeyMax5R0() {
1478 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R0);
1479 assertEquals("10 key max 5 R0 columns", 5, params.mNumColumns);
1480 assertEquals("10 key max 5 R0 rows", 2, params.mNumRows);
1481 assertEquals("10 key max 5 R0 left", 4, params.mLeftKeys);
1482 assertEquals("10 key max 5 R0 right", 1, params.mRightKeys);
1483 assertEquals("10 key max 5 R0 [1]", 0, params.getColumnPos(0));
1484 assertEquals("10 key max 5 R0 [2]", -1, params.getColumnPos(1));
1485 assertEquals("10 key max 5 R0 [3]", -2, params.getColumnPos(2));
1486 assertEquals("10 key max 5 R0 [4]", -3, params.getColumnPos(3));
1487 assertEquals("10 key max 5 R0 [5]", -4, params.getColumnPos(4));
1488 assertEquals("10 key max 5 R0 [6]", 0, params.getColumnPos(5));
1489 assertEquals("10 key max 5 R0 [7]", -1, params.getColumnPos(6));
1490 assertEquals("10 key max 5 R0 [8]", -2, params.getColumnPos(7));
1491 assertEquals("10 key max 5 R0 [9]", -3, params.getColumnPos(8));
1492 assertEquals("10 key max 5 R0 [A]", -4, params.getColumnPos(9));
1493 assertEquals("10 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
1494 assertEquals("10 key max 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001495 }
1496
1497 // [A] [9] [8] [7] [6] ___|
1498 // [5] [4] [3] [2] [1] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001499 public void testLayout10KeyMax5R1() {
1500 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R1);
1501 assertEquals("10 key max 5 R1 columns", 5, params.mNumColumns);
1502 assertEquals("10 key max 5 R1 rows", 2, params.mNumRows);
1503 assertEquals("10 key max 5 R1 left", 4, params.mLeftKeys);
1504 assertEquals("10 key max 5 R1 right", 1, params.mRightKeys);
1505 assertEquals("10 key max 5 R1 [1]", 0, params.getColumnPos(0));
1506 assertEquals("10 key max 5 R1 [2]", -1, params.getColumnPos(1));
1507 assertEquals("10 key max 5 R1 [3]", -2, params.getColumnPos(2));
1508 assertEquals("10 key max 5 R1 [4]", -3, params.getColumnPos(3));
1509 assertEquals("10 key max 5 R1 [5]", -4, params.getColumnPos(4));
1510 assertEquals("10 key max 5 R1 [6]", 0, params.getColumnPos(5));
1511 assertEquals("10 key max 5 R1 [7]", -1, params.getColumnPos(6));
1512 assertEquals("10 key max 5 R1 [8]", -2, params.getColumnPos(7));
1513 assertEquals("10 key max 5 R1 [9]", -3, params.getColumnPos(8));
1514 assertEquals("10 key max 5 R1 [A]", -4, params.getColumnPos(9));
1515 assertEquals("10 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
1516 assertEquals("10 key max 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001517 }
1518
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001519 // [A] [9] [8] [6] [7] ___|
1520 // [5] [4] [3] [1] [2] ___|
1521 public void testLayout10KeyMax5R2() {
1522 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R2);
1523 assertEquals("10 key max 5 R2 columns", 5, params.mNumColumns);
1524 assertEquals("10 key max 5 R2 rows", 2, params.mNumRows);
1525 assertEquals("10 key max 5 R2 left", 3, params.mLeftKeys);
1526 assertEquals("10 key max 5 R2 right", 2, params.mRightKeys);
1527 assertEquals("10 key max 5 R2 [1]", 0, params.getColumnPos(0));
1528 assertEquals("10 key max 5 R2 [2]", 1, params.getColumnPos(1));
1529 assertEquals("10 key max 5 R2 [3]", -1, params.getColumnPos(2));
1530 assertEquals("10 key max 5 R2 [4]", -2, params.getColumnPos(3));
1531 assertEquals("10 key max 5 R2 [5]", -3, params.getColumnPos(4));
1532 assertEquals("10 key max 5 R2 [6]", 0, params.getColumnPos(5));
1533 assertEquals("10 key max 5 R2 [7]", 1, params.getColumnPos(6));
1534 assertEquals("10 key max 5 R2 [8]", -1, params.getColumnPos(7));
1535 assertEquals("10 key max 5 R2 [9]", -2, params.getColumnPos(8));
1536 assertEquals("10 key max 5 R2 [A]", -3, params.getColumnPos(9));
1537 assertEquals("10 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
1538 assertEquals("10 key max 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001539 }
1540
1541 // [B] [9] [A]
1542 // [7] [5] [6] [8]
1543 // [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001544 public void testLayout11KeyMax5M0() {
1545 MoreKeysKeyboardParams params = createParams(11, 5, XPOS_M0);
1546 assertEquals("11 key max 5 M0 columns", 4, params.mNumColumns);
1547 assertEquals("11 key max 5 M0 rows", 3, params.mNumRows);
1548 assertEquals("11 key max 5 M0 left", 1, params.mLeftKeys);
1549 assertEquals("11 key max 5 M0 right", 3, params.mRightKeys);
1550 assertEquals("11 key max 5 M0 [1]", 0, params.getColumnPos(0));
1551 assertEquals("11 key max 5 M0 [2]", 1, params.getColumnPos(1));
1552 assertEquals("11 key max 5 M0 [3]", -1, params.getColumnPos(2));
1553 assertEquals("11 key max 5 M0 [4]", 2, params.getColumnPos(3));
1554 assertEquals("11 key max 5 M0 [5]", 0, params.getColumnPos(4));
1555 assertEquals("11 key max 5 M0 [6]", 1, params.getColumnPos(5));
1556 assertEquals("11 key max 5 M0 [7]", -1, params.getColumnPos(6));
1557 assertEquals("11 key max 5 M0 [8]", 2, params.getColumnPos(7));
1558 assertEquals("11 key max 5 M0 [9]", 0, params.getColumnPos(8));
1559 assertEquals("11 key max 5 M0 [A]", 1, params.getColumnPos(9));
1560 assertEquals("11 key max 5 M0 [B]", -1, params.getColumnPos(10));
1561 assertEquals("11 key max 5 M0 adjust", 1, params.mTopRowAdjustment);
1562 assertEquals("11 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001563 }
1564
1565 // [B] [9] [A] [C]
1566 // [7] [5] [6] [8]
1567 // [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001568 public void testLayout12KeyMax5M0() {
1569 MoreKeysKeyboardParams params = createParams(12, 5, XPOS_M0);
1570 assertEquals("12 key max 5 M0 columns", 4, params.mNumColumns);
1571 assertEquals("12 key max 5 M0 rows", 3, params.mNumRows);
1572 assertEquals("12 key max 5 M0 left", 1, params.mLeftKeys);
1573 assertEquals("12 key max 5 M0 right", 3, params.mRightKeys);
1574 assertEquals("12 key max 5 M0 [1]", 0, params.getColumnPos(0));
1575 assertEquals("12 key max 5 M0 [2]", 1, params.getColumnPos(1));
1576 assertEquals("12 key max 5 M0 [3]", -1, params.getColumnPos(2));
1577 assertEquals("12 key max 5 M0 [4]", 2, params.getColumnPos(3));
1578 assertEquals("12 key max 5 M0 [5]", 0, params.getColumnPos(4));
1579 assertEquals("12 key max 5 M0 [6]", 1, params.getColumnPos(5));
1580 assertEquals("12 key max 5 M0 [7]", -1, params.getColumnPos(6));
1581 assertEquals("12 key max 5 M0 [8]", 2, params.getColumnPos(7));
1582 assertEquals("12 key max 5 M0 [9]", 0, params.getColumnPos(8));
1583 assertEquals("12 key max 5 M0 [A]", 1, params.getColumnPos(9));
1584 assertEquals("12 key max 5 M0 [B]", -1, params.getColumnPos(10));
1585 assertEquals("12 key max 5 M0 [C]", 2, params.getColumnPos(11));
1586 assertEquals("12 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
1587 assertEquals("12 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001588 }
1589
1590
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001591 // [D] [B] [C]
1592 // [A] [8] [6] [7] [9]
1593 // [5] [3] [1] [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001594 public void testLayout13KeyMax5M0() {
1595 MoreKeysKeyboardParams params = createParams(13, 5, XPOS_M0);
1596 assertEquals("13 key max 5 M0 columns", 5, params.mNumColumns);
1597 assertEquals("13 key max 5 M0 rows", 3, params.mNumRows);
1598 assertEquals("13 key max 5 M0 left", 2, params.mLeftKeys);
1599 assertEquals("13 key max 5 M0 right", 3, params.mRightKeys);
1600 assertEquals("13 key max 5 M0 [1]", 0, params.getColumnPos(0));
1601 assertEquals("13 key max 5 M0 [2]", 1, params.getColumnPos(1));
1602 assertEquals("13 key max 5 M0 [3]", -1, params.getColumnPos(2));
1603 assertEquals("13 key max 5 M0 [4]", 2, params.getColumnPos(3));
1604 assertEquals("13 key max 5 M0 [5]", -2, params.getColumnPos(4));
1605 assertEquals("13 key max 5 M0 [6]", 0, params.getColumnPos(5));
1606 assertEquals("13 key max 5 M0 [7]", 1, params.getColumnPos(6));
1607 assertEquals("13 key max 5 M0 [8]", -1, params.getColumnPos(7));
1608 assertEquals("13 key max 5 M0 [9]", 2, params.getColumnPos(8));
1609 assertEquals("13 key max 5 M0 [A]", -2, params.getColumnPos(9));
1610 assertEquals("13 key max 5 M0 [B]", 0, params.getColumnPos(10));
1611 assertEquals("13 key max 5 M0 [C]", 1, params.getColumnPos(11));
1612 assertEquals("13 key max 5 M0 [D]", -1, params.getColumnPos(12));
1613 assertEquals("13 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
1614 assertEquals("13 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001615 }
1616}