blob: 90bbf7effd6a938219159e5e9cc4af91fdcc0e12 [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. Takaokaaeeed752012-02-13 14:34:09 -080064 // "<1>" is the default key.
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +090065
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -080066 // <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -080073 assertEquals("1 key max 5 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090074 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -080078 // |<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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -080085 assertEquals("1 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090086 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -080090 // |___ <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -080097 assertEquals("1 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +090098 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800102 // |___ ___ <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800109 assertEquals("1 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900110 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800114 // <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800121 assertEquals("1 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900122 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800126 // <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800133 assertEquals("1 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900134 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800138 // <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800145 assertEquals("1 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900146 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800150 // <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800157 assertEquals("2 key max 5 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900158 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800163 // |<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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800170 assertEquals("2 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900171 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800176 // |___ <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800183 assertEquals("2 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900184 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800189 // |___ ___ <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800196 assertEquals("2 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900197 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800202 // [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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800209 assertEquals("2 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900210 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800215 // [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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800222 assertEquals("2 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900223 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. Takaokaaeeed752012-02-13 14:34:09 -0800228 // <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900229 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800235 assertEquals("2 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900236 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800241 // [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. Takaokaaeeed752012-02-13 14:34:09 -0800244 assertEquals("3 key max 5 M0 columns", 3, params.mNumColumns);
245 assertEquals("3 key max 5 M0 rows", 1, params.mNumRows);
246 assertEquals("3 key max 5 M0 left", 1, params.mLeftKeys);
247 assertEquals("3 key max 5 M0 right", 2, params.mRightKeys);
248 assertEquals("3 key max 5 M0 <1>", 0, params.getColumnPos(0));
249 assertEquals("3 key max 5 M0 [2]", 1, params.getColumnPos(1));
250 assertEquals("3 key max 5 M0 [3]", -1, params.getColumnPos(2));
251 assertEquals("3 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
252 assertEquals("3 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900253 }
254
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800255 // |<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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800262 assertEquals("3 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900263 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800269 // |___ <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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800276 assertEquals("3 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900277 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. Takaokaaeeed752012-02-13 14:34:09 -0800283 // |___ [3] <1> [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900284 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800290 assertEquals("3 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900291 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800297 // [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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800304 assertEquals("3 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900305 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800311 // [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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800318 assertEquals("3 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900319 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. Takaokaaeeed752012-02-13 14:34:09 -0800325 // [3] <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900326 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800332 assertEquals("3 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900333 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
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800339 // [3]
340 // <1> [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900341 public void testLayout3KeyMax2M0() {
342 MoreKeysKeyboardParams params = createParams(3, 2, XPOS_M0);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800343 assertEquals("3 key max 2 M0 columns", 2, params.mNumColumns);
344 assertEquals("3 key max 2 M0 rows", 2, params.mNumRows);
345 assertEquals("3 key max 2 M0 left", 0, params.mLeftKeys);
346 assertEquals("3 key max 2 M0 right", 2, params.mRightKeys);
347 assertEquals("3 key max 2 M0 <1>", 0, params.getColumnPos(0));
348 assertEquals("3 key max 2 M0 [2]", 1, params.getColumnPos(1));
349 assertEquals("3 key max 2 M0 [3]", 0, params.getColumnPos(2));
350 assertEquals("3 key max 2 M0 adjust", 0, params.mTopRowAdjustment);
351 assertEquals("3 key max 2 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900352 }
353
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800354 // |[3]
355 // |<1> [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900356 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800362 assertEquals("3 key max 2 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900363 assertEquals("3 key max 2 L0 [2]", 1, params.getColumnPos(1));
364 assertEquals("3 key max 2 L0 [3]", 0, params.getColumnPos(2));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800365 assertEquals("3 key max 2 L0 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900366 assertEquals("3 key max 2 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
367 }
368
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800369 // |___ [3]
370 // |___ <1> [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900371 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800377 assertEquals("3 key max 2 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900378 assertEquals("3 key max 2 L1 [2]", 1, params.getColumnPos(1));
379 assertEquals("3 key max 2 L1 [3]", 0, params.getColumnPos(2));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800380 assertEquals("3 key max 2 L1 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900381 assertEquals("3 key max 2 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
382 }
383
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800384 // | [3]
385 // |___ ___ <1> [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900386 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800392 assertEquals("3 key max 2 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900393 assertEquals("3 key max 2 L2 [2]", 1, params.getColumnPos(1));
394 assertEquals("3 key max 2 L2 [3]", 0, params.getColumnPos(2));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800395 assertEquals("3 key max 2 L2 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900396 assertEquals("3 key max 2 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
397 }
398
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800399 // [3]|
400 // [2] <1>|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900401 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800407 assertEquals("3 key max 2 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900408 assertEquals("3 key max 2 R0 [2]", -1, params.getColumnPos(1));
409 assertEquals("3 key max 2 R0 [3]", 0, params.getColumnPos(2));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800410 assertEquals("3 key max 2 R0 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900411 assertEquals("3 key max 2 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
412 }
413
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800414 // [3] |
415 // [2] <1> ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900416 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800422 assertEquals("3 key max 2 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900423 assertEquals("3 key max 2 R1 [2]", -1, params.getColumnPos(1));
424 assertEquals("3 key max 2 R1 [3]", 0, params.getColumnPos(2));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800425 assertEquals("3 key max 2 R1 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900426 assertEquals("3 key max 2 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
427 }
428
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800429 // [3] |
430 // <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900431 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);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800437 assertEquals("3 key max 2 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900438 assertEquals("3 key max 2 R2 [2]", 1, params.getColumnPos(1));
439 assertEquals("3 key max 2 R2 [3]", 0, params.getColumnPos(2));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800440 assertEquals("3 key max 2 R2 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900441 assertEquals("3 key max 2 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900442 }
443
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800444 // [3] [4]
445 // <1> [2]
446 public void testLayout4KeyMax3M0() {
447 MoreKeysKeyboardParams params = createParams(4, 3, XPOS_M0);
448 assertEquals("4 key max 3 M0 columns", 2, params.mNumColumns);
449 assertEquals("4 key max 3 M0 rows", 2, params.mNumRows);
450 assertEquals("4 key max 3 M0 left", 0, params.mLeftKeys);
451 assertEquals("4 key max 3 M0 right", 2, params.mRightKeys);
452 assertEquals("4 key max 3 M0 <1>", 0, params.getColumnPos(0));
453 assertEquals("4 key max 3 M0 [2]", 1, params.getColumnPos(1));
454 assertEquals("4 key max 3 M0 [3]", 0, params.getColumnPos(2));
455 assertEquals("4 key max 3 M0 [4]", 1, params.getColumnPos(3));
456 assertEquals("4 key max 3 M0 adjust", 0, params.mTopRowAdjustment);
457 assertEquals("4 key max 3 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900458 }
459
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800460 // |[3] [4]
461 // |<1> [2]
462 public void testLayout4KeyMax3L0() {
463 MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L0);
464 assertEquals("4 key max 3 L0 columns", 2, params.mNumColumns);
465 assertEquals("4 key max 3 L0 rows", 2, params.mNumRows);
466 assertEquals("4 key max 3 L0 left", 0, params.mLeftKeys);
467 assertEquals("4 key max 3 L0 right", 2, params.mRightKeys);
468 assertEquals("4 key max 3 L0 <1>", 0, params.getColumnPos(0));
469 assertEquals("4 key max 3 L0 [2]", 1, params.getColumnPos(1));
470 assertEquals("4 key max 3 L0 [3]", 0, params.getColumnPos(2));
471 assertEquals("4 key max 3 L0 [4]", 1, params.getColumnPos(3));
472 assertEquals("4 key max 3 L0 adjust", 0, params.mTopRowAdjustment);
473 assertEquals("4 key max 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
474 }
475
476 // |___ [3] [4]
477 // |___ <1> [2]
478 public void testLayout4KeyMax3L1() {
479 MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L1);
480 assertEquals("4 key max 3 L1 columns", 2, params.mNumColumns);
481 assertEquals("4 key max 3 L1 rows", 2, params.mNumRows);
482 assertEquals("4 key max 3 L1 left", 0, params.mLeftKeys);
483 assertEquals("4 key max 3 L1 right", 2, params.mRightKeys);
484 assertEquals("4 key max 3 L1 <1>", 0, params.getColumnPos(0));
485 assertEquals("4 key max 3 L1 [2]", 1, params.getColumnPos(1));
486 assertEquals("4 key max 3 L1 [3]", 0, params.getColumnPos(2));
487 assertEquals("4 key max 3 L1 [4]", 1, params.getColumnPos(3));
488 assertEquals("4 key max 3 L1 adjust", 0, params.mTopRowAdjustment);
489 assertEquals("4 key max 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
490 }
491
492 // |___ ___ [3] [4]
493 // |___ ___ <1> [2]
494 public void testLayout4KeyMax3L2() {
495 MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L2);
496 assertEquals("4 key max 3 L2 columns", 2, params.mNumColumns);
497 assertEquals("4 key max 3 L2 rows", 2, params.mNumRows);
498 assertEquals("4 key max 3 L2 left", 0, params.mLeftKeys);
499 assertEquals("4 key max 3 L2 right", 2, params.mRightKeys);
500 assertEquals("4 key max 3 L2 <1>", 0, params.getColumnPos(0));
501 assertEquals("4 key max 3 L2 [2]", 1, params.getColumnPos(1));
502 assertEquals("4 key max 3 L2 [3]", 0, params.getColumnPos(2));
503 assertEquals("4 key max 3 L2 [4]", 1, params.getColumnPos(3));
504 assertEquals("4 key max 3 L2 adjust", 0, params.mTopRowAdjustment);
505 assertEquals("4 key max 3 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
506 }
507
508 // [4] [3]|
509 // [2] <1>|
510 public void testLayout4KeyMax3R0() {
511 MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R0);
512 assertEquals("4 key max 3 R0 columns", 2, params.mNumColumns);
513 assertEquals("4 key max 3 R0 rows", 2, params.mNumRows);
514 assertEquals("4 key max 3 R0 left", 1, params.mLeftKeys);
515 assertEquals("4 key max 3 R0 right", 1, params.mRightKeys);
516 assertEquals("4 key max 3 R0 <1>", 0, params.getColumnPos(0));
517 assertEquals("4 key max 3 R0 [2]", -1, params.getColumnPos(1));
518 assertEquals("4 key max 3 R0 [3]", 0, params.getColumnPos(2));
519 assertEquals("4 key max 3 R0 [4]", -1, params.getColumnPos(3));
520 assertEquals("4 key max 3 R0 adjust", 0, params.mTopRowAdjustment);
521 assertEquals("4 key max 3 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
522 }
523
524 // [4] [3] ___|
525 // [2] <1> ___|
526 public void testLayout4KeyMax3R1() {
527 MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R1);
528 assertEquals("4 key max 3 R1 columns", 2, params.mNumColumns);
529 assertEquals("4 key max 3 R1 rows", 2, params.mNumRows);
530 assertEquals("4 key max 3 R1 left", 1, params.mLeftKeys);
531 assertEquals("4 key max 3 R1 right", 1, params.mRightKeys);
532 assertEquals("4 key max 3 R1 <1>", 0, params.getColumnPos(0));
533 assertEquals("4 key max 3 R1 [2]", -1, params.getColumnPos(1));
534 assertEquals("4 key max 3 R1 [3]", 0, params.getColumnPos(2));
535 assertEquals("4 key max 3 R1 [4]", -1, params.getColumnPos(3));
536 assertEquals("4 key max 3 R1 adjust", 0, params.mTopRowAdjustment);
537 assertEquals("4 key max 3 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
538 }
539
540 // [3] [4] ___|
541 // <1> [2] ___|
542 public void testLayout4KeyMax3R2() {
543 MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R2);
544 assertEquals("4 key max 3 R2 columns", 2, params.mNumColumns);
545 assertEquals("4 key max 3 R2 rows", 2, params.mNumRows);
546 assertEquals("4 key max 3 R2 left", 0, params.mLeftKeys);
547 assertEquals("4 key max 3 R2 right", 2, params.mRightKeys);
548 assertEquals("4 key max 3 R2 <1>", 0, params.getColumnPos(0));
549 assertEquals("4 key max 3 R2 [2]", 1, params.getColumnPos(1));
550 assertEquals("4 key max 3 R2 [3]", 0, params.getColumnPos(2));
551 assertEquals("4 key max 3 R2 [4]", 1, params.getColumnPos(3));
552 assertEquals("4 key max 3 R2 adjust", 0, params.mTopRowAdjustment);
553 assertEquals("4 key max 3 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
554 }
555
556 // [3] <1> [2] [4]
557 public void testLayout4KeyMax4M0() {
558 MoreKeysKeyboardParams params = createParams(4, 4, XPOS_M0);
559 assertEquals("4 key max 4 M0 columns", 4, params.mNumColumns);
560 assertEquals("4 key max 4 M0 rows", 1, params.mNumRows);
561 assertEquals("4 key max 4 M0 left", 1, params.mLeftKeys);
562 assertEquals("4 key max 4 M0 right", 3, params.mRightKeys);
563 assertEquals("4 key max 4 M0 <1>", 0, params.getColumnPos(0));
564 assertEquals("4 key max 4 M0 [2]", 1, params.getColumnPos(1));
565 assertEquals("4 key max 4 M0 [3]", -1, params.getColumnPos(2));
566 assertEquals("4 key max 4 M0 [4]", 2, params.getColumnPos(3));
567 assertEquals("4 key max 4 M0 adjust", 0, params.mTopRowAdjustment);
568 assertEquals("4 key max 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
569 }
570
571 // |<1> [2] [3] [4]
572 public void testLayout4KeyMax4L0() {
573 MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L0);
574 assertEquals("4 key max 4 L0 columns", 4, params.mNumColumns);
575 assertEquals("4 key max 4 L0 rows", 1, params.mNumRows);
576 assertEquals("4 key max 4 L0 left", 0, params.mLeftKeys);
577 assertEquals("4 key max 4 L0 right", 4, params.mRightKeys);
578 assertEquals("4 key max 4 L0 <1>", 0, params.getColumnPos(0));
579 assertEquals("4 key max 4 L0 [2]", 1, params.getColumnPos(1));
580 assertEquals("4 key max 4 L0 [3]", 2, params.getColumnPos(2));
581 assertEquals("4 key max 4 L0 [4]", 3, params.getColumnPos(3));
582 assertEquals("4 key max 4 L0 adjust", 0, params.mTopRowAdjustment);
583 assertEquals("4 key max 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
584 }
585
586 // |___ <1> [2] [3] [4]
587 public void testLayout4KeyMax4L1() {
588 MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L1);
589 assertEquals("4 key max 4 L1 columns", 4, params.mNumColumns);
590 assertEquals("4 key max 4 L1 rows", 1, params.mNumRows);
591 assertEquals("4 key max 4 L1 left", 0, params.mLeftKeys);
592 assertEquals("4 key max 4 L1 right", 4, params.mRightKeys);
593 assertEquals("4 key max 4 L1 <1>", 0, params.getColumnPos(0));
594 assertEquals("4 key max 4 L1 [2]", 1, params.getColumnPos(1));
595 assertEquals("4 key max 4 L1 [3]", 2, params.getColumnPos(2));
596 assertEquals("4 key max 4 L1 [4]", 3, params.getColumnPos(3));
597 assertEquals("4 key max 4 L1 adjust", 0, params.mTopRowAdjustment);
598 assertEquals("4 key max 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
599 }
600
601 // |___ [3] <1> [2] [4]
602 public void testLayout4KeyMax4L2() {
603 MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L2);
604 assertEquals("4 key max 4 L2 columns", 4, params.mNumColumns);
605 assertEquals("4 key max 4 L2 rows", 1, params.mNumRows);
606 assertEquals("4 key max 4 L2 left", 1, params.mLeftKeys);
607 assertEquals("4 key max 4 L2 right", 3, params.mRightKeys);
608 assertEquals("4 key max 4 L2 <1>", 0, params.getColumnPos(0));
609 assertEquals("4 key max 4 L2 [2]", 1, params.getColumnPos(1));
610 assertEquals("4 key max 4 L2 [3]", -1, params.getColumnPos(2));
611 assertEquals("4 key max 4 L2 [4]", 2, params.getColumnPos(3));
612 assertEquals("4 key max 4 L2 adjust", 0, params.mTopRowAdjustment);
613 assertEquals("4 key max 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
614 }
615
616 // [4] [3] [2] <1>|
617 public void testLayout4KeyMax4R0() {
618 MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R0);
619 assertEquals("4 key max 4 R0 columns", 4, params.mNumColumns);
620 assertEquals("4 key max 4 R0 rows", 1, params.mNumRows);
621 assertEquals("4 key max 4 R0 left", 3, params.mLeftKeys);
622 assertEquals("4 key max 4 R0 right", 1, params.mRightKeys);
623 assertEquals("4 key max 4 R0 <1>", 0, params.getColumnPos(0));
624 assertEquals("4 key max 4 R0 [2]", -1, params.getColumnPos(1));
625 assertEquals("4 key max 4 R0 [3]", -2, params.getColumnPos(2));
626 assertEquals("4 key max 4 R0 [4]", -3, params.getColumnPos(3));
627 assertEquals("4 key max 4 R0 adjust", 0, params.mTopRowAdjustment);
628 assertEquals("4 key max 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
629 }
630
631 // [4] [3] [2] <1> ___|
632 public void testLayout4KeyMax4R1() {
633 MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R1);
634 assertEquals("4 key max 4 R1 columns", 4, params.mNumColumns);
635 assertEquals("4 key max 4 R1 rows", 1, params.mNumRows);
636 assertEquals("4 key max 4 R1 left", 3, params.mLeftKeys);
637 assertEquals("4 key max 4 R1 right", 1, params.mRightKeys);
638 assertEquals("4 key max 4 R1 <1>", 0, params.getColumnPos(0));
639 assertEquals("4 key max 4 R1 [2]", -1, params.getColumnPos(1));
640 assertEquals("4 key max 4 R1 [3]", -2, params.getColumnPos(2));
641 assertEquals("4 key max 4 R1 [4]", -3, params.getColumnPos(3));
642 assertEquals("4 key max 4 R1 adjust", 0, params.mTopRowAdjustment);
643 assertEquals("4 key max 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
644 }
645
646 // [4] [3] <1> [2] ___|
647 public void testLayout4KeyMax4R2() {
648 MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R2);
649 assertEquals("4 key max 4 R2 columns", 4, params.mNumColumns);
650 assertEquals("4 key max 4 R2 rows", 1, params.mNumRows);
651 assertEquals("4 key max 4 R2 left", 2, params.mLeftKeys);
652 assertEquals("4 key max 4 R2 right", 2, params.mRightKeys);
653 assertEquals("4 key max 4 R2 <1>", 0, params.getColumnPos(0));
654 assertEquals("4 key max 4 R2 [2]", 1, params.getColumnPos(1));
655 assertEquals("4 key max 4 R2 [3]", -1, params.getColumnPos(2));
656 assertEquals("4 key max 4 R2 [4]", -2, params.getColumnPos(3));
657 assertEquals("4 key max 4 R2 adjust", 0, params.mTopRowAdjustment);
658 assertEquals("4 key max 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
659 }
660
661 // [3] <1> [2] [4]
662 public void testLayout4KeyMax5M0() {
663 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_M0);
664 assertEquals("4 key max 5 M0 columns", 4, params.mNumColumns);
665 assertEquals("4 key max 5 M0 rows", 1, params.mNumRows);
666 assertEquals("4 key max 5 M0 left", 1, params.mLeftKeys);
667 assertEquals("4 key max 5 M0 right", 3, params.mRightKeys);
668 assertEquals("4 key max 5 M0 <1>", 0, params.getColumnPos(0));
669 assertEquals("4 key max 5 M0 [2]", 1, params.getColumnPos(1));
670 assertEquals("4 key max 5 M0 [3]", -1, params.getColumnPos(2));
671 assertEquals("4 key max 5 M0 [4]", 2, params.getColumnPos(3));
672 assertEquals("4 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
673 assertEquals("4 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
674 }
675
676 // |<1> [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900677 public void testLayout4KeyMax5L0() {
678 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L0);
679 assertEquals("4 key max 5 L0 columns", 4, params.mNumColumns);
680 assertEquals("4 key max 5 L0 rows", 1, params.mNumRows);
681 assertEquals("4 key max 5 L0 left", 0, params.mLeftKeys);
682 assertEquals("4 key max 5 L0 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800683 assertEquals("4 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900684 assertEquals("4 key max 5 L0 [2]", 1, params.getColumnPos(1));
685 assertEquals("4 key max 5 L0 [3]", 2, params.getColumnPos(2));
686 assertEquals("4 key max 5 L0 [4]", 3, params.getColumnPos(3));
687 assertEquals("4 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
688 assertEquals("4 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900689 }
690
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800691 // |___ <1> [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900692 public void testLayout4KeyMax5L1() {
693 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L1);
694 assertEquals("4 key max 5 L1 columns", 4, params.mNumColumns);
695 assertEquals("4 key max 5 L1 rows", 1, params.mNumRows);
696 assertEquals("4 key max 5 L1 left", 0, params.mLeftKeys);
697 assertEquals("4 key max 5 L1 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800698 assertEquals("4 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900699 assertEquals("4 key max 5 L1 [2]", 1, params.getColumnPos(1));
700 assertEquals("4 key max 5 L1 [3]", 2, params.getColumnPos(2));
701 assertEquals("4 key max 5 L1 [4]", 3, params.getColumnPos(3));
702 assertEquals("4 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
703 assertEquals("4 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900704 }
705
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800706 // |___ [3] <1> [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900707 public void testLayout4KeyMax5L2() {
708 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L2);
709 assertEquals("4 key max 5 L2 columns", 4, params.mNumColumns);
710 assertEquals("4 key max 5 L2 rows", 1, params.mNumRows);
711 assertEquals("4 key max 5 L2 left", 1, params.mLeftKeys);
712 assertEquals("4 key max 5 L2 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800713 assertEquals("4 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900714 assertEquals("4 key max 5 L2 [2]", 1, params.getColumnPos(1));
715 assertEquals("4 key max 5 L2 [3]", -1, params.getColumnPos(2));
716 assertEquals("4 key max 5 L2 [4]", 2, params.getColumnPos(3));
717 assertEquals("4 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
718 assertEquals("4 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900719 }
720
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800721 // [4] [3] [2] <1>|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900722 public void testLayout4KeyMax5R0() {
723 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R0);
724 assertEquals("4 key max 5 R0 columns", 4, params.mNumColumns);
725 assertEquals("4 key max 5 R0 rows", 1, params.mNumRows);
726 assertEquals("4 key max 5 R0 left", 3, params.mLeftKeys);
727 assertEquals("4 key max 5 R0 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800728 assertEquals("4 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900729 assertEquals("4 key max 5 R0 [2]", -1, params.getColumnPos(1));
730 assertEquals("4 key max 5 R0 [3]", -2, params.getColumnPos(2));
731 assertEquals("4 key max 5 R0 [4]", -3, params.getColumnPos(3));
732 assertEquals("4 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
733 assertEquals("4 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900734 }
735
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800736 // [4] [3] [2] <1> ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900737 public void testLayout4KeyMax5R1() {
738 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R1);
739 assertEquals("4 key max 5 R1 columns", 4, params.mNumColumns);
740 assertEquals("4 key max 5 R1 rows", 1, params.mNumRows);
741 assertEquals("4 key max 5 R1 left", 3, params.mLeftKeys);
742 assertEquals("4 key max 5 R1 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800743 assertEquals("4 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900744 assertEquals("4 key max 5 R1 [2]", -1, params.getColumnPos(1));
745 assertEquals("4 key max 5 R1 [3]", -2, params.getColumnPos(2));
746 assertEquals("4 key max 5 R1 [4]", -3, params.getColumnPos(3));
747 assertEquals("4 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
748 assertEquals("4 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +0900749 }
750
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800751 // [4] [3] <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900752 public void testLayout4KeyMax5R2() {
753 MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R2);
754 assertEquals("4 key max 5 R2 columns", 4, params.mNumColumns);
755 assertEquals("4 key max 5 R2 rows", 1, params.mNumRows);
756 assertEquals("4 key max 5 R2 left", 2, params.mLeftKeys);
757 assertEquals("4 key max 5 R2 right", 2, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800758 assertEquals("4 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +0900759 assertEquals("4 key max 5 R2 [2]", 1, params.getColumnPos(1));
760 assertEquals("4 key max 5 R2 [3]", -1, params.getColumnPos(2));
761 assertEquals("4 key max 5 R2 [4]", -2, params.getColumnPos(3));
762 assertEquals("4 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
763 assertEquals("4 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900764 }
765
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800766 // [4] [5]
767 // [3] <1> [2]
768 public void testLayout5KeyMax3M0() {
769 MoreKeysKeyboardParams params = createParams(5, 3, XPOS_M0);
770 assertEquals("5 key max 3 M0 columns", 3, params.mNumColumns);
771 assertEquals("5 key max 3 M0 rows", 2, params.mNumRows);
772 assertEquals("5 key max 3 M0 left", 1, params.mLeftKeys);
773 assertEquals("5 key max 3 M0 right", 2, params.mRightKeys);
774 assertEquals("5 key max 3 M0 <1>", 0, params.getColumnPos(0));
775 assertEquals("5 key max 3 M0 [2]", 1, params.getColumnPos(1));
776 assertEquals("5 key max 3 M0 [3]", -1, params.getColumnPos(2));
777 assertEquals("5 key max 3 M0 [4]", 0, params.getColumnPos(3));
778 assertEquals("5 key max 3 M0 [5]", 1, params.getColumnPos(4));
779 assertEquals("5 key max 3 M0 adjust", -1, params.mTopRowAdjustment);
780 assertEquals("5 key max 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +0900781 }
782
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -0800783 // |[4] [5]
784 // |<1> [2] [3]
785 public void testLayout5KeyMax3L0() {
786 MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L0);
787 assertEquals("5 key max 3 L0 columns", 3, params.mNumColumns);
788 assertEquals("5 key max 3 L0 rows", 2, params.mNumRows);
789 assertEquals("5 key max 3 L0 left", 0, params.mLeftKeys);
790 assertEquals("5 key max 3 L0 right", 3, params.mRightKeys);
791 assertEquals("5 key max 3 L0 <1>", 0, params.getColumnPos(0));
792 assertEquals("5 key max 3 L0 [2]", 1, params.getColumnPos(1));
793 assertEquals("5 key max 3 L0 [3]", 2, params.getColumnPos(2));
794 assertEquals("5 key max 3 L0 [4]", 0, params.getColumnPos(3));
795 assertEquals("5 key max 3 L0 [5]", 1, params.getColumnPos(4));
796 assertEquals("5 key max 3 L0 adjust", 0, params.mTopRowAdjustment);
797 assertEquals("5 key max 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
798 }
799
800 // |___ [4] [5]
801 // |___ <1> [2] [3]
802 public void testLayout5KeyMax3L1() {
803 MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L1);
804 assertEquals("5 key max 3 L1 columns", 3, params.mNumColumns);
805 assertEquals("5 key max 3 L1 rows", 2, params.mNumRows);
806 assertEquals("5 key max 3 L1 left", 0, params.mLeftKeys);
807 assertEquals("5 key max 3 L1 right", 3, params.mRightKeys);
808 assertEquals("5 key max 3 L1 <1>", 0, params.getColumnPos(0));
809 assertEquals("5 key max 3 L1 [2]", 1, params.getColumnPos(1));
810 assertEquals("5 key max 3 L1 [3]", 2, params.getColumnPos(2));
811 assertEquals("5 key max 3 L1 [4]", 0, params.getColumnPos(3));
812 assertEquals("5 key max 3 L1 [5]", 1, params.getColumnPos(4));
813 assertEquals("5 key max 3 L1 adjust", 0, params.mTopRowAdjustment);
814 assertEquals("5 key max 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
815 }
816
817 // |___ [4] [5]
818 // |___ [3] <1> [2]
819 public void testLayout5KeyMax3L2() {
820 MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L2);
821 assertEquals("5 key max 3 L2 columns", 3, params.mNumColumns);
822 assertEquals("5 key max 3 L2 rows", 2, params.mNumRows);
823 assertEquals("5 key max 3 L2 left", 1, params.mLeftKeys);
824 assertEquals("5 key max 3 L2 right", 2, params.mRightKeys);
825 assertEquals("5 key max 3 L2 <1>", 0, params.getColumnPos(0));
826 assertEquals("5 key max 3 L2 [2]", 1, params.getColumnPos(1));
827 assertEquals("5 key max 3 L2 [3]", -1, params.getColumnPos(2));
828 assertEquals("5 key max 3 L2 [4]", 0, params.getColumnPos(3));
829 assertEquals("5 key max 3 L2 [5]", 1, params.getColumnPos(4));
830 assertEquals("5 key max 3 L2 adjust", -1, params.mTopRowAdjustment);
831 assertEquals("5 key max 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
832 }
833
834 // [5] [4]|
835 // [3] [2] <1>|
836 public void testLayout5KeyMax3R0() {
837 MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R0);
838 assertEquals("5 key max 3 R0 columns", 3, params.mNumColumns);
839 assertEquals("5 key max 3 R0 rows", 2, params.mNumRows);
840 assertEquals("5 key max 3 R0 left", 2, params.mLeftKeys);
841 assertEquals("5 key max 3 R0 right", 1, params.mRightKeys);
842 assertEquals("5 key max 3 R0 <1>", 0, params.getColumnPos(0));
843 assertEquals("5 key max 3 R0 [2]", -1, params.getColumnPos(1));
844 assertEquals("5 key max 3 R0 [3]", -2, params.getColumnPos(2));
845 assertEquals("5 key max 3 R0 [4]", 0, params.getColumnPos(3));
846 assertEquals("5 key max 3 R0 [5]", -1, params.getColumnPos(4));
847 assertEquals("5 key max 3 R0 adjust", 0, params.mTopRowAdjustment);
848 assertEquals("5 key max 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
849 }
850
851 // [5] [4] ___|
852 // [3] [2] <1> ___|
853 public void testLayout5KeyMax3R1() {
854 MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R1);
855 assertEquals("5 key max 3 R1 columns", 3, params.mNumColumns);
856 assertEquals("5 key max 3 R1 rows", 2, params.mNumRows);
857 assertEquals("5 key max 3 R1 left", 2, params.mLeftKeys);
858 assertEquals("5 key max 3 R1 right", 1, params.mRightKeys);
859 assertEquals("5 key max 3 R1 <1>", 0, params.getColumnPos(0));
860 assertEquals("5 key max 3 R1 [2]", -1, params.getColumnPos(1));
861 assertEquals("5 key max 3 R1 [3]", -2, params.getColumnPos(2));
862 assertEquals("5 key max 3 R1 [4]", 0, params.getColumnPos(3));
863 assertEquals("5 key max 3 R1 [5]", -1, params.getColumnPos(4));
864 assertEquals("5 key max 3 R1 adjust", 0, params.mTopRowAdjustment);
865 assertEquals("5 key max 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
866 }
867
868 // [4] [5] ___|
869 // [3] <1> [2] ___|
870 public void testLayout5KeyMax3R2() {
871 MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R2);
872 assertEquals("5 key max 3 R2 columns", 3, params.mNumColumns);
873 assertEquals("5 key max 3 R2 rows", 2, params.mNumRows);
874 assertEquals("5 key max 3 R2 left", 1, params.mLeftKeys);
875 assertEquals("5 key max 3 R2 right", 2, params.mRightKeys);
876 assertEquals("5 key max 3 R2 <1>", 0, params.getColumnPos(0));
877 assertEquals("5 key max 3 R2 [2]", 1, params.getColumnPos(1));
878 assertEquals("5 key max 3 R2 [3]", -1, params.getColumnPos(2));
879 assertEquals("5 key max 3 R2 [4]", 0, params.getColumnPos(3));
880 assertEquals("5 key max 3 R2 [5]", 1, params.getColumnPos(4));
881 assertEquals("5 key max 3 R2 adjust", -1, params.mTopRowAdjustment);
882 assertEquals("5 key max 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
883 }
884
885 // [4] [5]
886 // [3] <1> [2]
887 public void testLayout5KeyMax4M0() {
888 MoreKeysKeyboardParams params = createParams(5, 4, XPOS_M0);
889 assertEquals("5 key max 4 M0 columns", 3, params.mNumColumns);
890 assertEquals("5 key max 4 M0 rows", 2, params.mNumRows);
891 assertEquals("5 key max 4 M0 left", 1, params.mLeftKeys);
892 assertEquals("5 key max 4 M0 right", 2, params.mRightKeys);
893 assertEquals("5 key max 4 M0 <1>", 0, params.getColumnPos(0));
894 assertEquals("5 key max 4 M0 [2]", 1, params.getColumnPos(1));
895 assertEquals("5 key max 4 M0 [3]", -1, params.getColumnPos(2));
896 assertEquals("5 key max 4 M0 [4]", 0, params.getColumnPos(3));
897 assertEquals("5 key max 4 M0 [5]", 1, params.getColumnPos(4));
898 assertEquals("5 key max 4 M0 adjust", -1, params.mTopRowAdjustment);
899 assertEquals("5 key max 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
900 }
901
902 // |[4] [5]
903 // |<1> [2] [3]
904 public void testLayout5KeyMax4L0() {
905 MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L0);
906 assertEquals("5 key max 4 L0 columns", 3, params.mNumColumns);
907 assertEquals("5 key max 4 L0 rows", 2, params.mNumRows);
908 assertEquals("5 key max 4 L0 left", 0, params.mLeftKeys);
909 assertEquals("5 key max 4 L0 right", 3, params.mRightKeys);
910 assertEquals("5 key max 4 L0 <1>", 0, params.getColumnPos(0));
911 assertEquals("5 key max 4 L0 [2]", 1, params.getColumnPos(1));
912 assertEquals("5 key max 4 L0 [3]", 2, params.getColumnPos(2));
913 assertEquals("5 key max 4 L0 [4]", 0, params.getColumnPos(3));
914 assertEquals("5 key max 4 L0 [5]", 1, params.getColumnPos(4));
915 assertEquals("5 key max 4 L0 adjust", 0, params.mTopRowAdjustment);
916 assertEquals("5 key max 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
917 }
918
919 // |___ [4] [5]
920 // |___ <1> [2] [3]
921 public void testLayout5KeyMax4L1() {
922 MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L1);
923 assertEquals("5 key max 4 L1 columns", 3, params.mNumColumns);
924 assertEquals("5 key max 4 L1 rows", 2, params.mNumRows);
925 assertEquals("5 key max 4 L1 left", 0, params.mLeftKeys);
926 assertEquals("5 key max 4 L1 right", 3, params.mRightKeys);
927 assertEquals("5 key max 4 L1 <1>", 0, params.getColumnPos(0));
928 assertEquals("5 key max 4 L1 [2]", 1, params.getColumnPos(1));
929 assertEquals("5 key max 4 L1 [3]", 2, params.getColumnPos(2));
930 assertEquals("5 key max 4 L1 [4]", 0, params.getColumnPos(3));
931 assertEquals("5 key max 4 L1 [5]", 1, params.getColumnPos(4));
932 assertEquals("5 key max 4 L1 adjust", 0, params.mTopRowAdjustment);
933 assertEquals("5 key max 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
934 }
935
936 // |___ [4] [5]
937 // |___ [3] <1> [2]
938 public void testLayout5KeyMax4L2() {
939 MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L2);
940 assertEquals("5 key max 4 L2 columns", 3, params.mNumColumns);
941 assertEquals("5 key max 4 L2 rows", 2, params.mNumRows);
942 assertEquals("5 key max 4 L2 left", 1, params.mLeftKeys);
943 assertEquals("5 key max 4 L2 right", 2, params.mRightKeys);
944 assertEquals("5 key max 4 L2 <1>", 0, params.getColumnPos(0));
945 assertEquals("5 key max 4 L2 [2]", 1, params.getColumnPos(1));
946 assertEquals("5 key max 4 L2 [3]", -1, params.getColumnPos(2));
947 assertEquals("5 key max 4 L2 [4]", 0, params.getColumnPos(3));
948 assertEquals("5 key max 4 L2 [5]", 1, params.getColumnPos(4));
949 assertEquals("5 key max 4 L2 adjust", -1, params.mTopRowAdjustment);
950 assertEquals("5 key max 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
951 }
952
953 // [5] [4]|
954 // [3] [2] <1>|
955 public void testLayout5KeyMax4R0() {
956 MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R0);
957 assertEquals("5 key max 4 R0 columns", 3, params.mNumColumns);
958 assertEquals("5 key max 4 R0 rows", 2, params.mNumRows);
959 assertEquals("5 key max 4 R0 left", 2, params.mLeftKeys);
960 assertEquals("5 key max 4 R0 right", 1, params.mRightKeys);
961 assertEquals("5 key max 4 R0 <1>", 0, params.getColumnPos(0));
962 assertEquals("5 key max 4 R0 [2]", -1, params.getColumnPos(1));
963 assertEquals("5 key max 4 R0 [3]", -2, params.getColumnPos(2));
964 assertEquals("5 key max 4 R0 [4]", 0, params.getColumnPos(3));
965 assertEquals("5 key max 4 R0 [5]", -1, params.getColumnPos(4));
966 assertEquals("5 key max 4 R0 adjust", 0, params.mTopRowAdjustment);
967 assertEquals("5 key max 4 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
968 }
969
970 // [5] [4] ___|
971 // [3] [2] <1> ___|
972 public void testLayout5KeyMax4R1() {
973 MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R1);
974 assertEquals("5 key max 4 R1 columns", 3, params.mNumColumns);
975 assertEquals("5 key max 4 R1 rows", 2, params.mNumRows);
976 assertEquals("5 key max 4 R1 left", 2, params.mLeftKeys);
977 assertEquals("5 key max 4 R1 right", 1, params.mRightKeys);
978 assertEquals("5 key max 4 R1 <1>", 0, params.getColumnPos(0));
979 assertEquals("5 key max 4 R1 [2]", -1, params.getColumnPos(1));
980 assertEquals("5 key max 4 R1 [3]", -2, params.getColumnPos(2));
981 assertEquals("5 key max 4 R1 [4]", 0, params.getColumnPos(3));
982 assertEquals("5 key max 4 R1 [5]", -1, params.getColumnPos(4));
983 assertEquals("5 key max 4 R1 adjust", 0, params.mTopRowAdjustment);
984 assertEquals("5 key max 4 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
985 }
986
987 // [4] [5] ___|
988 // [3] <1> [2] ___|
989 public void testLayout5KeyMax4R2() {
990 MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R2);
991 assertEquals("5 key max 4 R2 columns", 3, params.mNumColumns);
992 assertEquals("5 key max 4 R2 rows", 2, params.mNumRows);
993 assertEquals("5 key max 4 R2 left", 1, params.mLeftKeys);
994 assertEquals("5 key max 4 R2 right", 2, params.mRightKeys);
995 assertEquals("5 key max 4 R2 <1>", 0, params.getColumnPos(0));
996 assertEquals("5 key max 4 R2 [2]", 1, params.getColumnPos(1));
997 assertEquals("5 key max 4 R2 [3]", -1, params.getColumnPos(2));
998 assertEquals("5 key max 4 R2 [4]", 0, params.getColumnPos(3));
999 assertEquals("5 key max 4 R2 [5]", 1, params.getColumnPos(4));
1000 assertEquals("5 key max 4 R2 adjust", -1, params.mTopRowAdjustment);
1001 assertEquals("5 key max 4 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1002 }
1003
1004 // [5] [3] <1> [2] [4]
1005 public void testLayout5KeyMax5M0() {
1006 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_M0);
1007 assertEquals("5 key max 5 M0 columns", 5, params.mNumColumns);
1008 assertEquals("5 key max 5 M0 rows", 1, params.mNumRows);
1009 assertEquals("5 key max 5 M0 left", 2, params.mLeftKeys);
1010 assertEquals("5 key max 5 M0 right", 3, params.mRightKeys);
1011 assertEquals("5 key max 5 M0 <1>", 0, params.getColumnPos(0));
1012 assertEquals("5 key max 5 M0 [2]", 1, params.getColumnPos(1));
1013 assertEquals("5 key max 5 M0 [3]", -1, params.getColumnPos(2));
1014 assertEquals("5 key max 5 M0 [4]", 2, params.getColumnPos(3));
1015 assertEquals("5 key max 5 M0 [5]", -2, params.getColumnPos(4));
1016 assertEquals("5 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
1017 assertEquals("5 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1018 }
1019
1020 // |<1> [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001021 public void testLayout5KeyMax5L0() {
1022 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L0);
1023 assertEquals("5 key max 5 L0 columns", 5, params.mNumColumns);
1024 assertEquals("5 key max 5 L0 rows", 1, params.mNumRows);
1025 assertEquals("5 key max 5 L0 left", 0, params.mLeftKeys);
1026 assertEquals("5 key max 5 L0 right", 5, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001027 assertEquals("5 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001028 assertEquals("5 key max 5 L0 [2]", 1, params.getColumnPos(1));
1029 assertEquals("5 key max 5 L0 [3]", 2, params.getColumnPos(2));
1030 assertEquals("5 key max 5 L0 [4]", 3, params.getColumnPos(3));
1031 assertEquals("5 key max 5 L0 [5]", 4, params.getColumnPos(4));
1032 assertEquals("5 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
1033 assertEquals("5 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001034 }
1035
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001036 // |___ <1> [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001037 public void testLayout5KeyMax5L1() {
1038 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L1);
1039 assertEquals("5 key max 5 L1 columns", 5, params.mNumColumns);
1040 assertEquals("5 key max 5 L1 rows", 1, params.mNumRows);
1041 assertEquals("5 key max 5 L1 left", 0, params.mLeftKeys);
1042 assertEquals("5 key max 5 L1 right", 5, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001043 assertEquals("5 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001044 assertEquals("5 key max 5 L1 [2]", 1, params.getColumnPos(1));
1045 assertEquals("5 key max 5 L1 [3]", 2, params.getColumnPos(2));
1046 assertEquals("5 key max 5 L1 [4]", 3, params.getColumnPos(3));
1047 assertEquals("5 key max 5 L1 [5]", 4, params.getColumnPos(4));
1048 assertEquals("5 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
1049 assertEquals("5 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001050 }
1051
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001052 // |___ [3] <1> [2] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001053 public void testLayout5KeyMax5L2() {
1054 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L2);
1055 assertEquals("5 key max 5 L2 columns", 5, params.mNumColumns);
1056 assertEquals("5 key max 5 L2 rows", 1, params.mNumRows);
1057 assertEquals("5 key max 5 L2 left", 1, params.mLeftKeys);
1058 assertEquals("5 key max 5 L2 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001059 assertEquals("5 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001060 assertEquals("5 key max 5 L2 [2]", 1, params.getColumnPos(1));
1061 assertEquals("5 key max 5 L2 [3]", -1, params.getColumnPos(2));
1062 assertEquals("5 key max 5 L2 [4]", 2, params.getColumnPos(3));
1063 assertEquals("5 key max 5 L2 [5]", 3, params.getColumnPos(4));
1064 assertEquals("5 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
1065 assertEquals("5 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001066 }
1067
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001068 // [5] [4] [3] [2] <1>|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001069 public void testLayout5KeyMax5R0() {
1070 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R0);
1071 assertEquals("5 key max 5 R0 columns", 5, params.mNumColumns);
1072 assertEquals("5 key max 5 R0 rows", 1, params.mNumRows);
1073 assertEquals("5 key max 5 R0 left", 4, params.mLeftKeys);
1074 assertEquals("5 key max 5 R0 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001075 assertEquals("5 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001076 assertEquals("5 key max 5 R0 [2]", -1, params.getColumnPos(1));
1077 assertEquals("5 key max 5 R0 [3]", -2, params.getColumnPos(2));
1078 assertEquals("5 key max 5 R0 [4]", -3, params.getColumnPos(3));
1079 assertEquals("5 key max 5 R0 [5]", -4, params.getColumnPos(4));
1080 assertEquals("5 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
1081 assertEquals("5 key max 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001082 }
1083
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001084 // [5] [4] [3] [2] <1> ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001085 public void testLayout5KeyMax5R1() {
1086 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R1);
1087 assertEquals("5 key max 5 R1 columns", 5, params.mNumColumns);
1088 assertEquals("5 key max 5 R1 rows", 1, params.mNumRows);
1089 assertEquals("5 key max 5 R1 left", 4, params.mLeftKeys);
1090 assertEquals("5 key max 5 R1 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001091 assertEquals("5 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001092 assertEquals("5 key max 5 R1 [2]", -1, params.getColumnPos(1));
1093 assertEquals("5 key max 5 R1 [3]", -2, params.getColumnPos(2));
1094 assertEquals("5 key max 5 R1 [4]", -3, params.getColumnPos(3));
1095 assertEquals("5 key max 5 R1 [5]", -4, params.getColumnPos(4));
1096 assertEquals("5 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
1097 assertEquals("5 key max 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001098 }
1099
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001100 // [5] [4] [3] <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001101 public void testLayout5KeyMax5R2() {
1102 MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R2);
1103 assertEquals("5 key max 5 R2 columns", 5, params.mNumColumns);
1104 assertEquals("5 key max 5 R2 rows", 1, params.mNumRows);
1105 assertEquals("5 key max 5 R2 left", 3, params.mLeftKeys);
1106 assertEquals("5 key max 5 R2 right", 2, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001107 assertEquals("5 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001108 assertEquals("5 key max 5 R2 [2]", 1, params.getColumnPos(1));
1109 assertEquals("5 key max 5 R2 [3]", -1, params.getColumnPos(2));
1110 assertEquals("5 key max 5 R2 [4]", -2, params.getColumnPos(3));
1111 assertEquals("5 key max 5 R2 [5]", -3, params.getColumnPos(4));
1112 assertEquals("5 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
1113 assertEquals("5 key max 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001114 }
1115
1116 // [6] [4] [5]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001117 // [3] <1> [2]
1118 public void testLayout6KeyMax4M0() {
1119 MoreKeysKeyboardParams params = createParams(6, 4, XPOS_M0);
1120 assertEquals("6 key max 4 M0 columns", 3, params.mNumColumns);
1121 assertEquals("6 key max 4 M0 rows", 2, params.mNumRows);
1122 assertEquals("6 key max 4 M0 left", 1, params.mLeftKeys);
1123 assertEquals("6 key max 4 M0 right", 2, params.mRightKeys);
1124 assertEquals("6 key max 4 M0 <1>", 0, params.getColumnPos(0));
1125 assertEquals("6 key max 4 M0 [2]", 1, params.getColumnPos(1));
1126 assertEquals("6 key max 4 M0 [3]", -1, params.getColumnPos(2));
1127 assertEquals("6 key max 4 M0 [4]", 0, params.getColumnPos(3));
1128 assertEquals("6 key max 4 M0 [5]", 1, params.getColumnPos(4));
1129 assertEquals("6 key max 4 M0 [6]", -1, params.getColumnPos(5));
1130 assertEquals("6 key max 4 M0 adjust", 0, params.mTopRowAdjustment);
1131 assertEquals("6 key max 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001132 }
1133
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001134 // |[4] [5] [6]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001135 // |<1> [2] [3]
1136 public void testLayout6KeyMax4L0() {
1137 MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L0);
1138 assertEquals("6 key max 4 L0 columns", 3, params.mNumColumns);
1139 assertEquals("6 key max 4 L0 rows", 2, params.mNumRows);
1140 assertEquals("6 key max 4 L0 left", 0, params.mLeftKeys);
1141 assertEquals("6 key max 4 L0 right", 3, params.mRightKeys);
1142 assertEquals("6 key max 4 L0 <1>", 0, params.getColumnPos(0));
1143 assertEquals("6 key max 4 L0 [2]", 1, params.getColumnPos(1));
1144 assertEquals("6 key max 4 L0 [3]", 2, params.getColumnPos(2));
1145 assertEquals("6 key max 4 L0 [4]", 0, params.getColumnPos(3));
1146 assertEquals("6 key max 4 L0 [5]", 1, params.getColumnPos(4));
1147 assertEquals("6 key max 4 L0 [6]", 2, params.getColumnPos(5));
1148 assertEquals("6 key max 4 L0 adjust", 0, params.mTopRowAdjustment);
1149 assertEquals("6 key max 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1150 }
1151
1152 // |___ [4] [5] [6]
1153 // |___ <1> [2] [3]
1154 public void testLayout6KeyMax4L1() {
1155 MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L1);
1156 assertEquals("6 key max 4 L1 columns", 3, params.mNumColumns);
1157 assertEquals("6 key max 4 L1 rows", 2, params.mNumRows);
1158 assertEquals("6 key max 4 L1 left", 0, params.mLeftKeys);
1159 assertEquals("6 key max 4 L1 right", 3, params.mRightKeys);
1160 assertEquals("6 key max 4 L1 <1>", 0, params.getColumnPos(0));
1161 assertEquals("6 key max 4 L1 [2]", 1, params.getColumnPos(1));
1162 assertEquals("6 key max 4 L1 [3]", 2, params.getColumnPos(2));
1163 assertEquals("6 key max 4 L1 [4]", 0, params.getColumnPos(3));
1164 assertEquals("6 key max 4 L1 [5]", 1, params.getColumnPos(4));
1165 assertEquals("6 key max 4 L1 [6]", 2, params.getColumnPos(5));
1166 assertEquals("6 key max 4 L1 adjust", 0, params.mTopRowAdjustment);
1167 assertEquals("6 key max 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1168 }
1169
1170 // |___ [6] [4] [5]
1171 // |___ [3] <1> [2]
1172 public void testLayout6KeyMax4L2() {
1173 MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L2);
1174 assertEquals("6 key max 4 L2 columns", 3, params.mNumColumns);
1175 assertEquals("6 key max 4 L2 rows", 2, params.mNumRows);
1176 assertEquals("6 key max 4 L2 left", 1, params.mLeftKeys);
1177 assertEquals("6 key max 4 L2 right", 2, params.mRightKeys);
1178 assertEquals("6 key max 4 L2 <1>", 0, params.getColumnPos(0));
1179 assertEquals("6 key max 4 L2 [2]", 1, params.getColumnPos(1));
1180 assertEquals("6 key max 4 L2 [3]", -1, params.getColumnPos(2));
1181 assertEquals("6 key max 4 L2 [4]", 0, params.getColumnPos(3));
1182 assertEquals("6 key max 4 L2 [5]", 1, params.getColumnPos(4));
1183 assertEquals("6 key max 4 L2 [6]", -1, params.getColumnPos(5));
1184 assertEquals("6 key max 4 L2 adjust", 0, params.mTopRowAdjustment);
1185 assertEquals("6 key max 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1186 }
1187
1188 // [6] [5] [4]|
1189 // [3] [2] <1>|
1190 public void testLayout6KeyMax4R0() {
1191 MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R0);
1192 assertEquals("6 key max 4 R0 columns", 3, params.mNumColumns);
1193 assertEquals("6 key max 4 R0 rows", 2, params.mNumRows);
1194 assertEquals("6 key max 4 R0 left", 2, params.mLeftKeys);
1195 assertEquals("6 key max 4 R0 right", 1, params.mRightKeys);
1196 assertEquals("6 key max 4 R0 <1>", 0, params.getColumnPos(0));
1197 assertEquals("6 key max 4 R0 [2]", -1, params.getColumnPos(1));
1198 assertEquals("6 key max 4 R0 [3]", -2, params.getColumnPos(2));
1199 assertEquals("6 key max 4 R0 [4]", 0, params.getColumnPos(3));
1200 assertEquals("6 key max 4 R0 [5]", -1, params.getColumnPos(4));
1201 assertEquals("6 key max 4 R0 [6]", -2, params.getColumnPos(5));
1202 assertEquals("6 key max 4 R0 adjust", 0, params.mTopRowAdjustment);
1203 assertEquals("6 key max 4 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1204 }
1205
1206 // [6] [5] [4] ___|
1207 // [3] [2] <1> ___|
1208 public void testLayout6KeyMax4R1() {
1209 MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R1);
1210 assertEquals("6 key max 4 R1 columns", 3, params.mNumColumns);
1211 assertEquals("6 key max 4 R1 rows", 2, params.mNumRows);
1212 assertEquals("6 key max 4 R1 left", 2, params.mLeftKeys);
1213 assertEquals("6 key max 4 R1 right", 1, params.mRightKeys);
1214 assertEquals("6 key max 4 R1 <1>", 0, params.getColumnPos(0));
1215 assertEquals("6 key max 4 R1 [2]", -1, params.getColumnPos(1));
1216 assertEquals("6 key max 4 R1 [3]", -2, params.getColumnPos(2));
1217 assertEquals("6 key max 4 R1 [4]", 0, params.getColumnPos(3));
1218 assertEquals("6 key max 4 R1 [5]", -1, params.getColumnPos(4));
1219 assertEquals("6 key max 4 R1 [6]", -2, params.getColumnPos(5));
1220 assertEquals("6 key max 4 R1 adjust", 0, params.mTopRowAdjustment);
1221 assertEquals("6 key max 4 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
1222 }
1223
1224 // [6] [4] [5] ___|
1225 // [3] <1> [2] ___|
1226 public void testLayout6KeyMax4R2() {
1227 MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R2);
1228 assertEquals("6 key max 4 R2 columns", 3, params.mNumColumns);
1229 assertEquals("6 key max 4 R2 rows", 2, params.mNumRows);
1230 assertEquals("6 key max 4 R2 left", 1, params.mLeftKeys);
1231 assertEquals("6 key max 4 R2 right", 2, params.mRightKeys);
1232 assertEquals("6 key max 4 R2 <1>", 0, params.getColumnPos(0));
1233 assertEquals("6 key max 4 R2 [2]", 1, params.getColumnPos(1));
1234 assertEquals("6 key max 4 R2 [3]", -1, params.getColumnPos(2));
1235 assertEquals("6 key max 4 R2 [4]", 0, params.getColumnPos(3));
1236 assertEquals("6 key max 4 R2 [5]", 1, params.getColumnPos(4));
1237 assertEquals("6 key max 4 R2 [6]", -1, params.getColumnPos(5));
1238 assertEquals("6 key max 4 R2 adjust", 0, params.mTopRowAdjustment);
1239 assertEquals("6 key max 4 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1240 }
1241
1242 // [6] [4] [5]
1243 // [3] <1> [2]
1244 public void testLayout6KeyMax5M0() {
1245 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_M0);
1246 assertEquals("6 key max 5 M0 columns", 3, params.mNumColumns);
1247 assertEquals("6 key max 5 M0 rows", 2, params.mNumRows);
1248 assertEquals("6 key max 5 M0 left", 1, params.mLeftKeys);
1249 assertEquals("6 key max 5 M0 right", 2, params.mRightKeys);
1250 assertEquals("6 key max 5 M0 <1>", 0, params.getColumnPos(0));
1251 assertEquals("6 key max 5 M0 [2]", 1, params.getColumnPos(1));
1252 assertEquals("6 key max 5 M0 [3]", -1, params.getColumnPos(2));
1253 assertEquals("6 key max 5 M0 [4]", 0, params.getColumnPos(3));
1254 assertEquals("6 key max 5 M0 [5]", 1, params.getColumnPos(4));
1255 assertEquals("6 key max 5 M0 [6]", -1, params.getColumnPos(5));
1256 assertEquals("6 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
1257 assertEquals("6 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
1258 }
1259
1260 // |[4] [5] [6]
1261 // |<1> [2] [3]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001262 public void testLayout6KeyMax5L0() {
1263 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L0);
1264 assertEquals("6 key max 5 L0 columns", 3, params.mNumColumns);
1265 assertEquals("6 key max 5 L0 rows", 2, params.mNumRows);
1266 assertEquals("6 key max 5 L0 left", 0, params.mLeftKeys);
1267 assertEquals("6 key max 5 L0 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001268 assertEquals("6 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001269 assertEquals("6 key max 5 L0 [2]", 1, params.getColumnPos(1));
1270 assertEquals("6 key max 5 L0 [3]", 2, params.getColumnPos(2));
1271 assertEquals("6 key max 5 L0 [4]", 0, params.getColumnPos(3));
1272 assertEquals("6 key max 5 L0 [5]", 1, params.getColumnPos(4));
1273 assertEquals("6 key max 5 L0 [6]", 2, params.getColumnPos(5));
1274 assertEquals("6 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
1275 assertEquals("6 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001276 }
1277
1278 // |___ [4] [5] [6]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001279 // |___ <1> [2] [3]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001280 public void testLayout6KeyMax5L1() {
1281 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L1);
1282 assertEquals("6 key max 5 L1 columns", 3, params.mNumColumns);
1283 assertEquals("6 key max 5 L1 rows", 2, params.mNumRows);
1284 assertEquals("6 key max 5 L1 left", 0, params.mLeftKeys);
1285 assertEquals("6 key max 5 L1 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001286 assertEquals("6 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001287 assertEquals("6 key max 5 L1 [2]", 1, params.getColumnPos(1));
1288 assertEquals("6 key max 5 L1 [3]", 2, params.getColumnPos(2));
1289 assertEquals("6 key max 5 L1 [4]", 0, params.getColumnPos(3));
1290 assertEquals("6 key max 5 L1 [5]", 1, params.getColumnPos(4));
1291 assertEquals("6 key max 5 L1 [6]", 2, params.getColumnPos(5));
1292 assertEquals("6 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
1293 assertEquals("6 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001294 }
1295
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001296 // |___ [6] [4] [5]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001297 // |___ [3] <1> [2]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001298 public void testLayout6KeyMax5L2() {
1299 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L2);
1300 assertEquals("6 key max 5 L2 columns", 3, params.mNumColumns);
1301 assertEquals("6 key max 5 L2 rows", 2, params.mNumRows);
1302 assertEquals("6 key max 5 L2 left", 1, params.mLeftKeys);
1303 assertEquals("6 key max 5 L2 right", 2, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001304 assertEquals("6 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001305 assertEquals("6 key max 5 L2 [2]", 1, params.getColumnPos(1));
1306 assertEquals("6 key max 5 L2 [3]", -1, params.getColumnPos(2));
1307 assertEquals("6 key max 5 L2 [4]", 0, params.getColumnPos(3));
1308 assertEquals("6 key max 5 L2 [5]", 1, params.getColumnPos(4));
1309 assertEquals("6 key max 5 L2 [6]", -1, params.getColumnPos(5));
1310 assertEquals("6 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
1311 assertEquals("6 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001312 }
1313
1314 // [6] [5] [4]|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001315 // [3] [2] <1>|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001316 public void testLayout6KeyMax5R0() {
1317 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R0);
1318 assertEquals("6 key max 5 R0 columns", 3, params.mNumColumns);
1319 assertEquals("6 key max 5 R0 rows", 2, params.mNumRows);
1320 assertEquals("6 key max 5 R0 left", 2, params.mLeftKeys);
1321 assertEquals("6 key max 5 R0 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001322 assertEquals("6 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001323 assertEquals("6 key max 5 R0 [2]", -1, params.getColumnPos(1));
1324 assertEquals("6 key max 5 R0 [3]", -2, params.getColumnPos(2));
1325 assertEquals("6 key max 5 R0 [4]", 0, params.getColumnPos(3));
1326 assertEquals("6 key max 5 R0 [5]", -1, params.getColumnPos(4));
1327 assertEquals("6 key max 5 R0 [6]", -2, params.getColumnPos(5));
1328 assertEquals("6 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
1329 assertEquals("6 key max 5 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001330 }
1331
1332 // [6] [5] [4] ___|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001333 // [3] [2] <1> ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001334 public void testLayout6KeyMax5R1() {
1335 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R1);
1336 assertEquals("6 key max 5 R1 columns", 3, params.mNumColumns);
1337 assertEquals("6 key max 5 R1 rows", 2, params.mNumRows);
1338 assertEquals("6 key max 5 R1 left", 2, params.mLeftKeys);
1339 assertEquals("6 key max 5 R1 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001340 assertEquals("6 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001341 assertEquals("6 key max 5 R1 [2]", -1, params.getColumnPos(1));
1342 assertEquals("6 key max 5 R1 [3]", -2, params.getColumnPos(2));
1343 assertEquals("6 key max 5 R1 [4]", 0, params.getColumnPos(3));
1344 assertEquals("6 key max 5 R1 [5]", -1, params.getColumnPos(4));
1345 assertEquals("6 key max 5 R1 [6]", -2, params.getColumnPos(5));
1346 assertEquals("6 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
1347 assertEquals("6 key max 5 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001348 }
1349
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001350 // [6] [4] [5] ___|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001351 // [3] <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001352 public void testLayout6KeyMax5R2() {
1353 MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R2);
1354 assertEquals("6 key max 5 R2 columns", 3, params.mNumColumns);
1355 assertEquals("6 key max 5 R2 rows", 2, params.mNumRows);
1356 assertEquals("6 key max 5 R2 left", 1, params.mLeftKeys);
1357 assertEquals("6 key max 5 R2 right", 2, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001358 assertEquals("6 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001359 assertEquals("6 key max 5 R2 [2]", 1, params.getColumnPos(1));
1360 assertEquals("6 key max 5 R2 [3]", -1, params.getColumnPos(2));
1361 assertEquals("6 key max 5 R2 [4]", 0, params.getColumnPos(3));
1362 assertEquals("6 key max 5 R2 [5]", 1, params.getColumnPos(4));
1363 assertEquals("6 key max 5 R2 [6]", -1, params.getColumnPos(5));
1364 assertEquals("6 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
1365 assertEquals("6 key max 5 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001366 }
1367
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001368 // |<1> [2] [3] [4] [5] [6] [7] ___ ___ ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001369 public void testLayout7KeyMax7L0() {
1370 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L0);
1371 assertEquals("7 key max 7 L0 columns", 7, params.mNumColumns);
1372 assertEquals("7 key max 7 L0 rows", 1, params.mNumRows);
1373 assertEquals("7 key max 7 L0 left", 0, params.mLeftKeys);
1374 assertEquals("7 key max 7 L0 right", 7, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001375 assertEquals("7 key max 7 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001376 assertEquals("7 key max 7 L0 [2]", 1, params.getColumnPos(1));
1377 assertEquals("7 key max 7 L0 [3]", 2, params.getColumnPos(2));
1378 assertEquals("7 key max 7 L0 [4]", 3, params.getColumnPos(3));
1379 assertEquals("7 key max 7 L0 [5]", 4, params.getColumnPos(4));
1380 assertEquals("7 key max 7 L0 [6]", 5, params.getColumnPos(5));
1381 assertEquals("7 key max 7 L0 [7]", 6, params.getColumnPos(6));
1382 assertEquals("7 key max 7 L0 adjust", 0, params.mTopRowAdjustment);
1383 assertEquals("7 key max 7 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1384 }
1385
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001386 // |___ <1> [2] [3] [4] [5] [6] [7] ___ ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001387 public void testLayout7KeyMax7L1() {
1388 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L1);
1389 assertEquals("7 key max 7 L1 columns", 7, params.mNumColumns);
1390 assertEquals("7 key max 7 L1 rows", 1, params.mNumRows);
1391 assertEquals("7 key max 7 L1 left", 0, params.mLeftKeys);
1392 assertEquals("7 key max 7 L1 right", 7, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001393 assertEquals("7 key max 7 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001394 assertEquals("7 key max 7 L1 [2]", 1, params.getColumnPos(1));
1395 assertEquals("7 key max 7 L1 [3]", 2, params.getColumnPos(2));
1396 assertEquals("7 key max 7 L1 [4]", 3, params.getColumnPos(3));
1397 assertEquals("7 key max 7 L1 [5]", 4, params.getColumnPos(4));
1398 assertEquals("7 key max 7 L1 [6]", 5, params.getColumnPos(5));
1399 assertEquals("7 key max 7 L1 [7]", 6, params.getColumnPos(6));
1400 assertEquals("7 key max 7 L1 adjust", 0, params.mTopRowAdjustment);
1401 assertEquals("7 key max 7 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1402 }
1403
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001404 // |___ [3] <1> [2] [4] [5] [6] [7] ___ ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001405 public void testLayout7KeyMax7L2() {
1406 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L2);
1407 assertEquals("7 key max 7 L2 columns", 7, params.mNumColumns);
1408 assertEquals("7 key max 7 L2 rows", 1, params.mNumRows);
1409 assertEquals("7 key max 7 L2 left", 1, params.mLeftKeys);
1410 assertEquals("7 key max 7 L2 right", 6, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001411 assertEquals("7 key max 7 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001412 assertEquals("7 key max 7 L2 [2]", 1, params.getColumnPos(1));
1413 assertEquals("7 key max 7 L2 [3]", -1, params.getColumnPos(2));
1414 assertEquals("7 key max 7 L2 [4]", 2, params.getColumnPos(3));
1415 assertEquals("7 key max 7 L2 [5]", 3, params.getColumnPos(4));
1416 assertEquals("7 key max 7 L2 [6]", 4, params.getColumnPos(5));
1417 assertEquals("7 key max 7 L2 [7]", 5, params.getColumnPos(6));
1418 assertEquals("7 key max 7 L2 adjust", 0, params.mTopRowAdjustment);
1419 assertEquals("7 key max 7 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1420 }
1421
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001422 // |___ [5] [3] <1> [2] [4] [6] [7] ___ ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001423 public void testLayout7KeyMax7L3() {
1424 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L3);
1425 assertEquals("7 key max 7 L3 columns", 7, params.mNumColumns);
1426 assertEquals("7 key max 7 L3 rows", 1, params.mNumRows);
1427 assertEquals("7 key max 7 L3 left", 2, params.mLeftKeys);
1428 assertEquals("7 key max 7 L3 right", 5, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001429 assertEquals("7 key max 7 L3 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001430 assertEquals("7 key max 7 L3 [2]", 1, params.getColumnPos(1));
1431 assertEquals("7 key max 7 L3 [3]", -1, params.getColumnPos(2));
1432 assertEquals("7 key max 7 L3 [4]", 2, params.getColumnPos(3));
1433 assertEquals("7 key max 7 L3 [5]", -2, params.getColumnPos(4));
1434 assertEquals("7 key max 7 L3 [6]", 3, params.getColumnPos(5));
1435 assertEquals("7 key max 7 L3 [7]", 4, params.getColumnPos(6));
1436 assertEquals("7 key max 7 L3 adjust", 0, params.mTopRowAdjustment);
1437 assertEquals("7 key max 7 L3 default", WIDTH * 2, params.getDefaultKeyCoordX());
1438 }
1439
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001440 // |___ [7] [5] [3] <1> [2] [4] [6] ___ ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001441 public void testLayout7KeyMax7M0() {
1442 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M0);
1443 assertEquals("7 key max 7 M0 columns", 7, params.mNumColumns);
1444 assertEquals("7 key max 7 M0 rows", 1, params.mNumRows);
1445 assertEquals("7 key max 7 M0 left", 3, params.mLeftKeys);
1446 assertEquals("7 key max 7 M0 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001447 assertEquals("7 key max 7 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001448 assertEquals("7 key max 7 M0 [2]", 1, params.getColumnPos(1));
1449 assertEquals("7 key max 7 M0 [3]", -1, params.getColumnPos(2));
1450 assertEquals("7 key max 7 M0 [4]", 2, params.getColumnPos(3));
1451 assertEquals("7 key max 7 M0 [5]", -2, params.getColumnPos(4));
1452 assertEquals("7 key max 7 M0 [6]", 3, params.getColumnPos(5));
1453 assertEquals("7 key max 7 M0 [7]", -3, params.getColumnPos(6));
1454 assertEquals("7 key max 7 M0 adjust", 0, params.mTopRowAdjustment);
1455 assertEquals("7 key max 7 M0 default", WIDTH * 3, params.getDefaultKeyCoordX());
1456 }
1457
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001458 // |___ ___ [7] [5] [3] <1> [2] [4] [6] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001459 public void testLayout7KeyMax7M1() {
1460 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M1);
1461 assertEquals("7 key max 7 M1 columns", 7, params.mNumColumns);
1462 assertEquals("7 key max 7 M1 rows", 1, params.mNumRows);
1463 assertEquals("7 key max 7 M1 left", 3, params.mLeftKeys);
1464 assertEquals("7 key max 7 M1 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001465 assertEquals("7 key max 7 M1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001466 assertEquals("7 key max 7 M1 [2]", 1, params.getColumnPos(1));
1467 assertEquals("7 key max 7 M1 [3]", -1, params.getColumnPos(2));
1468 assertEquals("7 key max 7 M1 [4]", 2, params.getColumnPos(3));
1469 assertEquals("7 key max 7 M1 [5]", -2, params.getColumnPos(4));
1470 assertEquals("7 key max 7 M1 [6]", 3, params.getColumnPos(5));
1471 assertEquals("7 key max 7 M1 [7]", -3, params.getColumnPos(6));
1472 assertEquals("7 key max 7 M1 adjust", 0, params.mTopRowAdjustment);
1473 assertEquals("7 key max 7 M1 default", WIDTH * 3, params.getDefaultKeyCoordX());
1474 }
1475
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001476 // |___ ___ [7] [6] [5] [3] <1> [2] [4] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001477 public void testLayout7KeyMax7R3() {
1478 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R3);
1479 assertEquals("7 key max 7 R3 columns", 7, params.mNumColumns);
1480 assertEquals("7 key max 7 R3 rows", 1, params.mNumRows);
1481 assertEquals("7 key max 7 R3 left", 4, params.mLeftKeys);
1482 assertEquals("7 key max 7 R3 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001483 assertEquals("7 key max 7 R3 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001484 assertEquals("7 key max 7 R3 [2]", 1, params.getColumnPos(1));
1485 assertEquals("7 key max 7 R3 [3]", -1, params.getColumnPos(2));
1486 assertEquals("7 key max 7 R3 [4]", 2, params.getColumnPos(3));
1487 assertEquals("7 key max 7 R3 [5]", -2, params.getColumnPos(4));
1488 assertEquals("7 key max 7 R3 [6]", -3, params.getColumnPos(5));
1489 assertEquals("7 key max 7 R3 [7]", -4, params.getColumnPos(6));
1490 assertEquals("7 key max 7 R3 adjust", 0, params.mTopRowAdjustment);
1491 assertEquals("7 key max 7 R3 default", WIDTH * 4, params.getDefaultKeyCoordX());
1492 }
1493
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001494 // |___ ___ [7] [6] [5] [4] [3] <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001495 public void testLayout7KeyMax7R2() {
1496 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R2);
1497 assertEquals("7 key max 7 R2 columns", 7, params.mNumColumns);
1498 assertEquals("7 key max 7 R2 rows", 1, params.mNumRows);
1499 assertEquals("7 key max 7 R2 left", 5, params.mLeftKeys);
1500 assertEquals("7 key max 7 R2 right", 2, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001501 assertEquals("7 key max 7 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001502 assertEquals("7 key max 7 R2 [2]", 1, params.getColumnPos(1));
1503 assertEquals("7 key max 7 R2 [3]", -1, params.getColumnPos(2));
1504 assertEquals("7 key max 7 R2 [4]", -2, params.getColumnPos(3));
1505 assertEquals("7 key max 7 R2 [5]", -3, params.getColumnPos(4));
1506 assertEquals("7 key max 7 R2 [6]", -4, params.getColumnPos(5));
1507 assertEquals("7 key max 7 R2 [7]", -5, params.getColumnPos(6));
1508 assertEquals("7 key max 7 R2 adjust", 0, params.mTopRowAdjustment);
1509 assertEquals("7 key max 7 R2 default", WIDTH * 5, params.getDefaultKeyCoordX());
1510 }
1511
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001512 // |___ ___ [7] [6] [5] [4] [3] [2] <1> ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001513 public void testLayout7KeyMax7R1() {
1514 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R1);
1515 assertEquals("7 key max 7 R1 columns", 7, params.mNumColumns);
1516 assertEquals("7 key max 7 R1 rows", 1, params.mNumRows);
1517 assertEquals("7 key max 7 R1 left", 6, params.mLeftKeys);
1518 assertEquals("7 key max 7 R1 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001519 assertEquals("7 key max 7 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001520 assertEquals("7 key max 7 R1 [2]", -1, params.getColumnPos(1));
1521 assertEquals("7 key max 7 R1 [3]", -2, params.getColumnPos(2));
1522 assertEquals("7 key max 7 R1 [4]", -3, params.getColumnPos(3));
1523 assertEquals("7 key max 7 R1 [5]", -4, params.getColumnPos(4));
1524 assertEquals("7 key max 7 R1 [6]", -5, params.getColumnPos(5));
1525 assertEquals("7 key max 7 R1 [7]", -6, params.getColumnPos(6));
1526 assertEquals("7 key max 7 R1 adjust", 0, params.mTopRowAdjustment);
1527 assertEquals("7 key max 7 R1 default", WIDTH * 6, params.getDefaultKeyCoordX());
1528 }
1529
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001530 // |___ ___ [7] [6] [5] [4] [3] [2] <1>|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001531 public void testLayout7KeyMax7R0() {
1532 MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R0);
1533 assertEquals("7 key max 7 R0 columns", 7, params.mNumColumns);
1534 assertEquals("7 key max 7 R0 rows", 1, params.mNumRows);
1535 assertEquals("7 key max 7 R0 left", 6, params.mLeftKeys);
1536 assertEquals("7 key max 7 R0 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001537 assertEquals("7 key max 7 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001538 assertEquals("7 key max 7 R0 [2]", -1, params.getColumnPos(1));
1539 assertEquals("7 key max 7 R0 [3]", -2, params.getColumnPos(2));
1540 assertEquals("7 key max 7 R0 [4]", -3, params.getColumnPos(3));
1541 assertEquals("7 key max 7 R0 [5]", -4, params.getColumnPos(4));
1542 assertEquals("7 key max 7 R0 [6]", -5, params.getColumnPos(5));
1543 assertEquals("7 key max 7 R0 [7]", -6, params.getColumnPos(6));
1544 assertEquals("7 key max 7 R0 adjust", 0, params.mTopRowAdjustment);
1545 assertEquals("7 key max 7 R0 default", WIDTH * 6, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001546 }
1547
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001548 // [5] [6] [7]
1549 // [3] <1> [2] [4]
1550 public void testLayout7KeyMax5M0() {
1551 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_M0);
1552 assertEquals("7 key max 5 M0 columns", 4, params.mNumColumns);
1553 assertEquals("7 key max 5 M0 rows", 2, params.mNumRows);
1554 assertEquals("7 key max 5 M0 left", 1, params.mLeftKeys);
1555 assertEquals("7 key max 5 M0 right", 3, params.mRightKeys);
1556 assertEquals("7 key max 5 M0 <1>", 0, params.getColumnPos(0));
1557 assertEquals("7 key max 5 M0 [2]", 1, params.getColumnPos(1));
1558 assertEquals("7 key max 5 M0 [3]", -1, params.getColumnPos(2));
1559 assertEquals("7 key max 5 M0 [4]", 2, params.getColumnPos(3));
1560 assertEquals("7 key max 5 M0 [5]", 0, params.getColumnPos(4));
1561 assertEquals("7 key max 5 M0 [6]", 1, params.getColumnPos(5));
1562 assertEquals("7 key max 5 M0 [7]", 2, params.getColumnPos(6));
1563 assertEquals("7 key max 5 M0 adjust", -1, params.mTopRowAdjustment);
1564 assertEquals("7 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
1565 }
1566
1567 // |[5] [6] [7]
1568 // |<1> [2] [3] [4]
1569 public void testLayout7KeyMax5L0() {
1570 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L0);
1571 assertEquals("7 key max 5 L0 columns", 4, params.mNumColumns);
1572 assertEquals("7 key max 5 L0 rows", 2, params.mNumRows);
1573 assertEquals("7 key max 5 L0 left", 0, params.mLeftKeys);
1574 assertEquals("7 key max 5 L0 right", 4, params.mRightKeys);
1575 assertEquals("7 key max 5 L0 <1>", 0, params.getColumnPos(0));
1576 assertEquals("7 key max 5 L0 [2]", 1, params.getColumnPos(1));
1577 assertEquals("7 key max 5 L0 [3]", 2, params.getColumnPos(2));
1578 assertEquals("7 key max 5 L0 [4]", 3, params.getColumnPos(3));
1579 assertEquals("7 key max 5 L0 [5]", 0, params.getColumnPos(4));
1580 assertEquals("7 key max 5 L0 [6]", 1, params.getColumnPos(5));
1581 assertEquals("7 key max 5 L0 [7]", 2, params.getColumnPos(6));
1582 assertEquals("7 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
1583 assertEquals("7 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1584 }
1585
1586 // |___ [5] [6] [7]
1587 // |___ <1> [2] [3] [4]
1588 public void testLayout7KeyMax5L1() {
1589 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L1);
1590 assertEquals("7 key max 5 L1 columns", 4, params.mNumColumns);
1591 assertEquals("7 key max 5 L1 rows", 2, params.mNumRows);
1592 assertEquals("7 key max 5 L1 left", 0, params.mLeftKeys);
1593 assertEquals("7 key max 5 L1 right", 4, params.mRightKeys);
1594 assertEquals("7 key max 5 L1 <1>", 0, params.getColumnPos(0));
1595 assertEquals("7 key max 5 L1 [2]", 1, params.getColumnPos(1));
1596 assertEquals("7 key max 5 L1 [3]", 2, params.getColumnPos(2));
1597 assertEquals("7 key max 5 L1 [4]", 3, params.getColumnPos(3));
1598 assertEquals("7 key max 5 L1 [5]", 0, params.getColumnPos(4));
1599 assertEquals("7 key max 5 L1 [6]", 1, params.getColumnPos(5));
1600 assertEquals("7 key max 5 L1 [7]", 2, params.getColumnPos(6));
1601 assertEquals("7 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
1602 assertEquals("7 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1603 }
1604
1605 // |___ [5] [6] [7]
1606 // |___ [3] <1> [2] [4]
1607 public void testLayout7KeyMax5L2() {
1608 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L2);
1609 assertEquals("7 key max 5 L2 columns", 4, params.mNumColumns);
1610 assertEquals("7 key max 5 L2 rows", 2, params.mNumRows);
1611 assertEquals("7 key max 5 L2 left", 1, params.mLeftKeys);
1612 assertEquals("7 key max 5 L2 right", 3, params.mRightKeys);
1613 assertEquals("7 key max 5 L2 <1>", 0, params.getColumnPos(0));
1614 assertEquals("7 key max 5 L2 [2]", 1, params.getColumnPos(1));
1615 assertEquals("7 key max 5 L2 [3]", -1, params.getColumnPos(2));
1616 assertEquals("7 key max 5 L2 [4]", 2, params.getColumnPos(3));
1617 assertEquals("7 key max 5 L2 [5]", 0, params.getColumnPos(4));
1618 assertEquals("7 key max 5 L2 [6]", 1, params.getColumnPos(5));
1619 assertEquals("7 key max 5 L2 [7]", 2, params.getColumnPos(6));
1620 assertEquals("7 key max 5 L2 adjust", -1, params.mTopRowAdjustment);
1621 assertEquals("7 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1622 }
1623
1624 // [7] [6] [5]|
1625 // [4] [3] [2] <1>|
1626 public void testLayout7KeyMax5R0() {
1627 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R0);
1628 assertEquals("7 key max 5 R0 columns", 4, params.mNumColumns);
1629 assertEquals("7 key max 5 R0 rows", 2, params.mNumRows);
1630 assertEquals("7 key max 5 R0 left", 3, params.mLeftKeys);
1631 assertEquals("7 key max 5 R0 right", 1, params.mRightKeys);
1632 assertEquals("7 key max 5 R0 <1>", 0, params.getColumnPos(0));
1633 assertEquals("7 key max 5 R0 [2]", -1, params.getColumnPos(1));
1634 assertEquals("7 key max 5 R0 [3]", -2, params.getColumnPos(2));
1635 assertEquals("7 key max 5 R0 [4]", -3, params.getColumnPos(3));
1636 assertEquals("7 key max 5 R0 [5]", 0, params.getColumnPos(4));
1637 assertEquals("7 key max 5 R0 [6]", -1, params.getColumnPos(5));
1638 assertEquals("7 key max 5 R0 [7]", -2, params.getColumnPos(6));
1639 assertEquals("7 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
1640 assertEquals("7 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
1641 }
1642
1643 // [7] [6] [5] ___|
1644 // [4] [3] [2] <1> ___|
1645 public void testLayout7KeyMax5R1() {
1646 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R1);
1647 assertEquals("7 key max 5 R1 columns", 4, params.mNumColumns);
1648 assertEquals("7 key max 5 R1 rows", 2, params.mNumRows);
1649 assertEquals("7 key max 5 R1 left", 3, params.mLeftKeys);
1650 assertEquals("7 key max 5 R1 right", 1, params.mRightKeys);
1651 assertEquals("7 key max 5 R1 <1>", 0, params.getColumnPos(0));
1652 assertEquals("7 key max 5 R1 [2]", -1, params.getColumnPos(1));
1653 assertEquals("7 key max 5 R1 [3]", -2, params.getColumnPos(2));
1654 assertEquals("7 key max 5 R1 [4]", -3, params.getColumnPos(3));
1655 assertEquals("7 key max 5 R1 [5]", 0, params.getColumnPos(4));
1656 assertEquals("7 key max 5 R1 [6]", -1, params.getColumnPos(5));
1657 assertEquals("7 key max 5 R1 [7]", -2, params.getColumnPos(6));
1658 assertEquals("7 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
1659 assertEquals("7 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
1660 }
1661
1662 // [7] [5] [6] ___|
1663 // [4] [3] <1> [2] ___|
1664 public void testLayout7KeyMax5R2() {
1665 MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R2);
1666 assertEquals("7 key max 5 R2 columns", 4, params.mNumColumns);
1667 assertEquals("7 key max 5 R2 rows", 2, params.mNumRows);
1668 assertEquals("7 key max 5 R2 left", 2, params.mLeftKeys);
1669 assertEquals("7 key max 5 R2 right", 2, params.mRightKeys);
1670 assertEquals("7 key max 5 R2 <1>", 0, params.getColumnPos(0));
1671 assertEquals("7 key max 5 R2 [2]", 1, params.getColumnPos(1));
1672 assertEquals("7 key max 5 R2 [3]", -1, params.getColumnPos(2));
1673 assertEquals("7 key max 5 R2 [4]", -2, params.getColumnPos(3));
1674 assertEquals("7 key max 5 R2 [5]", 0, params.getColumnPos(4));
1675 assertEquals("7 key max 5 R2 [6]", 1, params.getColumnPos(5));
1676 assertEquals("7 key max 5 R2 [7]", -1, params.getColumnPos(6));
1677 assertEquals("7 key max 5 R2 adjust", -1, params.mTopRowAdjustment);
1678 assertEquals("7 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
1679 }
1680
1681 // [7]
1682 // [6] [4] [5]
1683 // [3] <1> [2]
1684 public void testLayout7KeyMax3M0() {
1685 MoreKeysKeyboardParams params = createParams(7, 3, XPOS_M0);
1686 assertEquals("7 key max 3 M0 columns", 3, params.mNumColumns);
1687 assertEquals("7 key max 3 M0 rows", 3, params.mNumRows);
1688 assertEquals("7 key max 3 M0 left", 1, params.mLeftKeys);
1689 assertEquals("7 key max 3 M0 right", 2, params.mRightKeys);
1690 assertEquals("7 key max 3 M0 <1>", 0, params.getColumnPos(0));
1691 assertEquals("7 key max 3 M0 [2]", 1, params.getColumnPos(1));
1692 assertEquals("7 key max 3 M0 [3]", -1, params.getColumnPos(2));
1693 assertEquals("7 key max 3 M0 [4]", 0, params.getColumnPos(3));
1694 assertEquals("7 key max 3 M0 [5]", 1, params.getColumnPos(4));
1695 assertEquals("7 key max 3 M0 [6]", -1, params.getColumnPos(5));
1696 assertEquals("7 key max 3 M0 [7]", 0, params.getColumnPos(6));
1697 assertEquals("7 key max 3 M0 adjust", 0, params.mTopRowAdjustment);
1698 assertEquals("7 key max 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
1699 }
1700
1701 // |[7]
1702 // |[4] [5] [6]
1703 // |<1> [2] [3]
1704 public void testLayout7KeyMax3L0() {
1705 MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L0);
1706 assertEquals("7 key max 3 L0 columns", 3, params.mNumColumns);
1707 assertEquals("7 key max 3 L0 rows", 3, params.mNumRows);
1708 assertEquals("7 key max 3 L0 left", 0, params.mLeftKeys);
1709 assertEquals("7 key max 3 L0 right", 3, params.mRightKeys);
1710 assertEquals("7 key max 3 L0 <1>", 0, params.getColumnPos(0));
1711 assertEquals("7 key max 3 L0 [2]", 1, params.getColumnPos(1));
1712 assertEquals("7 key max 3 L0 [3]", 2, params.getColumnPos(2));
1713 assertEquals("7 key max 3 L0 [4]", 0, params.getColumnPos(3));
1714 assertEquals("7 key max 3 L0 [5]", 1, params.getColumnPos(4));
1715 assertEquals("7 key max 3 L0 [6]", 2, params.getColumnPos(5));
1716 assertEquals("7 key max 3 L0 [7]", 0, params.getColumnPos(6));
1717 assertEquals("7 key max 3 L0 adjust", 0, params.mTopRowAdjustment);
1718 assertEquals("7 key max 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1719 }
1720
1721 // |___ [7]
1722 // |___ [4] [5] [6]
1723 // |___ <1> [2] [3]
1724 public void testLayout7KeyMax3L1() {
1725 MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L1);
1726 assertEquals("7 key max 3 L1 columns", 3, params.mNumColumns);
1727 assertEquals("7 key max 3 L1 rows", 3, params.mNumRows);
1728 assertEquals("7 key max 3 L1 left", 0, params.mLeftKeys);
1729 assertEquals("7 key max 3 L1 right", 3, params.mRightKeys);
1730 assertEquals("7 key max 3 L1 <1>", 0, params.getColumnPos(0));
1731 assertEquals("7 key max 3 L1 [2]", 1, params.getColumnPos(1));
1732 assertEquals("7 key max 3 L1 [3]", 2, params.getColumnPos(2));
1733 assertEquals("7 key max 3 L1 [4]", 0, params.getColumnPos(3));
1734 assertEquals("7 key max 3 L1 [5]", 1, params.getColumnPos(4));
1735 assertEquals("7 key max 3 L1 [6]", 2, params.getColumnPos(5));
1736 assertEquals("7 key max 3 L1 [7]", 0, params.getColumnPos(6));
1737 assertEquals("7 key max 3 L1 adjust", 0, params.mTopRowAdjustment);
1738 assertEquals("7 key max 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1739 }
1740
1741 // |___ [7]
1742 // |___ [6] [4] [5]
1743 // |___ [3] <1> [2]
1744 public void testLayout7KeyMax3L2() {
1745 MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L2);
1746 assertEquals("7 key max 3 L2 columns", 3, params.mNumColumns);
1747 assertEquals("7 key max 3 L2 rows", 3, params.mNumRows);
1748 assertEquals("7 key max 3 L2 left", 1, params.mLeftKeys);
1749 assertEquals("7 key max 3 L2 right", 2, params.mRightKeys);
1750 assertEquals("7 key max 3 L2 <1>", 0, params.getColumnPos(0));
1751 assertEquals("7 key max 3 L2 [2]", 1, params.getColumnPos(1));
1752 assertEquals("7 key max 3 L2 [3]", -1, params.getColumnPos(2));
1753 assertEquals("7 key max 3 L2 [4]", 0, params.getColumnPos(3));
1754 assertEquals("7 key max 3 L2 [5]", 1, params.getColumnPos(4));
1755 assertEquals("7 key max 3 L2 [6]", -1, params.getColumnPos(5));
1756 assertEquals("7 key max 3 L2 [7]", 0, params.getColumnPos(6));
1757 assertEquals("7 key max 3 L2 adjust", 0, params.mTopRowAdjustment);
1758 assertEquals("7 key max 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1759 }
1760
1761 // [7]|
1762 // [6] [5] [4]|
1763 // [3] [2] <1>|
1764 public void testLayout7KeyMax3R0() {
1765 MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R0);
1766 assertEquals("7 key max 3 R0 columns", 3, params.mNumColumns);
1767 assertEquals("7 key max 3 R0 rows", 3, params.mNumRows);
1768 assertEquals("7 key max 3 R0 left", 2, params.mLeftKeys);
1769 assertEquals("7 key max 3 R0 right", 1, params.mRightKeys);
1770 assertEquals("7 key max 3 R0 <1>", 0, params.getColumnPos(0));
1771 assertEquals("7 key max 3 R0 [2]", -1, params.getColumnPos(1));
1772 assertEquals("7 key max 3 R0 [3]", -2, params.getColumnPos(2));
1773 assertEquals("7 key max 3 R0 [4]", 0, params.getColumnPos(3));
1774 assertEquals("7 key max 3 R0 [5]", -1, params.getColumnPos(4));
1775 assertEquals("7 key max 3 R0 [6]", -2, params.getColumnPos(5));
1776 assertEquals("7 key max 3 R0 [7]", 0, params.getColumnPos(6));
1777 assertEquals("7 key max 3 R0 adjust", 0, params.mTopRowAdjustment);
1778 assertEquals("7 key max 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1779 }
1780
1781 // [7] ___|
1782 // [6] [5] [4] ___|
1783 // [3] [2] <1> ___|
1784 public void testLayout7KeyMax3R1() {
1785 MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R1);
1786 assertEquals("7 key max 3 R1 columns", 3, params.mNumColumns);
1787 assertEquals("7 key max 3 R1 rows", 3, params.mNumRows);
1788 assertEquals("7 key max 3 R1 left", 2, params.mLeftKeys);
1789 assertEquals("7 key max 3 R1 right", 1, params.mRightKeys);
1790 assertEquals("7 key max 3 R1 <1>", 0, params.getColumnPos(0));
1791 assertEquals("7 key max 3 R1 [2]", -1, params.getColumnPos(1));
1792 assertEquals("7 key max 3 R1 [3]", -2, params.getColumnPos(2));
1793 assertEquals("7 key max 3 R1 [4]", 0, params.getColumnPos(3));
1794 assertEquals("7 key max 3 R1 [5]", -1, params.getColumnPos(4));
1795 assertEquals("7 key max 3 R1 [6]", -2, params.getColumnPos(5));
1796 assertEquals("7 key max 3 R1 [7]", 0, params.getColumnPos(6));
1797 assertEquals("7 key max 3 R1 adjust", 0, params.mTopRowAdjustment);
1798 assertEquals("7 key max 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
1799 }
1800
1801 // [7] ___|
1802 // [6] [4] [5] ___|
1803 // [3] <1> [2] ___|
1804 public void testLayout7KeyMax3R2() {
1805 MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R2);
1806 assertEquals("7 key max 3 R2 columns", 3, params.mNumColumns);
1807 assertEquals("7 key max 3 R2 rows", 3, params.mNumRows);
1808 assertEquals("7 key max 3 R2 left", 1, params.mLeftKeys);
1809 assertEquals("7 key max 3 R2 right", 2, params.mRightKeys);
1810 assertEquals("7 key max 3 R2 <1>", 0, params.getColumnPos(0));
1811 assertEquals("7 key max 3 R2 [2]", 1, params.getColumnPos(1));
1812 assertEquals("7 key max 3 R2 [3]", -1, params.getColumnPos(2));
1813 assertEquals("7 key max 3 R2 [4]", 0, params.getColumnPos(3));
1814 assertEquals("7 key max 3 R2 [5]", 1, params.getColumnPos(4));
1815 assertEquals("7 key max 3 R2 [6]", -1, params.getColumnPos(5));
1816 assertEquals("7 key max 3 R2 [7]", 0, params.getColumnPos(6));
1817 assertEquals("7 key max 3 R2 adjust", 0, params.mTopRowAdjustment);
1818 assertEquals("7 key max 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1819 }
1820
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001821 // [7] [5] [6] [8]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001822 // [3] <1> [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001823 public void testLayout8KeyMax5M0() {
1824 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_M0);
1825 assertEquals("8 key max 5 M0 columns", 4, params.mNumColumns);
1826 assertEquals("8 key max 5 M0 rows", 2, params.mNumRows);
1827 assertEquals("8 key max 5 M0 left", 1, params.mLeftKeys);
1828 assertEquals("8 key max 5 M0 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001829 assertEquals("8 key max 5 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001830 assertEquals("8 key max 5 M0 [2]", 1, params.getColumnPos(1));
1831 assertEquals("8 key max 5 M0 [3]", -1, params.getColumnPos(2));
1832 assertEquals("8 key max 5 M0 [4]", 2, params.getColumnPos(3));
1833 assertEquals("8 key max 5 M0 [5]", 0, params.getColumnPos(4));
1834 assertEquals("8 key max 5 M0 [6]", 1, params.getColumnPos(5));
1835 assertEquals("8 key max 5 M0 [7]", -1, params.getColumnPos(6));
1836 assertEquals("8 key max 5 M0 [8]", 2, params.getColumnPos(7));
1837 assertEquals("8 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
1838 assertEquals("8 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001839 }
1840
1841 // |[5] [6] [7] [8]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001842 // |<1> [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001843 public void testLayout8KeyMax5L0() {
1844 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L0);
1845 assertEquals("8 key max 5 L0 columns", 4, params.mNumColumns);
1846 assertEquals("8 key max 5 L0 rows", 2, params.mNumRows);
1847 assertEquals("8 key max 5 L0 left", 0, params.mLeftKeys);
1848 assertEquals("8 key max 5 L0 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001849 assertEquals("8 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001850 assertEquals("8 key max 5 L0 [2]", 1, params.getColumnPos(1));
1851 assertEquals("8 key max 5 L0 [3]", 2, params.getColumnPos(2));
1852 assertEquals("8 key max 5 L0 [4]", 3, params.getColumnPos(3));
1853 assertEquals("8 key max 5 L0 [5]", 0, params.getColumnPos(4));
1854 assertEquals("8 key max 5 L0 [6]", 1, params.getColumnPos(5));
1855 assertEquals("8 key max 5 L0 [7]", 2, params.getColumnPos(6));
1856 assertEquals("8 key max 5 L0 [8]", 3, params.getColumnPos(7));
1857 assertEquals("8 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
1858 assertEquals("8 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001859 }
1860
1861 // |___ [5] [6] [7] [8]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001862 // |___ <1> [2] [3] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001863 public void testLayout8KeyMax5L1() {
1864 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L1);
1865 assertEquals("8 key max 5 L1 columns", 4, params.mNumColumns);
1866 assertEquals("8 key max 5 L1 rows", 2, params.mNumRows);
1867 assertEquals("8 key max 5 L1 left", 0, params.mLeftKeys);
1868 assertEquals("8 key max 5 L1 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001869 assertEquals("8 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001870 assertEquals("8 key max 5 L1 [2]", 1, params.getColumnPos(1));
1871 assertEquals("8 key max 5 L1 [3]", 2, params.getColumnPos(2));
1872 assertEquals("8 key max 5 L1 [4]", 3, params.getColumnPos(3));
1873 assertEquals("8 key max 5 L1 [5]", 0, params.getColumnPos(4));
1874 assertEquals("8 key max 5 L1 [6]", 1, params.getColumnPos(5));
1875 assertEquals("8 key max 5 L1 [7]", 2, params.getColumnPos(6));
1876 assertEquals("8 key max 5 L1 [8]", 3, params.getColumnPos(7));
1877 assertEquals("8 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
1878 assertEquals("8 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001879 }
1880
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001881 // |___ [7] [5] [6] [8]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001882 // |___ [3] <1> [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001883 public void testLayout8KeyMax5L2() {
1884 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L2);
1885 assertEquals("8 key max 5 L2 columns", 4, params.mNumColumns);
1886 assertEquals("8 key max 5 L2 rows", 2, params.mNumRows);
1887 assertEquals("8 key max 5 L2 left", 1, params.mLeftKeys);
1888 assertEquals("8 key max 5 L2 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001889 assertEquals("8 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001890 assertEquals("8 key max 5 L2 [2]", 1, params.getColumnPos(1));
1891 assertEquals("8 key max 5 L2 [3]", -1, params.getColumnPos(2));
1892 assertEquals("8 key max 5 L2 [4]", 2, params.getColumnPos(3));
1893 assertEquals("8 key max 5 L2 [5]", 0, params.getColumnPos(4));
1894 assertEquals("8 key max 5 L2 [6]", 1, params.getColumnPos(5));
1895 assertEquals("8 key max 5 L2 [7]", -1, params.getColumnPos(6));
1896 assertEquals("8 key max 5 L2 [8]", 2, params.getColumnPos(7));
1897 assertEquals("8 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
1898 assertEquals("8 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001899 }
1900
1901 // [8] [7] [6] [5]|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001902 // [4] [3] [2] <1>|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001903 public void testLayout8KeyMax5R0() {
1904 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R0);
1905 assertEquals("8 key max 5 R0 columns", 4, params.mNumColumns);
1906 assertEquals("8 key max 5 R0 rows", 2, params.mNumRows);
1907 assertEquals("8 key max 5 R0 left", 3, params.mLeftKeys);
1908 assertEquals("8 key max 5 R0 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001909 assertEquals("8 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001910 assertEquals("8 key max 5 R0 [2]", -1, params.getColumnPos(1));
1911 assertEquals("8 key max 5 R0 [3]", -2, params.getColumnPos(2));
1912 assertEquals("8 key max 5 R0 [4]", -3, params.getColumnPos(3));
1913 assertEquals("8 key max 5 R0 [5]", 0, params.getColumnPos(4));
1914 assertEquals("8 key max 5 R0 [6]", -1, params.getColumnPos(5));
1915 assertEquals("8 key max 5 R0 [7]", -2, params.getColumnPos(6));
1916 assertEquals("8 key max 5 R0 [8]", -3, params.getColumnPos(7));
1917 assertEquals("8 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
1918 assertEquals("8 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001919 }
1920
1921 // [8] [7] [6] [5] ___|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001922 // [4] [3] [2] <1> ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001923 public void testLayout8KeyMax5R1() {
1924 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R1);
1925 assertEquals("8 key max 5 R1 columns", 4, params.mNumColumns);
1926 assertEquals("8 key max 5 R1 rows", 2, params.mNumRows);
1927 assertEquals("8 key max 5 R1 left", 3, params.mLeftKeys);
1928 assertEquals("8 key max 5 R1 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001929 assertEquals("8 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001930 assertEquals("8 key max 5 R1 [2]", -1, params.getColumnPos(1));
1931 assertEquals("8 key max 5 R1 [3]", -2, params.getColumnPos(2));
1932 assertEquals("8 key max 5 R1 [4]", -3, params.getColumnPos(3));
1933 assertEquals("8 key max 5 R1 [5]", 0, params.getColumnPos(4));
1934 assertEquals("8 key max 5 R1 [6]", -1, params.getColumnPos(5));
1935 assertEquals("8 key max 5 R1 [7]", -2, params.getColumnPos(6));
1936 assertEquals("8 key max 5 R1 [8]", -3, params.getColumnPos(7));
1937 assertEquals("8 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
1938 assertEquals("8 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09001939 }
1940
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001941 // [8] [7] [5] [6] ___|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001942 // [4] [3] <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001943 public void testLayout8KeyMax5R2() {
1944 MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R2);
1945 assertEquals("8 key max 5 R2 columns", 4, params.mNumColumns);
1946 assertEquals("8 key max 5 R2 rows", 2, params.mNumRows);
1947 assertEquals("8 key max 5 R2 left", 2, params.mLeftKeys);
1948 assertEquals("8 key max 5 R2 right", 2, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001949 assertEquals("8 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001950 assertEquals("8 key max 5 R2 [2]", 1, params.getColumnPos(1));
1951 assertEquals("8 key max 5 R2 [3]", -1, params.getColumnPos(2));
1952 assertEquals("8 key max 5 R2 [4]", -2, params.getColumnPos(3));
1953 assertEquals("8 key max 5 R2 [5]", 0, params.getColumnPos(4));
1954 assertEquals("8 key max 5 R2 [6]", 1, params.getColumnPos(5));
1955 assertEquals("8 key max 5 R2 [7]", -1, params.getColumnPos(6));
1956 assertEquals("8 key max 5 R2 [8]", -2, params.getColumnPos(7));
1957 assertEquals("8 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
1958 assertEquals("8 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001959 }
1960
1961 // [8] [6] [7] [9]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001962 // [5] [3] <1> [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001963 public void testLayout9KeyMax5M0() {
1964 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_M0);
1965 assertEquals("9 key max 5 M0 columns", 5, params.mNumColumns);
1966 assertEquals("9 key max 5 M0 rows", 2, params.mNumRows);
1967 assertEquals("9 key max 5 M0 left", 2, params.mLeftKeys);
1968 assertEquals("9 key max 5 M0 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001969 assertEquals("9 key max 5 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001970 assertEquals("9 key max 5 M0 [2]", 1, params.getColumnPos(1));
1971 assertEquals("9 key max 5 M0 [3]", -1, params.getColumnPos(2));
1972 assertEquals("9 key max 5 M0 [4]", 2, params.getColumnPos(3));
1973 assertEquals("9 key max 5 M0 [5]", -2, params.getColumnPos(4));
1974 assertEquals("9 key max 5 M0 [6]", 0, params.getColumnPos(5));
1975 assertEquals("9 key max 5 M0 [7]", 1, params.getColumnPos(6));
1976 assertEquals("9 key max 5 M0 [8]", -1, params.getColumnPos(7));
1977 assertEquals("9 key max 5 M0 [9]", 2, params.getColumnPos(8));
1978 assertEquals("9 key max 5 M0 adjust", -1, params.mTopRowAdjustment);
1979 assertEquals("9 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09001980 }
1981
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001982 // |[6] [7] [8] [9]
1983 // |<1> [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001984 public void testLayout9KeyMax5L0() {
1985 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L0);
1986 assertEquals("9 key max 5 L0 columns", 5, params.mNumColumns);
1987 assertEquals("9 key max 5 L0 rows", 2, params.mNumRows);
1988 assertEquals("9 key max 5 L0 left", 0, params.mLeftKeys);
1989 assertEquals("9 key max 5 L0 right", 5, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001990 assertEquals("9 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09001991 assertEquals("9 key max 5 L0 [2]", 1, params.getColumnPos(1));
1992 assertEquals("9 key max 5 L0 [3]", 2, params.getColumnPos(2));
1993 assertEquals("9 key max 5 L0 [4]", 3, params.getColumnPos(3));
1994 assertEquals("9 key max 5 L0 [5]", 4, params.getColumnPos(4));
1995 assertEquals("9 key max 5 L0 [6]", 0, params.getColumnPos(5));
1996 assertEquals("9 key max 5 L0 [7]", 1, params.getColumnPos(6));
1997 assertEquals("9 key max 5 L0 [8]", 2, params.getColumnPos(7));
1998 assertEquals("9 key max 5 L0 [9]", 3, params.getColumnPos(8));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08001999 assertEquals("9 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002000 assertEquals("9 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09002001 }
2002
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002003 // |___ [6] [7] [8] [9]
2004 // |___ <1> [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002005 public void testLayout9KeyMax5L1() {
2006 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L1);
2007 assertEquals("9 key max 5 L1 columns", 5, params.mNumColumns);
2008 assertEquals("9 key max 5 L1 rows", 2, params.mNumRows);
2009 assertEquals("9 key max 5 L1 left", 0, params.mLeftKeys);
2010 assertEquals("9 key max 5 L1 right", 5, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002011 assertEquals("9 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002012 assertEquals("9 key max 5 L1 [2]", 1, params.getColumnPos(1));
2013 assertEquals("9 key max 5 L1 [3]", 2, params.getColumnPos(2));
2014 assertEquals("9 key max 5 L1 [4]", 3, params.getColumnPos(3));
2015 assertEquals("9 key max 5 L1 [5]", 4, params.getColumnPos(4));
2016 assertEquals("9 key max 5 L1 [6]", 0, params.getColumnPos(5));
2017 assertEquals("9 key max 5 L1 [7]", 1, params.getColumnPos(6));
2018 assertEquals("9 key max 5 L1 [8]", 2, params.getColumnPos(7));
2019 assertEquals("9 key max 5 L1 [9]", 3, params.getColumnPos(8));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002020 assertEquals("9 key max 5 L1 adjust",0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002021 assertEquals("9 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002022 }
2023
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002024 // |___ [6] [7] [8] [9]
2025 // |___ [3] <1> [2] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002026 public void testLayout9KeyMax5L2() {
2027 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L2);
2028 assertEquals("9 key max 5 L2 columns", 5, params.mNumColumns);
2029 assertEquals("9 key max 5 L2 rows", 2, params.mNumRows);
2030 assertEquals("9 key max 5 L2 left", 1, params.mLeftKeys);
2031 assertEquals("9 key max 5 L2 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002032 assertEquals("9 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002033 assertEquals("9 key max 5 L2 [2]", 1, params.getColumnPos(1));
2034 assertEquals("9 key max 5 L2 [3]", -1, params.getColumnPos(2));
2035 assertEquals("9 key max 5 L2 [4]", 2, params.getColumnPos(3));
2036 assertEquals("9 key max 5 L2 [5]", 3, params.getColumnPos(4));
2037 assertEquals("9 key max 5 L2 [6]", 0, params.getColumnPos(5));
2038 assertEquals("9 key max 5 L2 [7]", 1, params.getColumnPos(6));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002039 assertEquals("9 key max 5 L2 [8]", 2, params.getColumnPos(7));
2040 assertEquals("9 key max 5 L2 [9]", 3, params.getColumnPos(8));
2041 assertEquals("9 key max 5 L2 adjust", -1, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002042 assertEquals("9 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002043 }
2044
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002045 // [9] [8] [7] [6]|
2046 // [5] [4] [3] [2] <1>|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002047 public void testLayout9KeyMax5R0() {
2048 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R0);
2049 assertEquals("9 key max 5 R0 columns", 5, params.mNumColumns);
2050 assertEquals("9 key max 5 R0 rows", 2, params.mNumRows);
2051 assertEquals("9 key max 5 R0 left", 4, params.mLeftKeys);
2052 assertEquals("9 key max 5 R0 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002053 assertEquals("9 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002054 assertEquals("9 key max 5 R0 [2]", -1, params.getColumnPos(1));
2055 assertEquals("9 key max 5 R0 [3]", -2, params.getColumnPos(2));
2056 assertEquals("9 key max 5 R0 [4]", -3, params.getColumnPos(3));
2057 assertEquals("9 key max 5 R0 [5]", -4, params.getColumnPos(4));
2058 assertEquals("9 key max 5 R0 [6]", 0, params.getColumnPos(5));
2059 assertEquals("9 key max 5 R0 [7]", -1, params.getColumnPos(6));
2060 assertEquals("9 key max 5 R0 [8]", -2, params.getColumnPos(7));
2061 assertEquals("9 key max 5 R0 [9]", -3, params.getColumnPos(8));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002062 assertEquals("9 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002063 assertEquals("9 key max 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002064 }
2065
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002066 // [9] [8] [7] [6] ___|
2067 // [5] [4] [3] [2] <1> ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002068 public void testLayout9KeyMax5R1() {
2069 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R1);
2070 assertEquals("9 key max 5 R1 columns", 5, params.mNumColumns);
2071 assertEquals("9 key max 5 R1 rows", 2, params.mNumRows);
2072 assertEquals("9 key max 5 R1 left", 4, params.mLeftKeys);
2073 assertEquals("9 key max 5 R1 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002074 assertEquals("9 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002075 assertEquals("9 key max 5 R1 [2]", -1, params.getColumnPos(1));
2076 assertEquals("9 key max 5 R1 [3]", -2, params.getColumnPos(2));
2077 assertEquals("9 key max 5 R1 [4]", -3, params.getColumnPos(3));
2078 assertEquals("9 key max 5 R1 [5]", -4, params.getColumnPos(4));
2079 assertEquals("9 key max 5 R1 [6]", 0, params.getColumnPos(5));
2080 assertEquals("9 key max 5 R1 [7]", -1, params.getColumnPos(6));
2081 assertEquals("9 key max 5 R1 [8]", -2, params.getColumnPos(7));
2082 assertEquals("9 key max 5 R1 [9]", -3, params.getColumnPos(8));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002083 assertEquals("9 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002084 assertEquals("9 key max 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002085 }
2086
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002087 // [9] [8] [6] [7] ___|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002088 // [5] [4] [3] <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002089 public void testLayout9KeyMax5R2() {
2090 MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R2);
2091 assertEquals("9 key max 5 R2 columns", 5, params.mNumColumns);
2092 assertEquals("9 key max 5 R2 rows", 2, params.mNumRows);
2093 assertEquals("9 key max 5 R2 left", 3, params.mLeftKeys);
2094 assertEquals("9 key max 5 R2 right", 2, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002095 assertEquals("9 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002096 assertEquals("9 key max 5 R2 [2]", 1, params.getColumnPos(1));
2097 assertEquals("9 key max 5 R2 [3]", -1, params.getColumnPos(2));
2098 assertEquals("9 key max 5 R2 [4]", -2, params.getColumnPos(3));
2099 assertEquals("9 key max 5 R2 [5]", -3, params.getColumnPos(4));
2100 assertEquals("9 key max 5 R2 [6]", 0, params.getColumnPos(5));
2101 assertEquals("9 key max 5 R2 [7]", 1, params.getColumnPos(6));
2102 assertEquals("9 key max 5 R2 [8]", -1, params.getColumnPos(7));
2103 assertEquals("9 key max 5 R2 [9]", -2, params.getColumnPos(8));
2104 assertEquals("9 key max 5 R2 adjust", -1, params.mTopRowAdjustment);
2105 assertEquals("9 key max 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002106 }
2107
2108 // [A] [8] [6] [7] [9]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002109 // [5] [3] <1> [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002110 public void testLayout10KeyMax5M0() {
2111 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_M0);
2112 assertEquals("10 key max 5 M0 columns", 5, params.mNumColumns);
2113 assertEquals("10 key max 5 M0 rows", 2, params.mNumRows);
2114 assertEquals("10 key max 5 M0 left", 2, params.mLeftKeys);
2115 assertEquals("10 key max 5 M0 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002116 assertEquals("10 key max 5 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002117 assertEquals("10 key max 5 M0 [2]", 1, params.getColumnPos(1));
2118 assertEquals("10 key max 5 M0 [3]", -1, params.getColumnPos(2));
2119 assertEquals("10 key max 5 M0 [4]", 2, params.getColumnPos(3));
2120 assertEquals("10 key max 5 M0 [5]", -2, params.getColumnPos(4));
2121 assertEquals("10 key max 5 M0 [6]", 0, params.getColumnPos(5));
2122 assertEquals("10 key max 5 M0 [7]", 1, params.getColumnPos(6));
2123 assertEquals("10 key max 5 M0 [8]", -1, params.getColumnPos(7));
2124 assertEquals("10 key max 5 M0 [9]", 2, params.getColumnPos(8));
2125 assertEquals("10 key max 5 M0 [A]", -2, params.getColumnPos(9));
2126 assertEquals("10 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
2127 assertEquals("10 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002128 }
2129
2130 // |[6] [7] [8] [9] [A]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002131 // |<1> [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002132 public void testLayout10KeyMax5L0() {
2133 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L0);
2134 assertEquals("10 key max 5 L0 columns", 5, params.mNumColumns);
2135 assertEquals("10 key max 5 L0 rows", 2, params.mNumRows);
2136 assertEquals("10 key max 5 L0 left", 0, params.mLeftKeys);
2137 assertEquals("10 key max 5 L0 right", 5, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002138 assertEquals("10 key max 5 L0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002139 assertEquals("10 key max 5 L0 [2]", 1, params.getColumnPos(1));
2140 assertEquals("10 key max 5 L0 [3]", 2, params.getColumnPos(2));
2141 assertEquals("10 key max 5 L0 [4]", 3, params.getColumnPos(3));
2142 assertEquals("10 key max 5 L0 [5]", 4, params.getColumnPos(4));
2143 assertEquals("10 key max 5 L0 [6]", 0, params.getColumnPos(5));
2144 assertEquals("10 key max 5 L0 [7]", 1, params.getColumnPos(6));
2145 assertEquals("10 key max 5 L0 [8]", 2, params.getColumnPos(7));
2146 assertEquals("10 key max 5 L0 [9]", 3, params.getColumnPos(8));
2147 assertEquals("10 key max 5 L0 [A]", 4, params.getColumnPos(9));
2148 assertEquals("10 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
2149 assertEquals("10 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002150 }
2151
2152 // |___ [6] [7] [8] [9] [A]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002153 // |___ <1> [2] [3] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002154 public void testLayout10KeyMax5L1() {
2155 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L1);
2156 assertEquals("10 key max 5 L1 columns", 5, params.mNumColumns);
2157 assertEquals("10 key max 5 L1 rows", 2, params.mNumRows);
2158 assertEquals("10 key max 5 L1 left", 0, params.mLeftKeys);
2159 assertEquals("10 key max 5 L1 right", 5, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002160 assertEquals("10 key max 5 L1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002161 assertEquals("10 key max 5 L1 [2]", 1, params.getColumnPos(1));
2162 assertEquals("10 key max 5 L1 [3]", 2, params.getColumnPos(2));
2163 assertEquals("10 key max 5 L1 [4]", 3, params.getColumnPos(3));
2164 assertEquals("10 key max 5 L1 [5]", 4, params.getColumnPos(4));
2165 assertEquals("10 key max 5 L1 [6]", 0, params.getColumnPos(5));
2166 assertEquals("10 key max 5 L1 [7]", 1, params.getColumnPos(6));
2167 assertEquals("10 key max 5 L1 [8]", 2, params.getColumnPos(7));
2168 assertEquals("10 key max 5 L1 [9]", 3, params.getColumnPos(8));
2169 assertEquals("10 key max 5 L1 [A]", 4, params.getColumnPos(9));
2170 assertEquals("10 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
2171 assertEquals("10 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002172 }
2173
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002174 // |___ [8] [6] [7] [9] [A]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002175 // |___ [3] <1> [2] [4] [5]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002176 public void testLayout10KeyMax5L2() {
2177 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L2);
2178 assertEquals("10 key max 5 L2 columns", 5, params.mNumColumns);
2179 assertEquals("10 key max 5 L2 rows", 2, params.mNumRows);
2180 assertEquals("10 key max 5 L2 left", 1, params.mLeftKeys);
2181 assertEquals("10 key max 5 L2 right", 4, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002182 assertEquals("10 key max 5 L2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002183 assertEquals("10 key max 5 L2 [2]", 1, params.getColumnPos(1));
2184 assertEquals("10 key max 5 L2 [3]", -1, params.getColumnPos(2));
2185 assertEquals("10 key max 5 L2 [4]", 2, params.getColumnPos(3));
2186 assertEquals("10 key max 5 L2 [5]", 3, params.getColumnPos(4));
2187 assertEquals("10 key max 5 L2 [6]", 0, params.getColumnPos(5));
2188 assertEquals("10 key max 5 L2 [7]", 1, params.getColumnPos(6));
2189 assertEquals("10 key max 5 L2 [8]", -1, params.getColumnPos(7));
2190 assertEquals("10 key max 5 L2 [9]", 2, params.getColumnPos(8));
2191 assertEquals("10 key max 5 L2 [A]", 3, params.getColumnPos(9));
2192 assertEquals("10 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
2193 assertEquals("10 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002194 }
2195
2196 // [A] [9] [8] [7] [6]|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002197 // [5] [4] [3] [2] <1>|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002198 public void testLayout10KeyMax5R0() {
2199 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R0);
2200 assertEquals("10 key max 5 R0 columns", 5, params.mNumColumns);
2201 assertEquals("10 key max 5 R0 rows", 2, params.mNumRows);
2202 assertEquals("10 key max 5 R0 left", 4, params.mLeftKeys);
2203 assertEquals("10 key max 5 R0 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002204 assertEquals("10 key max 5 R0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002205 assertEquals("10 key max 5 R0 [2]", -1, params.getColumnPos(1));
2206 assertEquals("10 key max 5 R0 [3]", -2, params.getColumnPos(2));
2207 assertEquals("10 key max 5 R0 [4]", -3, params.getColumnPos(3));
2208 assertEquals("10 key max 5 R0 [5]", -4, params.getColumnPos(4));
2209 assertEquals("10 key max 5 R0 [6]", 0, params.getColumnPos(5));
2210 assertEquals("10 key max 5 R0 [7]", -1, params.getColumnPos(6));
2211 assertEquals("10 key max 5 R0 [8]", -2, params.getColumnPos(7));
2212 assertEquals("10 key max 5 R0 [9]", -3, params.getColumnPos(8));
2213 assertEquals("10 key max 5 R0 [A]", -4, params.getColumnPos(9));
2214 assertEquals("10 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
2215 assertEquals("10 key max 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002216 }
2217
2218 // [A] [9] [8] [7] [6] ___|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002219 // [5] [4] [3] [2] <1> ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002220 public void testLayout10KeyMax5R1() {
2221 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R1);
2222 assertEquals("10 key max 5 R1 columns", 5, params.mNumColumns);
2223 assertEquals("10 key max 5 R1 rows", 2, params.mNumRows);
2224 assertEquals("10 key max 5 R1 left", 4, params.mLeftKeys);
2225 assertEquals("10 key max 5 R1 right", 1, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002226 assertEquals("10 key max 5 R1 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002227 assertEquals("10 key max 5 R1 [2]", -1, params.getColumnPos(1));
2228 assertEquals("10 key max 5 R1 [3]", -2, params.getColumnPos(2));
2229 assertEquals("10 key max 5 R1 [4]", -3, params.getColumnPos(3));
2230 assertEquals("10 key max 5 R1 [5]", -4, params.getColumnPos(4));
2231 assertEquals("10 key max 5 R1 [6]", 0, params.getColumnPos(5));
2232 assertEquals("10 key max 5 R1 [7]", -1, params.getColumnPos(6));
2233 assertEquals("10 key max 5 R1 [8]", -2, params.getColumnPos(7));
2234 assertEquals("10 key max 5 R1 [9]", -3, params.getColumnPos(8));
2235 assertEquals("10 key max 5 R1 [A]", -4, params.getColumnPos(9));
2236 assertEquals("10 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
2237 assertEquals("10 key max 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002238 }
2239
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002240 // [A] [9] [8] [6] [7] ___|
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002241 // [5] [4] [3] <1> [2] ___|
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002242 public void testLayout10KeyMax5R2() {
2243 MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R2);
2244 assertEquals("10 key max 5 R2 columns", 5, params.mNumColumns);
2245 assertEquals("10 key max 5 R2 rows", 2, params.mNumRows);
2246 assertEquals("10 key max 5 R2 left", 3, params.mLeftKeys);
2247 assertEquals("10 key max 5 R2 right", 2, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002248 assertEquals("10 key max 5 R2 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002249 assertEquals("10 key max 5 R2 [2]", 1, params.getColumnPos(1));
2250 assertEquals("10 key max 5 R2 [3]", -1, params.getColumnPos(2));
2251 assertEquals("10 key max 5 R2 [4]", -2, params.getColumnPos(3));
2252 assertEquals("10 key max 5 R2 [5]", -3, params.getColumnPos(4));
2253 assertEquals("10 key max 5 R2 [6]", 0, params.getColumnPos(5));
2254 assertEquals("10 key max 5 R2 [7]", 1, params.getColumnPos(6));
2255 assertEquals("10 key max 5 R2 [8]", -1, params.getColumnPos(7));
2256 assertEquals("10 key max 5 R2 [9]", -2, params.getColumnPos(8));
2257 assertEquals("10 key max 5 R2 [A]", -3, params.getColumnPos(9));
2258 assertEquals("10 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
2259 assertEquals("10 key max 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002260 }
2261
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002262 // [9] [A] [B]
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002263 // [7] [5] [6] [8]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002264 // [3] <1> [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002265 public void testLayout11KeyMax5M0() {
2266 MoreKeysKeyboardParams params = createParams(11, 5, XPOS_M0);
2267 assertEquals("11 key max 5 M0 columns", 4, params.mNumColumns);
2268 assertEquals("11 key max 5 M0 rows", 3, params.mNumRows);
2269 assertEquals("11 key max 5 M0 left", 1, params.mLeftKeys);
2270 assertEquals("11 key max 5 M0 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002271 assertEquals("11 key max 5 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002272 assertEquals("11 key max 5 M0 [2]", 1, params.getColumnPos(1));
2273 assertEquals("11 key max 5 M0 [3]", -1, params.getColumnPos(2));
2274 assertEquals("11 key max 5 M0 [4]", 2, params.getColumnPos(3));
2275 assertEquals("11 key max 5 M0 [5]", 0, params.getColumnPos(4));
2276 assertEquals("11 key max 5 M0 [6]", 1, params.getColumnPos(5));
2277 assertEquals("11 key max 5 M0 [7]", -1, params.getColumnPos(6));
2278 assertEquals("11 key max 5 M0 [8]", 2, params.getColumnPos(7));
2279 assertEquals("11 key max 5 M0 [9]", 0, params.getColumnPos(8));
2280 assertEquals("11 key max 5 M0 [A]", 1, params.getColumnPos(9));
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002281 assertEquals("11 key max 5 M0 [B]", 2, params.getColumnPos(10));
2282 assertEquals("11 key max 5 M0 adjust", -1, params.mTopRowAdjustment);
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002283 assertEquals("11 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002284 }
2285
2286 // [B] [9] [A] [C]
2287 // [7] [5] [6] [8]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002288 // [3] <1> [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002289 public void testLayout12KeyMax5M0() {
2290 MoreKeysKeyboardParams params = createParams(12, 5, XPOS_M0);
2291 assertEquals("12 key max 5 M0 columns", 4, params.mNumColumns);
2292 assertEquals("12 key max 5 M0 rows", 3, params.mNumRows);
2293 assertEquals("12 key max 5 M0 left", 1, params.mLeftKeys);
2294 assertEquals("12 key max 5 M0 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002295 assertEquals("12 key max 5 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002296 assertEquals("12 key max 5 M0 [2]", 1, params.getColumnPos(1));
2297 assertEquals("12 key max 5 M0 [3]", -1, params.getColumnPos(2));
2298 assertEquals("12 key max 5 M0 [4]", 2, params.getColumnPos(3));
2299 assertEquals("12 key max 5 M0 [5]", 0, params.getColumnPos(4));
2300 assertEquals("12 key max 5 M0 [6]", 1, params.getColumnPos(5));
2301 assertEquals("12 key max 5 M0 [7]", -1, params.getColumnPos(6));
2302 assertEquals("12 key max 5 M0 [8]", 2, params.getColumnPos(7));
2303 assertEquals("12 key max 5 M0 [9]", 0, params.getColumnPos(8));
2304 assertEquals("12 key max 5 M0 [A]", 1, params.getColumnPos(9));
2305 assertEquals("12 key max 5 M0 [B]", -1, params.getColumnPos(10));
2306 assertEquals("12 key max 5 M0 [C]", 2, params.getColumnPos(11));
2307 assertEquals("12 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
2308 assertEquals("12 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09002309 }
2310
Tadashi G. Takaoka5d542c22011-04-13 17:57:29 +09002311 // [D] [B] [C]
2312 // [A] [8] [6] [7] [9]
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002313 // [5] [3] <1> [2] [4]
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002314 public void testLayout13KeyMax5M0() {
2315 MoreKeysKeyboardParams params = createParams(13, 5, XPOS_M0);
2316 assertEquals("13 key max 5 M0 columns", 5, params.mNumColumns);
2317 assertEquals("13 key max 5 M0 rows", 3, params.mNumRows);
2318 assertEquals("13 key max 5 M0 left", 2, params.mLeftKeys);
2319 assertEquals("13 key max 5 M0 right", 3, params.mRightKeys);
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002320 assertEquals("13 key max 5 M0 <1>", 0, params.getColumnPos(0));
Tadashi G. Takaoka62139832012-02-10 00:33:27 +09002321 assertEquals("13 key max 5 M0 [2]", 1, params.getColumnPos(1));
2322 assertEquals("13 key max 5 M0 [3]", -1, params.getColumnPos(2));
2323 assertEquals("13 key max 5 M0 [4]", 2, params.getColumnPos(3));
2324 assertEquals("13 key max 5 M0 [5]", -2, params.getColumnPos(4));
2325 assertEquals("13 key max 5 M0 [6]", 0, params.getColumnPos(5));
2326 assertEquals("13 key max 5 M0 [7]", 1, params.getColumnPos(6));
2327 assertEquals("13 key max 5 M0 [8]", -1, params.getColumnPos(7));
2328 assertEquals("13 key max 5 M0 [9]", 2, params.getColumnPos(8));
2329 assertEquals("13 key max 5 M0 [A]", -2, params.getColumnPos(9));
2330 assertEquals("13 key max 5 M0 [B]", 0, params.getColumnPos(10));
2331 assertEquals("13 key max 5 M0 [C]", 1, params.getColumnPos(11));
2332 assertEquals("13 key max 5 M0 [D]", -1, params.getColumnPos(12));
2333 assertEquals("13 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
2334 assertEquals("13 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09002335 }
Tadashi G. Takaokaaeeed752012-02-13 14:34:09 -08002336
2337 // [D] [B] [C] [E]
2338 // [A] [8] [6] [7] [9]
2339 // [5] [3] <1> [2] [4]
2340 public void testLayout14KeyMax5M0() {
2341 MoreKeysKeyboardParams params = createParams(14, 5, XPOS_M0);
2342 assertEquals("13 key max 5 M0 columns", 5, params.mNumColumns);
2343 assertEquals("13 key max 5 M0 rows", 3, params.mNumRows);
2344 assertEquals("13 key max 5 M0 left", 2, params.mLeftKeys);
2345 assertEquals("13 key max 5 M0 right", 3, params.mRightKeys);
2346 assertEquals("13 key max 5 M0 <1>", 0, params.getColumnPos(0));
2347 assertEquals("13 key max 5 M0 [2]", 1, params.getColumnPos(1));
2348 assertEquals("13 key max 5 M0 [3]", -1, params.getColumnPos(2));
2349 assertEquals("13 key max 5 M0 [4]", 2, params.getColumnPos(3));
2350 assertEquals("13 key max 5 M0 [5]", -2, params.getColumnPos(4));
2351 assertEquals("13 key max 5 M0 [6]", 0, params.getColumnPos(5));
2352 assertEquals("13 key max 5 M0 [7]", 1, params.getColumnPos(6));
2353 assertEquals("13 key max 5 M0 [8]", -1, params.getColumnPos(7));
2354 assertEquals("13 key max 5 M0 [9]", 2, params.getColumnPos(8));
2355 assertEquals("13 key max 5 M0 [A]", -2, params.getColumnPos(9));
2356 assertEquals("13 key max 5 M0 [B]", 0, params.getColumnPos(10));
2357 assertEquals("13 key max 5 M0 [C]", 1, params.getColumnPos(11));
2358 assertEquals("13 key max 5 M0 [D]", -1, params.getColumnPos(12));
2359 assertEquals("13 key max 5 M0 [E]", 2, params.getColumnPos(13));
2360 assertEquals("13 key max 5 M0 adjust", -1, params.mTopRowAdjustment);
2361 assertEquals("13 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
2362 }
Tadashi G. Takaoka04c96ab2011-01-19 20:59:57 +09002363}