1a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka/*
2a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * Copyright (C) 2014 The Android Open Source Project
3a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka *
4a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License");
5a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * you may not use this file except in compliance with the License.
6a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * You may obtain a copy of the License at
7a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka *
8a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka *      http://www.apache.org/licenses/LICENSE-2.0
9a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka *
10a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software
11a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS,
12a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * See the License for the specific language governing permissions and
14a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka * limitations under the License.
15a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka */
16a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
17a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaokapackage com.android.inputmethod.keyboard;
18a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
19a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaokaimport android.test.AndroidTestCase;
20a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaokaimport android.test.suitebuilder.annotation.MediumTest;
21a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
22a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaokaimport com.android.inputmethod.keyboard.MoreKeysKeyboard.MoreKeysKeyboardParams;
23a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
24a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka@MediumTest
25a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaokapublic class MoreKeysKeyboardBuilderAutoOrderTests extends AndroidTestCase {
26a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int WIDTH = 10;
27a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int HEIGHT = 10;
28a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
29a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int KEYBOARD_WIDTH = WIDTH * 10;
30a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_L0 = WIDTH * 0 + WIDTH / 2;
31a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_L1 = WIDTH * 1 + WIDTH / 2;
32a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_L2 = WIDTH * 2 + WIDTH / 2;
33a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_L3 = WIDTH * 3 + WIDTH / 2;
34a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_M0 = WIDTH * 4 + WIDTH / 2;
35a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_M1 = WIDTH * 5 + WIDTH / 2;
36a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_R3 = WIDTH * 6 + WIDTH / 2;
37a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_R2 = WIDTH * 7 + WIDTH / 2;
38a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_R1 = WIDTH * 8 + WIDTH / 2;
39a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static final int XPOS_R0 = WIDTH * 9 + WIDTH / 2;
40a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
41a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    @Override
42a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    protected void setUp() throws Exception {
43a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        super.setUp();
44a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
45a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
46a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    private static MoreKeysKeyboardParams createParams(final int numKeys, final int columnNum,
47a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka            final int coordXInParent) {
48a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        final MoreKeysKeyboardParams params = new MoreKeysKeyboardParams();
49a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        params.setParameters(numKeys, columnNum, WIDTH, HEIGHT, coordXInParent, KEYBOARD_WIDTH,
50a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka                true /* isMoreKeysFixedColumn */, false /* isMoreKeysFixedOrder */,
51a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka                0 /* dividerWidth */);
52a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        return params;
53a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
54a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
55a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayoutError() {
56a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = null;
57a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        try {
58a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka            final int maxColumns = KEYBOARD_WIDTH / WIDTH;
59a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka            params = createParams(maxColumns + 1, maxColumns + 1, HEIGHT);
60a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka            fail("Should throw IllegalArgumentException");
61a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        } catch (IllegalArgumentException e) {
62a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka            // Too small keyboard to hold more keys keyboard.
63a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        }
64a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertNull("Too small keyboard to hold more keys keyboard", params);
65a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
66a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
67a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // More keys keyboard layout test.
68a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // "[n]" represents n-th key position in more keys keyboard.
69a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // "<1>" is the default key.
70a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
71a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // <1>
72a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout1KeyAuto5M0() {
73a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(1, 5, XPOS_M0);
74a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 M0 columns", 1, params.mNumColumns);
75a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 M0 rows", 1, params.mNumRows);
76a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 M0 left", 0, params.mLeftKeys);
77a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 M0 right", 1, params.mRightKeys);
78a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 M0 <1>", 0, params.getColumnPos(0));
79a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
80a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
81a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
82a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
83a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1>
84a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout1KeyAuto5L0() {
85a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L0);
86a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L0 columns", 1, params.mNumColumns);
87a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L0 rows", 1, params.mNumRows);
88a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L0 left", 0, params.mLeftKeys);
89a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L0 right", 1, params.mRightKeys);
90a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L0 <1>", 0, params.getColumnPos(0));
91a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
92a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
93a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
94a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
95a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1>
96a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout1KeyAuto5L1() {
97a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L1);
98a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L1 columns", 1, params.mNumColumns);
99a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L1 rows", 1, params.mNumRows);
100a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L1 left", 0, params.mLeftKeys);
101a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L1 right", 1, params.mRightKeys);
102a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L1 <1>", 0, params.getColumnPos(0));
103a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
104a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
105a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
106a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
107a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ <1>
108a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout1KeyAuto5L2() {
109a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L2);
110a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L2 columns", 1, params.mNumColumns);
111a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L2 rows", 1, params.mNumRows);
112a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L2 left", 0, params.mLeftKeys);
113a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L2 right", 1, params.mRightKeys);
114a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L2 <1>", 0, params.getColumnPos(0));
115a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L2 adjust", 0, params.mTopRowAdjustment);
116a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
117a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
118a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
119a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // <1>|
120a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout1KeyAuto5R0() {
121a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R0);
122a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R0 columns", 1, params.mNumColumns);
123a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R0 rows", 1, params.mNumRows);
124a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R0 left", 0, params.mLeftKeys);
125a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R0 right", 1, params.mRightKeys);
126a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R0 <1>", 0, params.getColumnPos(0));
127a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
128a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R0 default", WIDTH * 0, params.getDefaultKeyCoordX());
129a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
130a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
131a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // <1> ___|
132a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout1KeyAuto5R1() {
133a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R1);
134a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R1 columns", 1, params.mNumColumns);
135a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R1 rows", 1, params.mNumRows);
136a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R1 left", 0, params.mLeftKeys);
137a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R1 right", 1, params.mRightKeys);
138a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R1 <1>", 0, params.getColumnPos(0));
139a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
140a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R1 default", WIDTH * 0, params.getDefaultKeyCoordX());
141a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
142a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
143a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // <1> ___ ___|
144a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout1KeyAuto5R2() {
145a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R2);
146a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R2 columns", 1, params.mNumColumns);
147a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R2 rows", 1, params.mNumRows);
148a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R2 left", 0, params.mLeftKeys);
149a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R2 right", 1, params.mRightKeys);
150a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R2 <1>", 0, params.getColumnPos(0));
151a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R2 adjust", 0, params.mTopRowAdjustment);
152a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("1 key auto 5 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
153a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
154a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
155a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // <1> [2]
156a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout2KeyAuto5M0() {
157a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(2, 5, XPOS_M0);
158a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 M0 columns", 2, params.mNumColumns);
159a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 M0 rows", 1, params.mNumRows);
160a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 M0 left", 0, params.mLeftKeys);
161a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 M0 right", 2, params.mRightKeys);
162a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 M0 <1>", 0, params.getColumnPos(0));
163a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 M0 [2]", 1, params.getColumnPos(1));
164a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
165a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
166a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
167a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
168a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2]
169a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout2KeyAuto5L0() {
170a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L0);
171a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L0 columns", 2, params.mNumColumns);
172a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L0 rows", 1, params.mNumRows);
173a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L0 left", 0, params.mLeftKeys);
174a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L0 right", 2, params.mRightKeys);
175a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L0 <1>", 0, params.getColumnPos(0));
176a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L0 [2]", 1, params.getColumnPos(1));
177a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
178a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
179a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
180a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
181a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2]
182a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout2KeyAuto5L1() {
183a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L1);
184a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L1 columns", 2, params.mNumColumns);
185a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L1 rows", 1, params.mNumRows);
186a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L1 left", 0, params.mLeftKeys);
187a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L1 right", 2, params.mRightKeys);
188a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L1 <1>", 0, params.getColumnPos(0));
189a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L1 [2]", 1, params.getColumnPos(1));
190a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
191a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
192a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
193a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
194a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ <1> [2]
195a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout2KeyAuto5L2() {
196a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L2);
197a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L2 columns", 2, params.mNumColumns);
198a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L2 rows", 1, params.mNumRows);
199a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L2 left", 0, params.mLeftKeys);
200a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L2 right", 2, params.mRightKeys);
201a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L2 <1>", 0, params.getColumnPos(0));
202a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L2 [2]", 1, params.getColumnPos(1));
203a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L2 adjust", 0, params.mTopRowAdjustment);
204a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
205a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
206a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
207a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [2] <1>|
208a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout2KeyAuto5R0() {
209a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R0);
210a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R0 columns", 2, params.mNumColumns);
211a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R0 rows", 1, params.mNumRows);
212a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R0 left", 1, params.mLeftKeys);
213a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R0 right", 1, params.mRightKeys);
214a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R0 <1>", 0, params.getColumnPos(0));
215a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R0 [2]", -1, params.getColumnPos(1));
216a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
217a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
218a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
219a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
220a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [2] <1> ___|
221a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout2KeyAuto5R1() {
222a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R1);
223a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R1 columns", 2, params.mNumColumns);
224a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R1 rows", 1, params.mNumRows);
225a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R1 left", 1, params.mLeftKeys);
226a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R1 right", 1, params.mRightKeys);
227a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R1 <1>", 0, params.getColumnPos(0));
228a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R1 [2]", -1, params.getColumnPos(1));
229a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
230a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
231a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
232a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
233a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // <1> [2] ___|
234a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout2KeyAuto5R2() {
235a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R2);
236a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R2 columns", 2, params.mNumColumns);
237a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R2 rows", 1, params.mNumRows);
238a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R2 left", 0, params.mLeftKeys);
239a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R2 right", 2, params.mRightKeys);
240a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R2 <1>", 0, params.getColumnPos(0));
241a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R2 [2]", 1, params.getColumnPos(1));
242a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R2 adjust", 0, params.mTopRowAdjustment);
243a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("2 key auto 5 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
244a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
245a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
246a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2]
247a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto5M0() {
248a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 5, XPOS_M0);
249a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 columns", 3, params.mNumColumns);
250a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 rows", 1, params.mNumRows);
251a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 left", 1, params.mLeftKeys);
252a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 right", 2, params.mRightKeys);
253a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 <1>", 0, params.getColumnPos(0));
254a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 [2]", 1, params.getColumnPos(1));
255a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 [3]", -1, params.getColumnPos(2));
256a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
257a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
258a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
259a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
260a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3]
261a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto5L0() {
262a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L0);
263a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 columns", 3, params.mNumColumns);
264a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 rows", 1, params.mNumRows);
265a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 left", 0, params.mLeftKeys);
266a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 right", 3, params.mRightKeys);
267a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 <1>", 0, params.getColumnPos(0));
268a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 [2]", 1, params.getColumnPos(1));
269a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 [3]", 2, params.getColumnPos(2));
270a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
271a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
272a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
273a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
274a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3]
275a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto5L1() {
276a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L1);
277a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 columns", 3, params.mNumColumns);
278a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 rows", 1, params.mNumRows);
279a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 left", 0, params.mLeftKeys);
280a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 right", 3, params.mRightKeys);
281a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 <1>", 0, params.getColumnPos(0));
282a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 [2]", 1, params.getColumnPos(1));
283a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 [3]", 2, params.getColumnPos(2));
284a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
285a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
286a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
287a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
288a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2]
289a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto5L2() {
290a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L2);
291a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 columns", 3, params.mNumColumns);
292a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 rows", 1, params.mNumRows);
293a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 left", 1, params.mLeftKeys);
294a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 right", 2, params.mRightKeys);
295a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 <1>", 0, params.getColumnPos(0));
296a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 [2]", 1, params.getColumnPos(1));
297a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 [3]", -1, params.getColumnPos(2));
298a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 adjust", 0, params.mTopRowAdjustment);
299a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
300a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
301a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
302a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] [2] <1>|
303a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto5R0() {
304a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R0);
305a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 columns", 3, params.mNumColumns);
306a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 rows", 1, params.mNumRows);
307a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 left", 2, params.mLeftKeys);
308a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 right", 1, params.mRightKeys);
309a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 <1>", 0, params.getColumnPos(0));
310a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 [2]", -1, params.getColumnPos(1));
311a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 [3]", -2, params.getColumnPos(2));
312a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
313a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
314a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
315a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
316a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] [2] <1> ___|
317a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto5R1() {
318a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R1);
319a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 columns", 3, params.mNumColumns);
320a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 rows", 1, params.mNumRows);
321a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 left", 2, params.mLeftKeys);
322a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 right", 1, params.mRightKeys);
323a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 <1>", 0, params.getColumnPos(0));
324a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 [2]", -1, params.getColumnPos(1));
325a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 [3]", -2, params.getColumnPos(2));
326a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
327a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
328a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
329a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
330a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2] ___|
331a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto5R2() {
332a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R2);
333a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 columns", 3, params.mNumColumns);
334a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 rows", 1, params.mNumRows);
335a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 left", 1, params.mLeftKeys);
336a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 right", 2, params.mRightKeys);
337a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 <1>", 0, params.getColumnPos(0));
338a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 [2]", 1, params.getColumnPos(1));
339a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 [3]", -1, params.getColumnPos(2));
340a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 adjust", 0, params.mTopRowAdjustment);
341a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 5 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
342a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
343a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
344a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3]
345a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // <1> [2]
346a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto2M0() {
347a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 2, XPOS_M0);
348a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 columns", 2, params.mNumColumns);
349a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 rows", 2, params.mNumRows);
350a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 left", 0, params.mLeftKeys);
351a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 right", 2, params.mRightKeys);
352a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 <1>", 0, params.getColumnPos(0));
353a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 [2]", 1, params.getColumnPos(1));
354a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 [3]", 0, params.getColumnPos(2));
355a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 adjust", 0, params.mTopRowAdjustment);
356a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
357a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
358a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
359a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[3]
360a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2]
361a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto2L0() {
362a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L0);
363a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 columns", 2, params.mNumColumns);
364a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 rows", 2, params.mNumRows);
365a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 left", 0, params.mLeftKeys);
366a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 right", 2, params.mRightKeys);
367a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 <1>", 0, params.getColumnPos(0));
368a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 [2]", 1, params.getColumnPos(1));
369a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 [3]", 0, params.getColumnPos(2));
370a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 adjust", 0, params.mTopRowAdjustment);
371a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
372a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
373a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
374a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3]
375a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2]
376a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto2L1() {
377a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L1);
378a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 columns", 2, params.mNumColumns);
379a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 rows", 2, params.mNumRows);
380a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 left", 0, params.mLeftKeys);
381a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 right", 2, params.mRightKeys);
382a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 <1>", 0, params.getColumnPos(0));
383a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 [2]", 1, params.getColumnPos(1));
384a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 [3]", 0, params.getColumnPos(2));
385a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 adjust", 0, params.mTopRowAdjustment);
386a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
387a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
388a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
389a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |        [3]
390a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ <1> [2]
391a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto2L2() {
392a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L2);
393a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 columns", 2, params.mNumColumns);
394a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 rows", 2, params.mNumRows);
395a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 left", 0, params.mLeftKeys);
396a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 right", 2, params.mRightKeys);
397a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 <1>", 0, params.getColumnPos(0));
398a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 [2]", 1, params.getColumnPos(1));
399a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 [3]", 0, params.getColumnPos(2));
400a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 adjust", 0, params.mTopRowAdjustment);
401a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
402a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
403a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
404a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [3]|
405a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [2] <1>|
406a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto2R0() {
407a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R0);
408a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 columns", 2, params.mNumColumns);
409a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 rows", 2, params.mNumRows);
410a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 left", 1, params.mLeftKeys);
411a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 right", 1, params.mRightKeys);
412a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 <1>", 0, params.getColumnPos(0));
413a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 [2]", -1, params.getColumnPos(1));
414a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 [3]", 0, params.getColumnPos(2));
415a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 adjust", 0, params.mTopRowAdjustment);
416a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
417a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
418a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
419a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [3]    |
420a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [2] <1> ___|
421a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto2R1() {
422a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R1);
423a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 columns", 2, params.mNumColumns);
424a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 rows", 2, params.mNumRows);
425a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 left", 1, params.mLeftKeys);
426a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 right", 1, params.mRightKeys);
427a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 <1>", 0, params.getColumnPos(0));
428a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 [2]", -1, params.getColumnPos(1));
429a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 [3]", 0, params.getColumnPos(2));
430a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 adjust", 0, params.mTopRowAdjustment);
431a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
432a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
433a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
434a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3]        |
435a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // <1> [2] ___|
436a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout3KeyAuto2R2() {
437a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R2);
438a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 columns", 2, params.mNumColumns);
439a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 rows", 2, params.mNumRows);
440a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 left", 0, params.mLeftKeys);
441a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 right", 2, params.mRightKeys);
442a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 <1>", 0, params.getColumnPos(0));
443a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 [2]", 1, params.getColumnPos(1));
444a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 [3]", 0, params.getColumnPos(2));
445a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 adjust", 0, params.mTopRowAdjustment);
446a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("3 key auto 2 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
447a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
448a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
449a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [4]
450a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2]
451a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto3M0() {
452a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 3, XPOS_M0);
453a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 columns", 3, params.mNumColumns);
454a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 rows", 2, params.mNumRows);
455a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 left", 1, params.mLeftKeys);
456a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 right", 2, params.mRightKeys);
457a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 <1>", 0, params.getColumnPos(0));
458a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 [2]", 1, params.getColumnPos(1));
459a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 [3]", -1, params.getColumnPos(2));
460a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 [4]", 0, params.getColumnPos(3));
461a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 adjust", 0, params.mTopRowAdjustment);
462a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
463a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
464a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
465a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[4]
466a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3]
467a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto3L0() {
468a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L0);
469a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 columns", 3, params.mNumColumns);
470a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 rows", 2, params.mNumRows);
471a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 left", 0, params.mLeftKeys);
472a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 right", 3, params.mRightKeys);
473a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 <1>", 0, params.getColumnPos(0));
474a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 [2]", 1, params.getColumnPos(1));
475a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 [3]", 2, params.getColumnPos(2));
476a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 [4]", 0, params.getColumnPos(3));
477a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 adjust", 0, params.mTopRowAdjustment);
478a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
479a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
480a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
481a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [4]
482a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3]
483a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto3L1() {
484a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L1);
485a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 columns", 3, params.mNumColumns);
486a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 rows", 2, params.mNumRows);
487a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 left", 0, params.mLeftKeys);
488a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 right", 3, params.mRightKeys);
489a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 <1>", 0, params.getColumnPos(0));
490a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 [2]", 1, params.getColumnPos(1));
491a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 [3]", 2, params.getColumnPos(2));
492a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 [4]", 0, params.getColumnPos(3));
493a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 adjust", 0, params.mTopRowAdjustment);
494a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
495a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
496a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
497a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ [4]
498a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2]
499a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto3L2() {
500a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L2);
501a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 columns", 3, params.mNumColumns);
502a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 rows", 2, params.mNumRows);
503a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 left", 1, params.mLeftKeys);
504a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 right", 2, params.mRightKeys);
505a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 <1>", 0, params.getColumnPos(0));
506a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 [2]", 1, params.getColumnPos(1));
507a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 [3]", -1, params.getColumnPos(2));
508a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 [4]", 0, params.getColumnPos(3));
509a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 adjust", 0, params.mTopRowAdjustment);
510a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
511a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
512a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
513a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [4]|
514a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] [2] <1>|
515a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto3R0() {
516a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R0);
517a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 columns", 3, params.mNumColumns);
518a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 rows", 2, params.mNumRows);
519a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 left", 2, params.mLeftKeys);
520a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 right", 1, params.mRightKeys);
521a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 <1>", 0, params.getColumnPos(0));
522a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 [2]", -1, params.getColumnPos(1));
523a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 [3]", -2, params.getColumnPos(2));
524a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 [4]", 0, params.getColumnPos(3));
525a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 adjust", 0, params.mTopRowAdjustment);
526a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
527a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
528a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
529a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [4] ___|
530a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] [2] <1> ___|
531a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto3R1() {
532a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R1);
533a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 columns", 3, params.mNumColumns);
534a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 rows", 2, params.mNumRows);
535a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 left", 2, params.mLeftKeys);
536a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 right", 1, params.mRightKeys);
537a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 <1>", 0, params.getColumnPos(0));
538a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 [2]", -1, params.getColumnPos(1));
539a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 [3]", -2, params.getColumnPos(2));
540a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 [4]", 0, params.getColumnPos(3));
541a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 adjust", 0, params.mTopRowAdjustment);
542a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
543a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
544a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
545a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [4]     ___|
546a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2] ___|
547a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto3R2() {
548a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R2);
549a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 columns", 3, params.mNumColumns);
550a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 rows", 2, params.mNumRows);
551a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 left", 1, params.mLeftKeys);
552a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 right", 2, params.mRightKeys);
553a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 <1>", 0, params.getColumnPos(0));
554a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 [2]", 1, params.getColumnPos(1));
555a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 [3]", -1, params.getColumnPos(2));
556a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 [4]", 0, params.getColumnPos(3));
557a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 adjust", 0, params.mTopRowAdjustment);
558a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
559a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
560a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
561a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2] [4]
562a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto4M0() {
563a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 4, XPOS_M0);
564a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 columns", 4, params.mNumColumns);
565a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 rows", 1, params.mNumRows);
566a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 left", 1, params.mLeftKeys);
567a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 right", 3, params.mRightKeys);
568a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 <1>", 0, params.getColumnPos(0));
569a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 [2]", 1, params.getColumnPos(1));
570a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 [3]", -1, params.getColumnPos(2));
571a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 [4]", 2, params.getColumnPos(3));
572a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 adjust", 0, params.mTopRowAdjustment);
573a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
574a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
575a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
576a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4]
577a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto4L0() {
578a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L0);
579a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 columns", 4, params.mNumColumns);
580a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 rows", 1, params.mNumRows);
581a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 left", 0, params.mLeftKeys);
582a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 right", 4, params.mRightKeys);
583a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 <1>", 0, params.getColumnPos(0));
584a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 [2]", 1, params.getColumnPos(1));
585a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 [3]", 2, params.getColumnPos(2));
586a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 [4]", 3, params.getColumnPos(3));
587a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 adjust", 0, params.mTopRowAdjustment);
588a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
589a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
590a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
591a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4]
592a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto4L1() {
593a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L1);
594a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 columns", 4, params.mNumColumns);
595a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 rows", 1, params.mNumRows);
596a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 left", 0, params.mLeftKeys);
597a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 right", 4, params.mRightKeys);
598a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 <1>", 0, params.getColumnPos(0));
599a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 [2]", 1, params.getColumnPos(1));
600a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 [3]", 2, params.getColumnPos(2));
601a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 [4]", 3, params.getColumnPos(3));
602a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 adjust", 0, params.mTopRowAdjustment);
603a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
604a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
605a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
606a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4]
607a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto4L2() {
608a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L2);
609a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 columns", 4, params.mNumColumns);
610a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 rows", 1, params.mNumRows);
611a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 left", 1, params.mLeftKeys);
612a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 right", 3, params.mRightKeys);
613a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 <1>", 0, params.getColumnPos(0));
614a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 [2]", 1, params.getColumnPos(1));
615a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 [3]", -1, params.getColumnPos(2));
616a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 [4]", 2, params.getColumnPos(3));
617a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 adjust", 0, params.mTopRowAdjustment);
618a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
619a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
620a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
621a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] [2] <1>|
622a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto4R0() {
623a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R0);
624a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 columns", 4, params.mNumColumns);
625a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 rows", 1, params.mNumRows);
626a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 left", 3, params.mLeftKeys);
627a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 right", 1, params.mRightKeys);
628a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 <1>", 0, params.getColumnPos(0));
629a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 [2]", -1, params.getColumnPos(1));
630a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 [3]", -2, params.getColumnPos(2));
631a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 [4]", -3, params.getColumnPos(3));
632a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 adjust", 0, params.mTopRowAdjustment);
633a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
634a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
635a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
636a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] [2] <1> ___|
637a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto4R1() {
638a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R1);
639a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 columns", 4, params.mNumColumns);
640a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 rows", 1, params.mNumRows);
641a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 left", 3, params.mLeftKeys);
642a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 right", 1, params.mRightKeys);
643a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 <1>", 0, params.getColumnPos(0));
644a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 [2]", -1, params.getColumnPos(1));
645a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 [3]", -2, params.getColumnPos(2));
646a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 [4]", -3, params.getColumnPos(3));
647a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 adjust", 0, params.mTopRowAdjustment);
648a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
649a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
650a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
651a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] <1> [2] ___|
652a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto4R2() {
653a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R2);
654a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 columns", 4, params.mNumColumns);
655a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 rows", 1, params.mNumRows);
656a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 left", 2, params.mLeftKeys);
657a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 right", 2, params.mRightKeys);
658a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 <1>", 0, params.getColumnPos(0));
659a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 [2]", 1, params.getColumnPos(1));
660a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 [3]", -1, params.getColumnPos(2));
661a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 [4]", -2, params.getColumnPos(3));
662a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 adjust", 0, params.mTopRowAdjustment);
663a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
664a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
665a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
666a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2] [4]
667a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto5M0() {
668a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 5, XPOS_M0);
669a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 columns", 4, params.mNumColumns);
670a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 rows", 1, params.mNumRows);
671a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 left", 1, params.mLeftKeys);
672a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 right", 3, params.mRightKeys);
673a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 <1>", 0, params.getColumnPos(0));
674a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 [2]", 1, params.getColumnPos(1));
675a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 [3]", -1, params.getColumnPos(2));
676a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 [4]", 2, params.getColumnPos(3));
677a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
678a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
679a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
680a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
681a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4]
682a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto5L0() {
683a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L0);
684a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 columns", 4, params.mNumColumns);
685a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 rows", 1, params.mNumRows);
686a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 left", 0, params.mLeftKeys);
687a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 right", 4, params.mRightKeys);
688a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 <1>", 0, params.getColumnPos(0));
689a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 [2]", 1, params.getColumnPos(1));
690a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 [3]", 2, params.getColumnPos(2));
691a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 [4]", 3, params.getColumnPos(3));
692a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
693a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
694a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
695a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
696a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4]
697a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto5L1() {
698a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L1);
699a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 columns", 4, params.mNumColumns);
700a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 rows", 1, params.mNumRows);
701a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 left", 0, params.mLeftKeys);
702a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 right", 4, params.mRightKeys);
703a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 <1>", 0, params.getColumnPos(0));
704a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 [2]", 1, params.getColumnPos(1));
705a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 [3]", 2, params.getColumnPos(2));
706a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 [4]", 3, params.getColumnPos(3));
707a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
708a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
709a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
710a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
711a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4]
712a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto5L2() {
713a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L2);
714a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 columns", 4, params.mNumColumns);
715a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 rows", 1, params.mNumRows);
716a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 left", 1, params.mLeftKeys);
717a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 right", 3, params.mRightKeys);
718a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 <1>", 0, params.getColumnPos(0));
719a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 [2]", 1, params.getColumnPos(1));
720a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 [3]", -1, params.getColumnPos(2));
721a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 [4]", 2, params.getColumnPos(3));
722a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 adjust", 0, params.mTopRowAdjustment);
723a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
724a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
725a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
726a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] [2] <1>|
727a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto5R0() {
728a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R0);
729a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 columns", 4, params.mNumColumns);
730a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 rows", 1, params.mNumRows);
731a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 left", 3, params.mLeftKeys);
732a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 right", 1, params.mRightKeys);
733a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 <1>", 0, params.getColumnPos(0));
734a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 [2]", -1, params.getColumnPos(1));
735a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 [3]", -2, params.getColumnPos(2));
736a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 [4]", -3, params.getColumnPos(3));
737a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
738a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
739a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
740a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
741a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] [2] <1> ___|
742a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto5R1() {
743a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R1);
744a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 columns", 4, params.mNumColumns);
745a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 rows", 1, params.mNumRows);
746a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 left", 3, params.mLeftKeys);
747a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 right", 1, params.mRightKeys);
748a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 <1>", 0, params.getColumnPos(0));
749a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 [2]", -1, params.getColumnPos(1));
750a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 [3]", -2, params.getColumnPos(2));
751a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 [4]", -3, params.getColumnPos(3));
752a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
753a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
754a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
755a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
756a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] <1> [2] ___|
757a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout4KeyAuto5R2() {
758a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R2);
759a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 columns", 4, params.mNumColumns);
760a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 rows", 1, params.mNumRows);
761a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 left", 2, params.mLeftKeys);
762a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 right", 2, params.mRightKeys);
763a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 <1>", 0, params.getColumnPos(0));
764a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 [2]", 1, params.getColumnPos(1));
765a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 [3]", -1, params.getColumnPos(2));
766a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 [4]", -2, params.getColumnPos(3));
767a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 adjust", 0, params.mTopRowAdjustment);
768a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("4 key auto 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
769a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
770a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
771a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //   [4] [5]
772a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2]
773a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto3M0() {
774a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 3, XPOS_M0);
775a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 columns", 3, params.mNumColumns);
776a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 rows", 2, params.mNumRows);
777a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 left", 1, params.mLeftKeys);
778a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 right", 2, params.mRightKeys);
779a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 <1>", 0, params.getColumnPos(0));
780a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 [2]", 1, params.getColumnPos(1));
781a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 [3]", -1, params.getColumnPos(2));
782a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 [4]", 0, params.getColumnPos(3));
783a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 [5]", 1, params.getColumnPos(4));
784a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 adjust", -1, params.mTopRowAdjustment);
785a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
786a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
787a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
788a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[4] [5]
789a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3]
790a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto3L0() {
791a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L0);
792a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 columns", 3, params.mNumColumns);
793a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 rows", 2, params.mNumRows);
794a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 left", 0, params.mLeftKeys);
795a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 right", 3, params.mRightKeys);
796a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 <1>", 0, params.getColumnPos(0));
797a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 [2]", 1, params.getColumnPos(1));
798a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 [3]", 2, params.getColumnPos(2));
799a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 [4]", 0, params.getColumnPos(3));
800a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 [5]", 1, params.getColumnPos(4));
801a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 adjust", 0, params.mTopRowAdjustment);
802a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
803a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
804a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
805a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [4] [5]
806a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3]
807a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto3L1() {
808a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L1);
809a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 columns", 3, params.mNumColumns);
810a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 rows", 2, params.mNumRows);
811a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 left", 0, params.mLeftKeys);
812a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 right", 3, params.mRightKeys);
813a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 <1>", 0, params.getColumnPos(0));
814a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 [2]", 1, params.getColumnPos(1));
815a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 [3]", 2, params.getColumnPos(2));
816a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 [4]", 0, params.getColumnPos(3));
817a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 [5]", 1, params.getColumnPos(4));
818a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 adjust", 0, params.mTopRowAdjustment);
819a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
820a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
821a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
822a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___   [4] [5]
823a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2]
824a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto3L2() {
825a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L2);
826a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 columns", 3, params.mNumColumns);
827a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 rows", 2, params.mNumRows);
828a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 left", 1, params.mLeftKeys);
829a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 right", 2, params.mRightKeys);
830a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 <1>", 0, params.getColumnPos(0));
831a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 [2]", 1, params.getColumnPos(1));
832a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 [3]", -1, params.getColumnPos(2));
833a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 [4]", 0, params.getColumnPos(3));
834a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 [5]", 1, params.getColumnPos(4));
835a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 adjust", -1, params.mTopRowAdjustment);
836a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
837a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
838a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
839a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [5] [4]|
840a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] [2] <1>|
841a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto3R0() {
842a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R0);
843a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 columns", 3, params.mNumColumns);
844a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 rows", 2, params.mNumRows);
845a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 left", 2, params.mLeftKeys);
846a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 right", 1, params.mRightKeys);
847a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 <1>", 0, params.getColumnPos(0));
848a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 [2]", -1, params.getColumnPos(1));
849a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 [3]", -2, params.getColumnPos(2));
850a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 [4]", 0, params.getColumnPos(3));
851a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 [5]", -1, params.getColumnPos(4));
852a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 adjust", 0, params.mTopRowAdjustment);
853a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
854a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
855a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
856a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [5] [4] ___|
857a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] [2] <1> ___|
858a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto3R1() {
859a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R1);
860a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 columns", 3, params.mNumColumns);
861a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 rows", 2, params.mNumRows);
862a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 left", 2, params.mLeftKeys);
863a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 right", 1, params.mRightKeys);
864a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 <1>", 0, params.getColumnPos(0));
865a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 [2]", -1, params.getColumnPos(1));
866a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 [3]", -2, params.getColumnPos(2));
867a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 [4]", 0, params.getColumnPos(3));
868a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 [5]", -1, params.getColumnPos(4));
869a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 adjust", 0, params.mTopRowAdjustment);
870a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
871a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
872a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
873a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //   [4] [5]   ___|
874a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2] ___|
875a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto3R2() {
876a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R2);
877a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 columns", 3, params.mNumColumns);
878a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 rows", 2, params.mNumRows);
879a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 left", 1, params.mLeftKeys);
880a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 right", 2, params.mRightKeys);
881a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 <1>", 0, params.getColumnPos(0));
882a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 [2]", 1, params.getColumnPos(1));
883a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 [3]", -1, params.getColumnPos(2));
884a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 [4]", 0, params.getColumnPos(3));
885a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 [5]", 1, params.getColumnPos(4));
886a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 adjust", -1, params.mTopRowAdjustment);
887a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
888a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
889a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
890a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [5]
891a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2] [4]
892a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto4M0() {
893a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 4, XPOS_M0);
894a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 columns", 4, params.mNumColumns);
895a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 rows", 2, params.mNumRows);
896a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 left", 1, params.mLeftKeys);
897a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 right", 3, params.mRightKeys);
898a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 <1>", 0, params.getColumnPos(0));
899a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 [2]", 1, params.getColumnPos(1));
900a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 [3]", -1, params.getColumnPos(2));
901a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 [4]", 2, params.getColumnPos(3));
902a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 [5]", 0, params.getColumnPos(4));
903a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 adjust", 0, params.mTopRowAdjustment);
904a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
905a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
906a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
907a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[5]
908a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4]
909a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto4L0() {
910a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L0);
911a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 columns", 4, params.mNumColumns);
912a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 rows", 2, params.mNumRows);
913a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 left", 0, params.mLeftKeys);
914a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 right", 4, params.mRightKeys);
915a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 <1>", 0, params.getColumnPos(0));
916a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 [2]", 1, params.getColumnPos(1));
917a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 [3]", 2, params.getColumnPos(2));
918a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 [4]", 3, params.getColumnPos(3));
919a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 [5]", 0, params.getColumnPos(4));
920a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 adjust", 0, params.mTopRowAdjustment);
921a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
922a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
923a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
924a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [5]
925a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4]
926a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto4L1() {
927a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L1);
928a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 columns", 4, params.mNumColumns);
929a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 rows", 2, params.mNumRows);
930a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 left", 0, params.mLeftKeys);
931a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 right", 4, params.mRightKeys);
932a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 <1>", 0, params.getColumnPos(0));
933a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 [2]", 1, params.getColumnPos(1));
934a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 [3]", 2, params.getColumnPos(2));
935a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 [4]", 3, params.getColumnPos(3));
936a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 [5]", 0, params.getColumnPos(4));
937a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 adjust", 0, params.mTopRowAdjustment);
938a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
939a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
940a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
941a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___     [5]
942a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4]
943a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto4L2() {
944a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L2);
945a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 columns", 4, params.mNumColumns);
946a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 rows", 2, params.mNumRows);
947a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 left", 1, params.mLeftKeys);
948a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 right", 3, params.mRightKeys);
949a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 <1>", 0, params.getColumnPos(0));
950a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 [2]", 1, params.getColumnPos(1));
951a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 [3]", -1, params.getColumnPos(2));
952a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 [4]", 2, params.getColumnPos(3));
953a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 [5]", 0, params.getColumnPos(4));
954a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 adjust", 0, params.mTopRowAdjustment);
955a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
956a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
957a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
958a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //             [5]|
959a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] [2] <1>|
960a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto4R0() {
961a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R0);
962a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 columns", 4, params.mNumColumns);
963a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 rows", 2, params.mNumRows);
964a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 left", 3, params.mLeftKeys);
965a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 right", 1, params.mRightKeys);
966a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 <1>", 0, params.getColumnPos(0));
967a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 [2]", -1, params.getColumnPos(1));
968a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 [3]", -2, params.getColumnPos(2));
969a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 [4]", -3, params.getColumnPos(3));
970a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 [5]", 0, params.getColumnPos(4));
971a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 adjust", 0, params.mTopRowAdjustment);
972a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
973a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
974a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
975a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //             [5] ___|
976a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] [2] <1> ___|
977a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto4R1() {
978a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R1);
979a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 columns", 4, params.mNumColumns);
980a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 rows", 2, params.mNumRows);
981a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 left", 3, params.mLeftKeys);
982a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 right", 1, params.mRightKeys);
983a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 <1>", 0, params.getColumnPos(0));
984a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 [2]", -1, params.getColumnPos(1));
985a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 [3]", -2, params.getColumnPos(2));
986a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 [4]", -3, params.getColumnPos(3));
987a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 [5]", 0, params.getColumnPos(4));
988a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 adjust", 0, params.mTopRowAdjustment);
989a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
990a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
991a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
992a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [5]     ___|
993a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] <1> [2] ___|
994a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto4R2() {
995a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R2);
996a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 columns", 4, params.mNumColumns);
997a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 rows", 2, params.mNumRows);
998a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 left", 2, params.mLeftKeys);
999a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 right", 2, params.mRightKeys);
1000a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 <1>", 0, params.getColumnPos(0));
1001a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 [2]", 1, params.getColumnPos(1));
1002a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 [3]", -1, params.getColumnPos(2));
1003a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 [4]", -2, params.getColumnPos(3));
1004a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 [5]", 0, params.getColumnPos(4));
1005a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 adjust", 0, params.mTopRowAdjustment);
1006a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
1007a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1008a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1009a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
1010a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto5M0() {
1011a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 5, XPOS_M0);
1012a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 columns", 5, params.mNumColumns);
1013a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 rows", 1, params.mNumRows);
1014a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 left", 2, params.mLeftKeys);
1015a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 right", 3, params.mRightKeys);
1016a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 <1>", 0, params.getColumnPos(0));
1017a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 [2]", 1, params.getColumnPos(1));
1018a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 [3]", -1, params.getColumnPos(2));
1019a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 [4]", 2, params.getColumnPos(3));
1020a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 [5]", -2, params.getColumnPos(4));
1021a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
1022a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1023a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1024a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1025a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4] [5]
1026a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto5L0() {
1027a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L0);
1028a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 columns", 5, params.mNumColumns);
1029a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 rows", 1, params.mNumRows);
1030a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 left", 0, params.mLeftKeys);
1031a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 right", 5, params.mRightKeys);
1032a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 <1>", 0, params.getColumnPos(0));
1033a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 [2]", 1, params.getColumnPos(1));
1034a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 [3]", 2, params.getColumnPos(2));
1035a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 [4]", 3, params.getColumnPos(3));
1036a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 [5]", 4, params.getColumnPos(4));
1037a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
1038a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1039a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1040a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1041a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4] [5]
1042a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto5L1() {
1043a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L1);
1044a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 columns", 5, params.mNumColumns);
1045a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 rows", 1, params.mNumRows);
1046a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 left", 0, params.mLeftKeys);
1047a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 right", 5, params.mRightKeys);
1048a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 <1>", 0, params.getColumnPos(0));
1049a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 [2]", 1, params.getColumnPos(1));
1050a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 [3]", 2, params.getColumnPos(2));
1051a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 [4]", 3, params.getColumnPos(3));
1052a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 [5]", 4, params.getColumnPos(4));
1053a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
1054a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1055a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1056a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1057a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4] [5]
1058a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto5L2() {
1059a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L2);
1060a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 columns", 5, params.mNumColumns);
1061a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 rows", 1, params.mNumRows);
1062a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 left", 1, params.mLeftKeys);
1063a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 right", 4, params.mRightKeys);
1064a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 <1>", 0, params.getColumnPos(0));
1065a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 [2]", 1, params.getColumnPos(1));
1066a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 [3]", -1, params.getColumnPos(2));
1067a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 [4]", 2, params.getColumnPos(3));
1068a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 [5]", 3, params.getColumnPos(4));
1069a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 adjust", 0, params.mTopRowAdjustment);
1070a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1071a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1072a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1073a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1>|
1074a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto5R0() {
1075a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R0);
1076a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 columns", 5, params.mNumColumns);
1077a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 rows", 1, params.mNumRows);
1078a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 left", 4, params.mLeftKeys);
1079a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 right", 1, params.mRightKeys);
1080a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 <1>", 0, params.getColumnPos(0));
1081a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 [2]", -1, params.getColumnPos(1));
1082a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 [3]", -2, params.getColumnPos(2));
1083a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 [4]", -3, params.getColumnPos(3));
1084a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 [5]", -4, params.getColumnPos(4));
1085a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
1086a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
1087a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1088a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1089a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1> ___|
1090a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto5R1() {
1091a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R1);
1092a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 columns", 5, params.mNumColumns);
1093a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 rows", 1, params.mNumRows);
1094a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 left", 4, params.mLeftKeys);
1095a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 right", 1, params.mRightKeys);
1096a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 <1>", 0, params.getColumnPos(0));
1097a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 [2]", -1, params.getColumnPos(1));
1098a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 [3]", -2, params.getColumnPos(2));
1099a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 [4]", -3, params.getColumnPos(3));
1100a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 [5]", -4, params.getColumnPos(4));
1101a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
1102a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
1103a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1104a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1105a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] <1> [2] ___|
1106a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout5KeyAuto5R2() {
1107a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R2);
1108a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 columns", 5, params.mNumColumns);
1109a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 rows", 1, params.mNumRows);
1110a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 left", 3, params.mLeftKeys);
1111a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 right", 2, params.mRightKeys);
1112a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 <1>", 0, params.getColumnPos(0));
1113a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 [2]", 1, params.getColumnPos(1));
1114a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 [3]", -1, params.getColumnPos(2));
1115a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 [4]", -2, params.getColumnPos(3));
1116a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 [5]", -3, params.getColumnPos(4));
1117a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 adjust", 0, params.mTopRowAdjustment);
1118a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("5 key auto 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
1119a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1120a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1121a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [5] [6]
1122a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2] [4]
1123a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto4M0() {
1124a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 4, XPOS_M0);
1125a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 columns", 4, params.mNumColumns);
1126a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 rows", 2, params.mNumRows);
1127a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 left", 1, params.mLeftKeys);
1128a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 right", 3, params.mRightKeys);
1129a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 <1>", 0, params.getColumnPos(0));
1130a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 [2]", 1, params.getColumnPos(1));
1131a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 [3]", -1, params.getColumnPos(2));
1132a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 [4]", 2, params.getColumnPos(3));
1133a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 [5]", 0, params.getColumnPos(4));
1134a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 [6]", 1, params.getColumnPos(5));
1135a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 adjust", 0, params.mTopRowAdjustment);
1136a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
1137a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1138a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1139a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[5] [6]
1140a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4]
1141a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto4L0() {
1142a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L0);
1143a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 columns", 4, params.mNumColumns);
1144a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 rows", 2, params.mNumRows);
1145a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 left", 0, params.mLeftKeys);
1146a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 right", 4, params.mRightKeys);
1147a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 <1>", 0, params.getColumnPos(0));
1148a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 [2]", 1, params.getColumnPos(1));
1149a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 [3]", 2, params.getColumnPos(2));
1150a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 [4]", 3, params.getColumnPos(3));
1151a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 [5]", 0, params.getColumnPos(4));
1152a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 [6]", 1, params.getColumnPos(5));
1153a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 adjust", 0, params.mTopRowAdjustment);
1154a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1155a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1156a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1157a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [5] [6]
1158a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4]
1159a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto4L1() {
1160a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L1);
1161a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 columns", 4, params.mNumColumns);
1162a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 rows", 2, params.mNumRows);
1163a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 left", 0, params.mLeftKeys);
1164a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 right", 4, params.mRightKeys);
1165a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 <1>", 0, params.getColumnPos(0));
1166a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 [2]", 1, params.getColumnPos(1));
1167a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 [3]", 2, params.getColumnPos(2));
1168a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 [4]", 3, params.getColumnPos(3));
1169a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 [5]", 0, params.getColumnPos(4));
1170a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 [6]", 1, params.getColumnPos(5));
1171a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 adjust", 0, params.mTopRowAdjustment);
1172a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1173a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1174a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1175a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___     [5] [6]
1176a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4]
1177a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto4L2() {
1178a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L2);
1179a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 columns", 4, params.mNumColumns);
1180a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 rows", 2, params.mNumRows);
1181a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 left", 1, params.mLeftKeys);
1182a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 right", 3, params.mRightKeys);
1183a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 <1>", 0, params.getColumnPos(0));
1184a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 [2]", 1, params.getColumnPos(1));
1185a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 [3]", -1, params.getColumnPos(2));
1186a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 [4]", 2, params.getColumnPos(3));
1187a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 [5]", 0, params.getColumnPos(4));
1188a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 [6]", 1, params.getColumnPos(5));
1189a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 adjust", 0, params.mTopRowAdjustment);
1190a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1191a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1192a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1193a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [6] [5]|
1194a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] [2] <1>|
1195a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto4R0() {
1196a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R0);
1197a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 columns", 4, params.mNumColumns);
1198a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 rows", 2, params.mNumRows);
1199a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 left", 3, params.mLeftKeys);
1200a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 right", 1, params.mRightKeys);
1201a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 <1>", 0, params.getColumnPos(0));
1202a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 [2]", -1, params.getColumnPos(1));
1203a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 [3]", -2, params.getColumnPos(2));
1204a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 [4]", -3, params.getColumnPos(3));
1205a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 [5]", 0, params.getColumnPos(4));
1206a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 [6]", -1, params.getColumnPos(5));
1207a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 adjust", 0, params.mTopRowAdjustment);
1208a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
1209a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1210a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1211a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [6] [5] ___|
1212a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] [2] <1> ___|
1213a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto4R1() {
1214a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R1);
1215a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 columns", 4, params.mNumColumns);
1216a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 rows", 2, params.mNumRows);
1217a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 left", 3, params.mLeftKeys);
1218a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 right", 1, params.mRightKeys);
1219a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 <1>", 0, params.getColumnPos(0));
1220a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 [2]", -1, params.getColumnPos(1));
1221a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 [3]", -2, params.getColumnPos(2));
1222a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 [4]", -3, params.getColumnPos(3));
1223a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 [5]", 0, params.getColumnPos(4));
1224a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 [6]", -1, params.getColumnPos(5));
1225a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 adjust", 0, params.mTopRowAdjustment);
1226a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
1227a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1228a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1229a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [5] [6] ___|
1230a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [4] [3] <1> [2] ___|
1231a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto4R2() {
1232a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R2);
1233a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 columns", 4, params.mNumColumns);
1234a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 rows", 2, params.mNumRows);
1235a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 left", 2, params.mLeftKeys);
1236a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 right", 2, params.mRightKeys);
1237a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 <1>", 0, params.getColumnPos(0));
1238a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 [2]", 1, params.getColumnPos(1));
1239a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 [3]", -1, params.getColumnPos(2));
1240a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 [4]", -2, params.getColumnPos(3));
1241a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 [5]", 0, params.getColumnPos(4));
1242a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 [6]", 1, params.getColumnPos(5));
1243a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 adjust", 0, params.mTopRowAdjustment);
1244a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
1245a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1246a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1247a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [6]
1248a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
1249a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto5M0() {
1250a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 5, XPOS_M0);
1251a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 columns", 5, params.mNumColumns);
1252a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 rows", 2, params.mNumRows);
1253a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 left", 2, params.mLeftKeys);
1254a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 right", 3, params.mRightKeys);
1255a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 <1>", 0, params.getColumnPos(0));
1256a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 [2]", 1, params.getColumnPos(1));
1257a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 [3]", -1, params.getColumnPos(2));
1258a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 [4]", 2, params.getColumnPos(3));
1259a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 [5]", -2, params.getColumnPos(4));
1260a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 [6]", 0, params.getColumnPos(5));
1261a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
1262a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1263a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1264a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1265a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[6]
1266a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4] [5]
1267a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto5L0() {
1268a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L0);
1269a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 columns", 5, params.mNumColumns);
1270a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 rows", 2, params.mNumRows);
1271a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 left", 0, params.mLeftKeys);
1272a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 right", 5, params.mRightKeys);
1273a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 <1>", 0, params.getColumnPos(0));
1274a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 [2]", 1, params.getColumnPos(1));
1275a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 [3]", 2, params.getColumnPos(2));
1276a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 [4]", 3, params.getColumnPos(3));
1277a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 [5]", 4, params.getColumnPos(4));
1278a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 [6]", 0, params.getColumnPos(5));
1279a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
1280a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1281a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1282a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1283a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [6]
1284a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4] [5]
1285a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto5L1() {
1286a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L1);
1287a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 columns", 5, params.mNumColumns);
1288a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 rows", 2, params.mNumRows);
1289a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 left", 0, params.mLeftKeys);
1290a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 right", 5, params.mRightKeys);
1291a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 <1>", 0, params.getColumnPos(0));
1292a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 [2]", 1, params.getColumnPos(1));
1293a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 [3]", 2, params.getColumnPos(2));
1294a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 [4]", 3, params.getColumnPos(3));
1295a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 [5]", 4, params.getColumnPos(4));
1296a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 [6]", 0, params.getColumnPos(5));
1297a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
1298a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1299a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1300a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1301a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___     [6]
1302a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4] [5]
1303a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto5L2() {
1304a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L2);
1305a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 columns", 5, params.mNumColumns);
1306a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 rows", 2, params.mNumRows);
1307a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 left", 1, params.mLeftKeys);
1308a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 right", 4, params.mRightKeys);
1309a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 <1>", 0, params.getColumnPos(0));
1310a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 [2]", 1, params.getColumnPos(1));
1311a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 [3]", -1, params.getColumnPos(2));
1312a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 [4]", 2, params.getColumnPos(3));
1313a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 [5]", 3, params.getColumnPos(4));
1314a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 [6]", 0, params.getColumnPos(5));
1315a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 adjust", 0, params.mTopRowAdjustment);
1316a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1317a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1318a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1319a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //                 [6]|
1320a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1>|
1321a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto5R0() {
1322a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R0);
1323a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 columns", 5, params.mNumColumns);
1324a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 rows", 2, params.mNumRows);
1325a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 left", 4, params.mLeftKeys);
1326a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 right", 1, params.mRightKeys);
1327a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 <1>", 0, params.getColumnPos(0));
1328a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 [2]", -1, params.getColumnPos(1));
1329a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 [3]", -2, params.getColumnPos(2));
1330a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 [4]", -3, params.getColumnPos(3));
1331a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 [5]", -4, params.getColumnPos(4));
1332a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 [6]", 0, params.getColumnPos(5));
1333a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
1334a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
1335a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1336a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1337a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //                 [6] ___|
1338a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1> ___|
1339a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto5R1() {
1340a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R1);
1341a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 columns", 5, params.mNumColumns);
1342a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 rows", 2, params.mNumRows);
1343a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 left", 4, params.mLeftKeys);
1344a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 right", 1, params.mRightKeys);
1345a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 <1>", 0, params.getColumnPos(0));
1346a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 [2]", -1, params.getColumnPos(1));
1347a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 [3]", -2, params.getColumnPos(2));
1348a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 [4]", -3, params.getColumnPos(3));
1349a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 [5]", -4, params.getColumnPos(4));
1350a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 [6]", 0, params.getColumnPos(5));
1351a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
1352a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
1353a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1354a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1355a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //             [6]     ___|
1356a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] <1> [2] ___|
1357a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout6KeyAuto5R2() {
1358a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R2);
1359a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 columns", 5, params.mNumColumns);
1360a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 rows", 2, params.mNumRows);
1361a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 left", 3, params.mLeftKeys);
1362a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 right", 2, params.mRightKeys);
1363a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 <1>", 0, params.getColumnPos(0));
1364a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 [2]", 1, params.getColumnPos(1));
1365a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 [3]", -1, params.getColumnPos(2));
1366a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 [4]", -2, params.getColumnPos(3));
1367a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 [5]", -3, params.getColumnPos(4));
1368a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 [6]", 0, params.getColumnPos(5));
1369a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 adjust", 0, params.mTopRowAdjustment);
1370a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("6 key auto 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
1371a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1372a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1373a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4] [5] [6] [7] ___ ___ ___|
1374a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7L0() {
1375a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L0);
1376a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 columns", 7, params.mNumColumns);
1377a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 rows", 1, params.mNumRows);
1378a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 left", 0, params.mLeftKeys);
1379a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 right", 7, params.mRightKeys);
1380a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 <1>", 0, params.getColumnPos(0));
1381a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 [2]", 1, params.getColumnPos(1));
1382a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 [3]", 2, params.getColumnPos(2));
1383a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 [4]", 3, params.getColumnPos(3));
1384a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 [5]", 4, params.getColumnPos(4));
1385a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 [6]", 5, params.getColumnPos(5));
1386a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 [7]", 6, params.getColumnPos(6));
1387a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 adjust", 0, params.mTopRowAdjustment);
1388a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1389a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1390a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1391a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4] [5] [6] [7] ___ ___|
1392a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7L1() {
1393a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L1);
1394a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 columns", 7, params.mNumColumns);
1395a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 rows", 1, params.mNumRows);
1396a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 left", 0, params.mLeftKeys);
1397a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 right", 7, params.mRightKeys);
1398a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 <1>", 0, params.getColumnPos(0));
1399a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 [2]", 1, params.getColumnPos(1));
1400a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 [3]", 2, params.getColumnPos(2));
1401a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 [4]", 3, params.getColumnPos(3));
1402a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 [5]", 4, params.getColumnPos(4));
1403a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 [6]", 5, params.getColumnPos(5));
1404a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 [7]", 6, params.getColumnPos(6));
1405a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 adjust", 0, params.mTopRowAdjustment);
1406a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1407a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1408a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1409a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4] [5] [6] [7] ___ ___|
1410a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7L2() {
1411a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L2);
1412a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 columns", 7, params.mNumColumns);
1413a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 rows", 1, params.mNumRows);
1414a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 left", 1, params.mLeftKeys);
1415a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 right", 6, params.mRightKeys);
1416a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 <1>", 0, params.getColumnPos(0));
1417a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 [2]", 1, params.getColumnPos(1));
1418a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 [3]", -1, params.getColumnPos(2));
1419a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 [4]", 2, params.getColumnPos(3));
1420a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 [5]", 3, params.getColumnPos(4));
1421a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 [6]", 4, params.getColumnPos(5));
1422a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 [7]", 5, params.getColumnPos(6));
1423a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 adjust", 0, params.mTopRowAdjustment);
1424a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1425a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1426a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1427a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [5] [3] <1> [2] [4] [6] [7] ___ ___|
1428a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7L3() {
1429a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L3);
1430a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 columns", 7, params.mNumColumns);
1431a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 rows", 1, params.mNumRows);
1432a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 left", 2, params.mLeftKeys);
1433a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 right", 5, params.mRightKeys);
1434a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 <1>", 0, params.getColumnPos(0));
1435a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 [2]", 1, params.getColumnPos(1));
1436a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 [3]", -1, params.getColumnPos(2));
1437a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 [4]", 2, params.getColumnPos(3));
1438a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 [5]", -2, params.getColumnPos(4));
1439a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 [6]", 3, params.getColumnPos(5));
1440a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 [7]", 4, params.getColumnPos(6));
1441a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 adjust", 0, params.mTopRowAdjustment);
1442a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 L3 default", WIDTH * 2, params.getDefaultKeyCoordX());
1443a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1444a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1445a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [7] [5] [3] <1> [2] [4] [6] ___ ___|
1446a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7M0() {
1447a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M0);
1448a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 columns", 7, params.mNumColumns);
1449a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 rows", 1, params.mNumRows);
1450a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 left", 3, params.mLeftKeys);
1451a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 right", 4, params.mRightKeys);
1452a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 <1>", 0, params.getColumnPos(0));
1453a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 [2]", 1, params.getColumnPos(1));
1454a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 [3]", -1, params.getColumnPos(2));
1455a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 [4]", 2, params.getColumnPos(3));
1456a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 [5]", -2, params.getColumnPos(4));
1457a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 [6]", 3, params.getColumnPos(5));
1458a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 [7]", -3, params.getColumnPos(6));
1459a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 adjust", 0, params.mTopRowAdjustment);
1460a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M0 default", WIDTH * 3, params.getDefaultKeyCoordX());
1461a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1462a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1463a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ [7] [5] [3] <1> [2] [4] [6] ___|
1464a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7M1() {
1465a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M1);
1466a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 columns", 7, params.mNumColumns);
1467a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 rows", 1, params.mNumRows);
1468a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 left", 3, params.mLeftKeys);
1469a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 right", 4, params.mRightKeys);
1470a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 <1>", 0, params.getColumnPos(0));
1471a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 [2]", 1, params.getColumnPos(1));
1472a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 [3]", -1, params.getColumnPos(2));
1473a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 [4]", 2, params.getColumnPos(3));
1474a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 [5]", -2, params.getColumnPos(4));
1475a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 [6]", 3, params.getColumnPos(5));
1476a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 [7]", -3, params.getColumnPos(6));
1477a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 adjust", 0, params.mTopRowAdjustment);
1478a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 M1 default", WIDTH * 3, params.getDefaultKeyCoordX());
1479a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1480a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1481a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ [7] [6] [5] [3] <1> [2] [4] ___|
1482a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7R3() {
1483a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R3);
1484a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 columns", 7, params.mNumColumns);
1485a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 rows", 1, params.mNumRows);
1486a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 left", 4, params.mLeftKeys);
1487a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 right", 3, params.mRightKeys);
1488a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 <1>", 0, params.getColumnPos(0));
1489a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 [2]", 1, params.getColumnPos(1));
1490a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 [3]", -1, params.getColumnPos(2));
1491a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 [4]", 2, params.getColumnPos(3));
1492a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 [5]", -2, params.getColumnPos(4));
1493a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 [6]", -3, params.getColumnPos(5));
1494a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 [7]", -4, params.getColumnPos(6));
1495a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 adjust", 0, params.mTopRowAdjustment);
1496a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R3 default", WIDTH * 4, params.getDefaultKeyCoordX());
1497a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1498a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1499a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ [7] [6] [5] [4] [3] <1> [2] ___|
1500a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7R2() {
1501a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R2);
1502a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 columns", 7, params.mNumColumns);
1503a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 rows", 1, params.mNumRows);
1504a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 left", 5, params.mLeftKeys);
1505a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 right", 2, params.mRightKeys);
1506a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 <1>", 0, params.getColumnPos(0));
1507a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 [2]", 1, params.getColumnPos(1));
1508a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 [3]", -1, params.getColumnPos(2));
1509a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 [4]", -2, params.getColumnPos(3));
1510a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 [5]", -3, params.getColumnPos(4));
1511a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 [6]", -4, params.getColumnPos(5));
1512a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 [7]", -5, params.getColumnPos(6));
1513a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 adjust", 0, params.mTopRowAdjustment);
1514a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R2 default", WIDTH * 5, params.getDefaultKeyCoordX());
1515a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1516a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1517a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ [7] [6] [5] [4] [3] [2] <1> ___|
1518a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7R1() {
1519a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R1);
1520a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 columns", 7, params.mNumColumns);
1521a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 rows", 1, params.mNumRows);
1522a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 left", 6, params.mLeftKeys);
1523a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 right", 1, params.mRightKeys);
1524a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 <1>", 0, params.getColumnPos(0));
1525a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 [2]", -1, params.getColumnPos(1));
1526a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 [3]", -2, params.getColumnPos(2));
1527a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 [4]", -3, params.getColumnPos(3));
1528a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 [5]", -4, params.getColumnPos(4));
1529a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 [6]", -5, params.getColumnPos(5));
1530a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 [7]", -6, params.getColumnPos(6));
1531a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 adjust", 0, params.mTopRowAdjustment);
1532a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R1 default", WIDTH * 6, params.getDefaultKeyCoordX());
1533a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1534a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1535a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ ___ [7] [6] [5] [4] [3] [2] <1>|
1536a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto7R0() {
1537a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R0);
1538a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 columns", 7, params.mNumColumns);
1539a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 rows", 1, params.mNumRows);
1540a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 left", 6, params.mLeftKeys);
1541a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 right", 1, params.mRightKeys);
1542a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 <1>", 0, params.getColumnPos(0));
1543a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 [2]", -1, params.getColumnPos(1));
1544a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 [3]", -2, params.getColumnPos(2));
1545a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 [4]", -3, params.getColumnPos(3));
1546a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 [5]", -4, params.getColumnPos(4));
1547a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 [6]", -5, params.getColumnPos(5));
1548a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 [7]", -6, params.getColumnPos(6));
1549a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 adjust", 0, params.mTopRowAdjustment);
1550a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 7 R0 default", WIDTH * 6, params.getDefaultKeyCoordX());
1551a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1552a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1553a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //       [6] [7]
1554a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
1555a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto5M0() {
1556a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 5, XPOS_M0);
1557a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 columns", 5, params.mNumColumns);
1558a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 rows", 2, params.mNumRows);
1559a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 left", 2, params.mLeftKeys);
1560a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 right", 3, params.mRightKeys);
1561a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 <1>", 0, params.getColumnPos(0));
1562a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 [2]", 1, params.getColumnPos(1));
1563a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 [3]", -1, params.getColumnPos(2));
1564a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 [4]", 2, params.getColumnPos(3));
1565a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 [5]", -2, params.getColumnPos(4));
1566a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 [6]", 0, params.getColumnPos(5));
1567a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 [7]", 1, params.getColumnPos(6));
1568a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 adjust", -1, params.mTopRowAdjustment);
1569a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1570a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1571a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1572a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[6] [7]
1573a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4] [5]
1574a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto5L0() {
1575a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L0);
1576a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 columns", 5, params.mNumColumns);
1577a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 rows", 2, params.mNumRows);
1578a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 left", 0, params.mLeftKeys);
1579a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 right", 5, params.mRightKeys);
1580a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 <1>", 0, params.getColumnPos(0));
1581a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 [2]", 1, params.getColumnPos(1));
1582a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 [3]", 2, params.getColumnPos(2));
1583a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 [4]", 3, params.getColumnPos(3));
1584a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 [5]", 4, params.getColumnPos(4));
1585a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 [6]", 0, params.getColumnPos(5));
1586a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 [7]", 1, params.getColumnPos(6));
1587a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
1588a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1589a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1590a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1591a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [6] [7]
1592a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4] [5]
1593a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto5L1() {
1594a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L1);
1595a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 columns", 5, params.mNumColumns);
1596a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 rows", 2, params.mNumRows);
1597a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 left", 0, params.mLeftKeys);
1598a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 right", 5, params.mRightKeys);
1599a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 <1>", 0, params.getColumnPos(0));
1600a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 [2]", 1, params.getColumnPos(1));
1601a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 [3]", 2, params.getColumnPos(2));
1602a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 [4]", 3, params.getColumnPos(3));
1603a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 [5]", 4, params.getColumnPos(4));
1604a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 [6]", 0, params.getColumnPos(5));
1605a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 [7]", 1, params.getColumnPos(6));
1606a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
1607a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1608a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1609a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1610a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___   [6] [7]
1611a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4] [5]
1612a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto5L2() {
1613a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L2);
1614a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 columns", 5, params.mNumColumns);
1615a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 rows", 2, params.mNumRows);
1616a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 left", 1, params.mLeftKeys);
1617a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 right", 4, params.mRightKeys);
1618a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 <1>", 0, params.getColumnPos(0));
1619a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 [2]", 1, params.getColumnPos(1));
1620a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 [3]", -1, params.getColumnPos(2));
1621a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 [4]", 2, params.getColumnPos(3));
1622a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 [5]", 3, params.getColumnPos(4));
1623a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 [6]", 0, params.getColumnPos(5));
1624a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 [7]", 1, params.getColumnPos(6));
1625a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 adjust", -1, params.mTopRowAdjustment);
1626a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1627a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1628a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1629a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //             [7] [6]|
1630a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1>|
1631a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto5R0() {
1632a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R0);
1633a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 columns", 5, params.mNumColumns);
1634a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 rows", 2, params.mNumRows);
1635a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 left", 4, params.mLeftKeys);
1636a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 right", 1, params.mRightKeys);
1637a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 <1>", 0, params.getColumnPos(0));
1638a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 [2]", -1, params.getColumnPos(1));
1639a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 [3]", -2, params.getColumnPos(2));
1640a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 [4]", -3, params.getColumnPos(3));
1641a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 [5]", -4, params.getColumnPos(4));
1642a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 [6]", 0, params.getColumnPos(5));
1643a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 [7]", -1, params.getColumnPos(6));
1644a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
1645a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
1646a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1647a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1648a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //             [7] [6] ___|
1649a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1> ___|
1650a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto5R1() {
1651a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R1);
1652a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 columns", 5, params.mNumColumns);
1653a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 rows", 2, params.mNumRows);
1654a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 left", 4, params.mLeftKeys);
1655a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 right", 1, params.mRightKeys);
1656a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 <1>", 0, params.getColumnPos(0));
1657a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 [2]", -1, params.getColumnPos(1));
1658a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 [3]", -2, params.getColumnPos(2));
1659a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 [4]", -3, params.getColumnPos(3));
1660a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 [5]", -4, params.getColumnPos(4));
1661a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 [6]", 0, params.getColumnPos(5));
1662a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 [7]", -1, params.getColumnPos(6));
1663a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
1664a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
1665a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1666a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1667a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //           [6] [7]   ___|
1668a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] <1> [2] ___|
1669a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto5R2() {
1670a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R2);
1671a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 columns", 5, params.mNumColumns);
1672a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 rows", 2, params.mNumRows);
1673a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 left", 3, params.mLeftKeys);
1674a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 right", 2, params.mRightKeys);
1675a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 <1>", 0, params.getColumnPos(0));
1676a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 [2]", 1, params.getColumnPos(1));
1677a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 [3]", -1, params.getColumnPos(2));
1678a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 [4]", -2, params.getColumnPos(3));
1679a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 [5]", -3, params.getColumnPos(4));
1680a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 [6]", 0, params.getColumnPos(5));
1681a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 [7]", 1, params.getColumnPos(6));
1682a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 adjust", -1, params.mTopRowAdjustment);
1683a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
1684a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1685a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1686a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [7]
1687a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [6] [4] [5]
1688a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2]
1689a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto3M0() {
1690a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 3, XPOS_M0);
1691a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 columns", 3, params.mNumColumns);
1692a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 rows", 3, params.mNumRows);
1693a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 left", 1, params.mLeftKeys);
1694a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 right", 2, params.mRightKeys);
1695a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 <1>", 0, params.getColumnPos(0));
1696a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 [2]", 1, params.getColumnPos(1));
1697a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 [3]", -1, params.getColumnPos(2));
1698a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 [4]", 0, params.getColumnPos(3));
1699a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 [5]", 1, params.getColumnPos(4));
1700a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 [6]", -1, params.getColumnPos(5));
1701a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 [7]", 0, params.getColumnPos(6));
1702a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 adjust", 0, params.mTopRowAdjustment);
1703a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
1704a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1705a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1706a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[7]
1707a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[4] [5] [6]
1708a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3]
1709a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto3L0() {
1710a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L0);
1711a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 columns", 3, params.mNumColumns);
1712a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 rows", 3, params.mNumRows);
1713a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 left", 0, params.mLeftKeys);
1714a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 right", 3, params.mRightKeys);
1715a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 <1>", 0, params.getColumnPos(0));
1716a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 [2]", 1, params.getColumnPos(1));
1717a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 [3]", 2, params.getColumnPos(2));
1718a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 [4]", 0, params.getColumnPos(3));
1719a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 [5]", 1, params.getColumnPos(4));
1720a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 [6]", 2, params.getColumnPos(5));
1721a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 [7]", 0, params.getColumnPos(6));
1722a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 adjust", 0, params.mTopRowAdjustment);
1723a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1724a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1725a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1726a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [7]
1727a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [4] [5] [6]
1728a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3]
1729a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto3L1() {
1730a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L1);
1731a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 columns", 3, params.mNumColumns);
1732a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 rows", 3, params.mNumRows);
1733a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 left", 0, params.mLeftKeys);
1734a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 right", 3, params.mRightKeys);
1735a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 <1>", 0, params.getColumnPos(0));
1736a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 [2]", 1, params.getColumnPos(1));
1737a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 [3]", 2, params.getColumnPos(2));
1738a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 [4]", 0, params.getColumnPos(3));
1739a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 [5]", 1, params.getColumnPos(4));
1740a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 [6]", 2, params.getColumnPos(5));
1741a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 [7]", 0, params.getColumnPos(6));
1742a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 adjust", 0, params.mTopRowAdjustment);
1743a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1744a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1745a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1746a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___     [7]
1747a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [6] [4] [5]
1748a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2]
1749a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto3L2() {
1750a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L2);
1751a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 columns", 3, params.mNumColumns);
1752a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 rows", 3, params.mNumRows);
1753a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 left", 1, params.mLeftKeys);
1754a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 right", 2, params.mRightKeys);
1755a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 <1>", 0, params.getColumnPos(0));
1756a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 [2]", 1, params.getColumnPos(1));
1757a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 [3]", -1, params.getColumnPos(2));
1758a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 [4]", 0, params.getColumnPos(3));
1759a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 [5]", 1, params.getColumnPos(4));
1760a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 [6]", -1, params.getColumnPos(5));
1761a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 [7]", 0, params.getColumnPos(6));
1762a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 adjust", 0, params.mTopRowAdjustment);
1763a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1764a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1765a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1766a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [7]|
1767a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [6] [5] [4]|
1768a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] [2] <1>|
1769a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto3R0() {
1770a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R0);
1771a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 columns", 3, params.mNumColumns);
1772a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 rows", 3, params.mNumRows);
1773a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 left", 2, params.mLeftKeys);
1774a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 right", 1, params.mRightKeys);
1775a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 <1>", 0, params.getColumnPos(0));
1776a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 [2]", -1, params.getColumnPos(1));
1777a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 [3]", -2, params.getColumnPos(2));
1778a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 [4]", 0, params.getColumnPos(3));
1779a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 [5]", -1, params.getColumnPos(4));
1780a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 [6]", -2, params.getColumnPos(5));
1781a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 [7]", 0, params.getColumnPos(6));
1782a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 adjust", 0, params.mTopRowAdjustment);
1783a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1784a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1785a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1786a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [7] ___|
1787a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [6] [5] [4] ___|
1788a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] [2] <1> ___|
1789a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto3R1() {
1790a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R1);
1791a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 columns", 3, params.mNumColumns);
1792a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 rows", 3, params.mNumRows);
1793a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 left", 2, params.mLeftKeys);
1794a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 right", 1, params.mRightKeys);
1795a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 <1>", 0, params.getColumnPos(0));
1796a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 [2]", -1, params.getColumnPos(1));
1797a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 [3]", -2, params.getColumnPos(2));
1798a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 [4]", 0, params.getColumnPos(3));
1799a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 [5]", -1, params.getColumnPos(4));
1800a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 [6]", -2, params.getColumnPos(5));
1801a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 [7]", 0, params.getColumnPos(6));
1802a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 adjust", 0, params.mTopRowAdjustment);
1803a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
1804a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1805a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1806a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [7]     ___|
1807a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [6] [4] [5] ___|
1808a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [3] <1> [2] ___|
1809a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout7KeyAuto3R2() {
1810a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R2);
1811a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 columns", 3, params.mNumColumns);
1812a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 rows", 3, params.mNumRows);
1813a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 left", 1, params.mLeftKeys);
1814a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 right", 2, params.mRightKeys);
1815a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 <1>", 0, params.getColumnPos(0));
1816a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 [2]", 1, params.getColumnPos(1));
1817a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 [3]", -1, params.getColumnPos(2));
1818a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 [4]", 0, params.getColumnPos(3));
1819a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 [5]", 1, params.getColumnPos(4));
1820a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 [6]", -1, params.getColumnPos(5));
1821a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 [7]", 0, params.getColumnPos(6));
1822a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 adjust", 0, params.mTopRowAdjustment);
1823a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("7 key auto 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1824a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1825a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1826a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [8] [6] [7]
1827a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
1828a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout8KeyAuto5M0() {
1829a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(8, 5, XPOS_M0);
1830a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 columns", 5, params.mNumColumns);
1831a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 rows", 2, params.mNumRows);
1832a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 left", 2, params.mLeftKeys);
1833a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 right", 3, params.mRightKeys);
1834a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 <1>", 0, params.getColumnPos(0));
1835a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 [2]", 1, params.getColumnPos(1));
1836a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 [3]", -1, params.getColumnPos(2));
1837a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 [4]", 2, params.getColumnPos(3));
1838a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 [5]", -2, params.getColumnPos(4));
1839a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 [6]", 0, params.getColumnPos(5));
1840a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 [7]", 1, params.getColumnPos(6));
1841a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 [8]", -1, params.getColumnPos(7));
1842a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
1843a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1844a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1845a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1846a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[6] [7] [8]
1847a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4] [5]
1848a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout8KeyAuto5L0() {
1849a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L0);
1850a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 columns", 5, params.mNumColumns);
1851a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 rows", 2, params.mNumRows);
1852a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 left", 0, params.mLeftKeys);
1853a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 right", 5, params.mRightKeys);
1854a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 <1>", 0, params.getColumnPos(0));
1855a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 [2]", 1, params.getColumnPos(1));
1856a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 [3]", 2, params.getColumnPos(2));
1857a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 [4]", 3, params.getColumnPos(3));
1858a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 [5]", 4, params.getColumnPos(4));
1859a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 [6]", 0, params.getColumnPos(5));
1860a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 [7]", 1, params.getColumnPos(6));
1861a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 [8]", 2, params.getColumnPos(7));
1862a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
1863a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
1864a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1865a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1866a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [6] [7] [8]
1867a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4] [5]
1868a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout8KeyAuto5L1() {
1869a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L1);
1870a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 columns", 5, params.mNumColumns);
1871a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 rows", 2, params.mNumRows);
1872a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 left", 0, params.mLeftKeys);
1873a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 right", 5, params.mRightKeys);
1874a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 <1>", 0, params.getColumnPos(0));
1875a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 [2]", 1, params.getColumnPos(1));
1876a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 [3]", 2, params.getColumnPos(2));
1877a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 [4]", 3, params.getColumnPos(3));
1878a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 [5]", 4, params.getColumnPos(4));
1879a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 [6]", 0, params.getColumnPos(5));
1880a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 [7]", 1, params.getColumnPos(6));
1881a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 [8]", 2, params.getColumnPos(7));
1882a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
1883a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
1884a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1885a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1886a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [8] [6] [7]
1887a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4] [5]
1888a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout8KeyAuto5L2() {
1889a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L2);
1890a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 columns", 5, params.mNumColumns);
1891a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 rows", 2, params.mNumRows);
1892a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 left", 1, params.mLeftKeys);
1893a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 right", 4, params.mRightKeys);
1894a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 <1>", 0, params.getColumnPos(0));
1895a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 [2]", 1, params.getColumnPos(1));
1896a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 [3]", -1, params.getColumnPos(2));
1897a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 [4]", 2, params.getColumnPos(3));
1898a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 [5]", 3, params.getColumnPos(4));
1899a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 [6]", 0, params.getColumnPos(5));
1900a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 [7]", 1, params.getColumnPos(6));
1901a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 [8]", -1, params.getColumnPos(7));
1902a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 adjust", 0, params.mTopRowAdjustment);
1903a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
1904a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1905a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1906a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [8] [7] [6]|
1907a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1>|
1908a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout8KeyAuto5R0() {
1909a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R0);
1910a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 columns", 5, params.mNumColumns);
1911a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 rows", 2, params.mNumRows);
1912a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 left", 4, params.mLeftKeys);
1913a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 right", 1, params.mRightKeys);
1914a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 <1>", 0, params.getColumnPos(0));
1915a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 [2]", -1, params.getColumnPos(1));
1916a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 [3]", -2, params.getColumnPos(2));
1917a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 [4]", -3, params.getColumnPos(3));
1918a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 [5]", -4, params.getColumnPos(4));
1919a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 [6]", 0, params.getColumnPos(5));
1920a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 [7]", -1, params.getColumnPos(6));
1921a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 [8]", -2, params.getColumnPos(7));
1922a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
1923a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
1924a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1925a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1926a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [8] [7] [6] ___|
1927a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1> ___|
1928a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout8KeyAuto5R1() {
1929a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R1);
1930a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 columns", 5, params.mNumColumns);
1931a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 rows", 2, params.mNumRows);
1932a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 left", 4, params.mLeftKeys);
1933a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 right", 1, params.mRightKeys);
1934a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 <1>", 0, params.getColumnPos(0));
1935a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 [2]", -1, params.getColumnPos(1));
1936a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 [3]", -2, params.getColumnPos(2));
1937a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 [4]", -3, params.getColumnPos(3));
1938a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 [5]", -4, params.getColumnPos(4));
1939a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 [6]", 0, params.getColumnPos(5));
1940a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 [7]", -1, params.getColumnPos(6));
1941a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 [8]", -2, params.getColumnPos(7));
1942a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
1943a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
1944a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1945a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1946a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [8] [6] [7] ___|
1947a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] <1> [2] ___|
1948a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout8KeyAuto5R2() {
1949a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R2);
1950a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 columns", 5, params.mNumColumns);
1951a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 rows", 2, params.mNumRows);
1952a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 left", 3, params.mLeftKeys);
1953a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 right", 2, params.mRightKeys);
1954a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 <1>", 0, params.getColumnPos(0));
1955a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 [2]", 1, params.getColumnPos(1));
1956a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 [3]", -1, params.getColumnPos(2));
1957a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 [4]", -2, params.getColumnPos(3));
1958a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 [5]", -3, params.getColumnPos(4));
1959a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 [6]", 0, params.getColumnPos(5));
1960a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 [7]", 1, params.getColumnPos(6));
1961a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 [8]", -1, params.getColumnPos(7));
1962a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 adjust", 0, params.mTopRowAdjustment);
1963a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("8 key auto 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
1964a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1965a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1966a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //   [8] [6] [7] [9]
1967a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
1968a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout9KeyAuto5M0() {
1969a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(9, 5, XPOS_M0);
1970a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 columns", 5, params.mNumColumns);
1971a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 rows", 2, params.mNumRows);
1972a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 left", 2, params.mLeftKeys);
1973a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 right", 3, params.mRightKeys);
1974a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 <1>", 0, params.getColumnPos(0));
1975a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 [2]", 1, params.getColumnPos(1));
1976a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 [3]", -1, params.getColumnPos(2));
1977a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 [4]", 2, params.getColumnPos(3));
1978a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 [5]", -2, params.getColumnPos(4));
1979a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 [6]", 0, params.getColumnPos(5));
1980a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 [7]", 1, params.getColumnPos(6));
1981a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 [8]", -1, params.getColumnPos(7));
1982a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 [9]", 2, params.getColumnPos(8));
1983a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 adjust", -1, params.mTopRowAdjustment);
1984a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
1985a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
1986a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
1987a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[6] [7] [8] [9]
1988a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4] [5]
1989a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout9KeyAuto5L0() {
1990a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L0);
1991a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 columns", 5, params.mNumColumns);
1992a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 rows", 2, params.mNumRows);
1993a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 left", 0, params.mLeftKeys);
1994a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 right", 5, params.mRightKeys);
1995a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 <1>", 0, params.getColumnPos(0));
1996a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 [2]", 1, params.getColumnPos(1));
1997a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 [3]", 2, params.getColumnPos(2));
1998a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 [4]", 3, params.getColumnPos(3));
1999a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 [5]", 4, params.getColumnPos(4));
2000a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 [6]", 0, params.getColumnPos(5));
2001a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 [7]", 1, params.getColumnPos(6));
2002a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 [8]", 2, params.getColumnPos(7));
2003a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 [9]", 3, params.getColumnPos(8));
2004a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
2005a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
2006a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2007a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2008a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [6] [7] [8] [9]
2009a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4] [5]
2010a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout9KeyAuto5L1() {
2011a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L1);
2012a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 columns", 5, params.mNumColumns);
2013a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 rows", 2, params.mNumRows);
2014a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 left", 0, params.mLeftKeys);
2015a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 right", 5, params.mRightKeys);
2016a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 <1>", 0, params.getColumnPos(0));
2017a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 [2]", 1, params.getColumnPos(1));
2018a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 [3]", 2, params.getColumnPos(2));
2019a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 [4]", 3, params.getColumnPos(3));
2020a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 [5]", 4, params.getColumnPos(4));
2021a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 [6]", 0, params.getColumnPos(5));
2022a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 [7]", 1, params.getColumnPos(6));
2023a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 [8]", 2, params.getColumnPos(7));
2024a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 [9]", 3, params.getColumnPos(8));
2025a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 adjust",0, params.mTopRowAdjustment);
2026a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
2027a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2028a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2029a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___   [6] [7] [8] [9]
2030a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4] [5]
2031a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout9KeyAuto5L2() {
2032a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L2);
2033a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 columns", 5, params.mNumColumns);
2034a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 rows", 2, params.mNumRows);
2035a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 left", 1, params.mLeftKeys);
2036a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 right", 4, params.mRightKeys);
2037a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 <1>", 0, params.getColumnPos(0));
2038a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 [2]", 1, params.getColumnPos(1));
2039a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 [3]", -1, params.getColumnPos(2));
2040a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 [4]", 2, params.getColumnPos(3));
2041a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 [5]", 3, params.getColumnPos(4));
2042a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 [6]", 0, params.getColumnPos(5));
2043a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 [7]", 1, params.getColumnPos(6));
2044a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 [8]", 2, params.getColumnPos(7));
2045a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 [9]", 3, params.getColumnPos(8));
2046a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 adjust", -1, params.mTopRowAdjustment);
2047a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
2048a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2049a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2050a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [9] [8] [7] [6]|
2051a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1>|
2052a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout9KeyAuto5R0() {
2053a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R0);
2054a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 columns", 5, params.mNumColumns);
2055a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 rows", 2, params.mNumRows);
2056a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 left", 4, params.mLeftKeys);
2057a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 right", 1, params.mRightKeys);
2058a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 <1>", 0, params.getColumnPos(0));
2059a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 [2]", -1, params.getColumnPos(1));
2060a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 [3]", -2, params.getColumnPos(2));
2061a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 [4]", -3, params.getColumnPos(3));
2062a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 [5]", -4, params.getColumnPos(4));
2063a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 [6]", 0, params.getColumnPos(5));
2064a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 [7]", -1, params.getColumnPos(6));
2065a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 [8]", -2, params.getColumnPos(7));
2066a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 [9]", -3, params.getColumnPos(8));
2067a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
2068a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
2069a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2070a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2071a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [9] [8] [7] [6] ___|
2072a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1> ___|
2073a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout9KeyAuto5R1() {
2074a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R1);
2075a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 columns", 5, params.mNumColumns);
2076a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 rows", 2, params.mNumRows);
2077a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 left", 4, params.mLeftKeys);
2078a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 right", 1, params.mRightKeys);
2079a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 <1>", 0, params.getColumnPos(0));
2080a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 [2]", -1, params.getColumnPos(1));
2081a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 [3]", -2, params.getColumnPos(2));
2082a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 [4]", -3, params.getColumnPos(3));
2083a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 [5]", -4, params.getColumnPos(4));
2084a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 [6]", 0, params.getColumnPos(5));
2085a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 [7]", -1, params.getColumnPos(6));
2086a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 [8]", -2, params.getColumnPos(7));
2087a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 [9]", -3, params.getColumnPos(8));
2088a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
2089a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
2090a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2091a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2092a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //   [9] [8] [6] [7]   ___|
2093a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] <1> [2] ___|
2094a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout9KeyAuto5R2() {
2095a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R2);
2096a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 columns", 5, params.mNumColumns);
2097a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 rows", 2, params.mNumRows);
2098a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 left", 3, params.mLeftKeys);
2099a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 right", 2, params.mRightKeys);
2100a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 <1>", 0, params.getColumnPos(0));
2101a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 [2]", 1, params.getColumnPos(1));
2102a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 [3]", -1, params.getColumnPos(2));
2103a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 [4]", -2, params.getColumnPos(3));
2104a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 [5]", -3, params.getColumnPos(4));
2105a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 [6]", 0, params.getColumnPos(5));
2106a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 [7]", 1, params.getColumnPos(6));
2107a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 [8]", -1, params.getColumnPos(7));
2108a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 [9]", -2, params.getColumnPos(8));
2109a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 adjust", -1, params.mTopRowAdjustment);
2110a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("9 key auto 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
2111a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2112a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2113a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [A] [8] [6] [7] [9]
2114a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
2115a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout10KeyAuto5M0() {
2116a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(10, 5, XPOS_M0);
2117a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 columns", 5, params.mNumColumns);
2118a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 rows", 2, params.mNumRows);
2119a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 left", 2, params.mLeftKeys);
2120a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 right", 3, params.mRightKeys);
2121a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 <1>", 0, params.getColumnPos(0));
2122a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [2]", 1, params.getColumnPos(1));
2123a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [3]", -1, params.getColumnPos(2));
2124a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [4]", 2, params.getColumnPos(3));
2125a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [5]", -2, params.getColumnPos(4));
2126a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [6]", 0, params.getColumnPos(5));
2127a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [7]", 1, params.getColumnPos(6));
2128a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [8]", -1, params.getColumnPos(7));
2129a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [9]", 2, params.getColumnPos(8));
2130a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 [A]", -2, params.getColumnPos(9));
2131a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
2132a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
2133a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2134a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2135a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |[6] [7] [8] [9] [A]
2136a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |<1> [2] [3] [4] [5]
2137a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout10KeyAuto5L0() {
2138a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L0);
2139a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 columns", 5, params.mNumColumns);
2140a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 rows", 2, params.mNumRows);
2141a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 left", 0, params.mLeftKeys);
2142a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 right", 5, params.mRightKeys);
2143a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 <1>", 0, params.getColumnPos(0));
2144a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [2]", 1, params.getColumnPos(1));
2145a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [3]", 2, params.getColumnPos(2));
2146a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [4]", 3, params.getColumnPos(3));
2147a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [5]", 4, params.getColumnPos(4));
2148a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [6]", 0, params.getColumnPos(5));
2149a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [7]", 1, params.getColumnPos(6));
2150a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [8]", 2, params.getColumnPos(7));
2151a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [9]", 3, params.getColumnPos(8));
2152a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 [A]", 4, params.getColumnPos(9));
2153a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 adjust", 0, params.mTopRowAdjustment);
2154a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
2155a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2156a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2157a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [6] [7] [8] [9] [A]
2158a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ <1> [2] [3] [4] [5]
2159a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout10KeyAuto5L1() {
2160a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L1);
2161a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 columns", 5, params.mNumColumns);
2162a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 rows", 2, params.mNumRows);
2163a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 left", 0, params.mLeftKeys);
2164a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 right", 5, params.mRightKeys);
2165a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 <1>", 0, params.getColumnPos(0));
2166a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [2]", 1, params.getColumnPos(1));
2167a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [3]", 2, params.getColumnPos(2));
2168a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [4]", 3, params.getColumnPos(3));
2169a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [5]", 4, params.getColumnPos(4));
2170a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [6]", 0, params.getColumnPos(5));
2171a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [7]", 1, params.getColumnPos(6));
2172a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [8]", 2, params.getColumnPos(7));
2173a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [9]", 3, params.getColumnPos(8));
2174a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 [A]", 4, params.getColumnPos(9));
2175a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 adjust", 0, params.mTopRowAdjustment);
2176a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
2177a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2178a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2179a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [8] [6] [7] [9] [A]
2180a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // |___ [3] <1> [2] [4] [5]
2181a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout10KeyAuto5L2() {
2182a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L2);
2183a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 columns", 5, params.mNumColumns);
2184a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 rows", 2, params.mNumRows);
2185a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 left", 1, params.mLeftKeys);
2186a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 right", 4, params.mRightKeys);
2187a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 <1>", 0, params.getColumnPos(0));
2188a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [2]", 1, params.getColumnPos(1));
2189a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [3]", -1, params.getColumnPos(2));
2190a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [4]", 2, params.getColumnPos(3));
2191a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [5]", 3, params.getColumnPos(4));
2192a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [6]", 0, params.getColumnPos(5));
2193a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [7]", 1, params.getColumnPos(6));
2194a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [8]", -1, params.getColumnPos(7));
2195a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [9]", 2, params.getColumnPos(8));
2196a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 [A]", 3, params.getColumnPos(9));
2197a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 adjust", 0, params.mTopRowAdjustment);
2198a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
2199a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2200a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2201a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [A] [9] [8] [7] [6]|
2202a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1>|
2203a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout10KeyAuto5R0() {
2204a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R0);
2205a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 columns", 5, params.mNumColumns);
2206a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 rows", 2, params.mNumRows);
2207a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 left", 4, params.mLeftKeys);
2208a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 right", 1, params.mRightKeys);
2209a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 <1>", 0, params.getColumnPos(0));
2210a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [2]", -1, params.getColumnPos(1));
2211a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [3]", -2, params.getColumnPos(2));
2212a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [4]", -3, params.getColumnPos(3));
2213a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [5]", -4, params.getColumnPos(4));
2214a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [6]", 0, params.getColumnPos(5));
2215a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [7]", -1, params.getColumnPos(6));
2216a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [8]", -2, params.getColumnPos(7));
2217a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [9]", -3, params.getColumnPos(8));
2218a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 [A]", -4, params.getColumnPos(9));
2219a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 adjust", 0, params.mTopRowAdjustment);
2220a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
2221a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2222a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2223a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [A] [9] [8] [7] [6] ___|
2224a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] [2] <1> ___|
2225a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout10KeyAuto5R1() {
2226a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R1);
2227a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 columns", 5, params.mNumColumns);
2228a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 rows", 2, params.mNumRows);
2229a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 left", 4, params.mLeftKeys);
2230a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 right", 1, params.mRightKeys);
2231a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 <1>", 0, params.getColumnPos(0));
2232a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [2]", -1, params.getColumnPos(1));
2233a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [3]", -2, params.getColumnPos(2));
2234a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [4]", -3, params.getColumnPos(3));
2235a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [5]", -4, params.getColumnPos(4));
2236a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [6]", 0, params.getColumnPos(5));
2237a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [7]", -1, params.getColumnPos(6));
2238a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [8]", -2, params.getColumnPos(7));
2239a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [9]", -3, params.getColumnPos(8));
2240a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 [A]", -4, params.getColumnPos(9));
2241a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 adjust", 0, params.mTopRowAdjustment);
2242a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
2243a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2244a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2245a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [A] [9] [8] [6] [7] ___|
2246a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [4] [3] <1> [2] ___|
2247a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout10KeyAuto5R2() {
2248a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R2);
2249a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 columns", 5, params.mNumColumns);
2250a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 rows", 2, params.mNumRows);
2251a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 left", 3, params.mLeftKeys);
2252a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 right", 2, params.mRightKeys);
2253a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 <1>", 0, params.getColumnPos(0));
2254a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [2]", 1, params.getColumnPos(1));
2255a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [3]", -1, params.getColumnPos(2));
2256a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [4]", -2, params.getColumnPos(3));
2257a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [5]", -3, params.getColumnPos(4));
2258a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [6]", 0, params.getColumnPos(5));
2259a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [7]", 1, params.getColumnPos(6));
2260a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [8]", -1, params.getColumnPos(7));
2261a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [9]", -2, params.getColumnPos(8));
2262a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 [A]", -3, params.getColumnPos(9));
2263a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 adjust", 0, params.mTopRowAdjustment);
2264a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("10 key auto 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
2265a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2266a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2267a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //         [B]
2268a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [A] [8] [6] [7] [9]
2269a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
2270a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout11KeyAuto5M0() {
2271a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(11, 5, XPOS_M0);
2272a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 columns", 5, params.mNumColumns);
2273a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 rows", 3, params.mNumRows);
2274a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 left", 2, params.mLeftKeys);
2275a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 right", 3, params.mRightKeys);
2276a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 <1>", 0, params.getColumnPos(0));
2277a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [2]", 1, params.getColumnPos(1));
2278a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [3]", -1, params.getColumnPos(2));
2279a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [4]", 2, params.getColumnPos(3));
2280a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [5]", -2, params.getColumnPos(4));
2281a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [6]", 0, params.getColumnPos(5));
2282a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [7]", 1, params.getColumnPos(6));
2283a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [8]", -1, params.getColumnPos(7));
2284a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [9]", 2, params.getColumnPos(8));
2285a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [A]", -2, params.getColumnPos(9));
2286a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 [B]", 0, params.getColumnPos(10));
2287a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
2288a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("11 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
2289a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2290a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2291a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //       [B] [C]
2292a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [A] [8] [6] [7] [9]
2293a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
2294a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout12KeyAuto5M0() {
2295a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(12, 5, XPOS_M0);
2296a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 columns", 5, params.mNumColumns);
2297a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 rows", 3, params.mNumRows);
2298a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 left", 2, params.mLeftKeys);
2299a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 right", 3, params.mRightKeys);
2300a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 <1>", 0, params.getColumnPos(0));
2301a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [2]", 1, params.getColumnPos(1));
2302a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [3]", -1, params.getColumnPos(2));
2303a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [4]", 2, params.getColumnPos(3));
2304a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [5]", -2, params.getColumnPos(4));
2305a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [6]", 0, params.getColumnPos(5));
2306a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [7]", 1, params.getColumnPos(6));
2307a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [8]", -1, params.getColumnPos(7));
2308a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [9]", 2, params.getColumnPos(8));
2309a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [A]", -2, params.getColumnPos(9));
2310a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [B]", 0, params.getColumnPos(10));
2311a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 [C]", 1, params.getColumnPos(11));
2312a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 adjust", -1, params.mTopRowAdjustment);
2313a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("12 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
2314a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2315a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2316a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //     [D] [B] [C]
2317a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [A] [8] [6] [7] [9]
2318a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
2319a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout13KeyAuto5M0() {
2320a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(13, 5, XPOS_M0);
2321a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 columns", 5, params.mNumColumns);
2322a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 rows", 3, params.mNumRows);
2323a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 left", 2, params.mLeftKeys);
2324a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 right", 3, params.mRightKeys);
2325a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 <1>", 0, params.getColumnPos(0));
2326a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [2]", 1, params.getColumnPos(1));
2327a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [3]", -1, params.getColumnPos(2));
2328a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [4]", 2, params.getColumnPos(3));
2329a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [5]", -2, params.getColumnPos(4));
2330a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [6]", 0, params.getColumnPos(5));
2331a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [7]", 1, params.getColumnPos(6));
2332a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [8]", -1, params.getColumnPos(7));
2333a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [9]", 2, params.getColumnPos(8));
2334a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [A]", -2, params.getColumnPos(9));
2335a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [B]", 0, params.getColumnPos(10));
2336a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [C]", 1, params.getColumnPos(11));
2337a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [D]", -1, params.getColumnPos(12));
2338a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 adjust", 0, params.mTopRowAdjustment);
2339a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
2340a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2341a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2342a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //   [D] [B] [C] [E]
2343a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [A] [8] [6] [7] [9]
2344a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [5] [3] <1> [2] [4]
2345a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout14KeyAuto5M0() {
2346a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(14, 5, XPOS_M0);
2347a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 columns", 5, params.mNumColumns);
2348a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 rows", 3, params.mNumRows);
2349a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 left", 2, params.mLeftKeys);
2350a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 right", 3, params.mRightKeys);
2351a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 <1>", 0, params.getColumnPos(0));
2352a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [2]", 1, params.getColumnPos(1));
2353a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [3]", -1, params.getColumnPos(2));
2354a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [4]", 2, params.getColumnPos(3));
2355a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [5]", -2, params.getColumnPos(4));
2356a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [6]", 0, params.getColumnPos(5));
2357a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [7]", 1, params.getColumnPos(6));
2358a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [8]", -1, params.getColumnPos(7));
2359a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [9]", 2, params.getColumnPos(8));
2360a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [A]", -2, params.getColumnPos(9));
2361a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [B]", 0, params.getColumnPos(10));
2362a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [C]", 1, params.getColumnPos(11));
2363a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [D]", -1, params.getColumnPos(12));
2364a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 [E]", 2, params.getColumnPos(13));
2365a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 adjust", -1, params.mTopRowAdjustment);
2366a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("13 key auto 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
2367a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2368a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2369a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //                     [J] [I] [H] ___|
2370a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [G] [F] [E] [D] [C] [B] [A] [9] ___|
2371a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [8] [7] [6] [5] [4] [3] [2] <1> ___|
2372a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout19KeyAuto8R1() {
2373a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(19, 8, XPOS_R1);
2374a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 columns", 8, params.mNumColumns);
2375a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 rows", 3, params.mNumRows);
2376a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 left", 7, params.mLeftKeys);
2377a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 right", 1, params.mRightKeys);
2378a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 <1>", 0, params.getColumnPos(0));
2379a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [2]", -1, params.getColumnPos(1));
2380a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [3]", -2, params.getColumnPos(2));
2381a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [4]", -3, params.getColumnPos(3));
2382a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [5]", -4, params.getColumnPos(4));
2383a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [6]", -5, params.getColumnPos(5));
2384a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [7]", -6, params.getColumnPos(6));
2385a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [8]", -7, params.getColumnPos(7));
2386a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [9]", 0, params.getColumnPos(8));
2387a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [A]", -1, params.getColumnPos(9));
2388a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [B]", -2, params.getColumnPos(10));
2389a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [C]", -3, params.getColumnPos(11));
2390a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [D]", -4, params.getColumnPos(12));
2391a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [E]", -5, params.getColumnPos(13));
2392a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [F]", -6, params.getColumnPos(14));
2393a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [G]", -7, params.getColumnPos(15));
2394a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [H]", 0, params.getColumnPos(16));
2395a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [I]", -1, params.getColumnPos(17));
2396a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 [J]", -2, params.getColumnPos(18));
2397a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 adjust", 0, params.mTopRowAdjustment);
2398a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R1 default", WIDTH * 7, params.getDefaultKeyCoordX());
2399a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2400a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2401a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //                   [J] [H] [I]   ___|
2402a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [G] [F] [E] [D] [C] [B] [9] [A] ___|
2403a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [8] [7] [6] [5] [4] [3] <1> [2] ___|
2404a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout19KeyAuto8R2() {
2405a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(19, 8, XPOS_R2);
2406a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 columns", 8, params.mNumColumns);
2407a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 rows", 3, params.mNumRows);
2408a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 left", 6, params.mLeftKeys);
2409a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 right", 2, params.mRightKeys);
2410a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 <1>", 0, params.getColumnPos(0));
2411a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [2]", 1, params.getColumnPos(1));
2412a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [3]", -1, params.getColumnPos(2));
2413a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [4]", -2, params.getColumnPos(3));
2414a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [5]", -3, params.getColumnPos(4));
2415a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [6]", -4, params.getColumnPos(5));
2416a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [7]", -5, params.getColumnPos(6));
2417a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [8]", -6, params.getColumnPos(7));
2418a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [9]", 0, params.getColumnPos(8));
2419a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [A]", 1, params.getColumnPos(9));
2420a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [B]", -1, params.getColumnPos(10));
2421a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [C]", -2, params.getColumnPos(11));
2422a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [D]", -3, params.getColumnPos(12));
2423a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [E]", -4, params.getColumnPos(13));
2424a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [F]", -5, params.getColumnPos(14));
2425a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [G]", -6, params.getColumnPos(15));
2426a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [H]", 0, params.getColumnPos(16));
2427a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [I]", 1, params.getColumnPos(17));
2428a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 [J]", -1, params.getColumnPos(18));
2429a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 adjust", -1, params.mTopRowAdjustment);
2430a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R2 default", WIDTH * 6, params.getDefaultKeyCoordX());
2431a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2432a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka
2433a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    //               [J] [H] [I]       ___|
2434a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [G] [F] [E] [D] [B] [9] [A] [C] ___|
2435a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    // [8] [7] [6] [5] [3] <1> [2] [4] ___|
2436a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    public void testLayout19KeyAuto8R3() {
2437a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        MoreKeysKeyboardParams params = createParams(19, 8, XPOS_R3);
2438a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 columns", 8, params.mNumColumns);
2439a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 rows", 3, params.mNumRows);
2440a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 left", 5, params.mLeftKeys);
2441a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 right", 3, params.mRightKeys);
2442a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 <1>", 0, params.getColumnPos(0));
2443a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [2]", 1, params.getColumnPos(1));
2444a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [3]", -1, params.getColumnPos(2));
2445a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [4]", 2, params.getColumnPos(3));
2446a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [5]", -2, params.getColumnPos(4));
2447a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [6]", -3, params.getColumnPos(5));
2448a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [7]", -4, params.getColumnPos(6));
2449a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [8]", -5, params.getColumnPos(7));
2450a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [9]", 0, params.getColumnPos(8));
2451a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [A]", 1, params.getColumnPos(9));
2452a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [B]", -1, params.getColumnPos(10));
2453a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [C]", 2, params.getColumnPos(11));
2454a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [D]", -2, params.getColumnPos(12));
2455a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [E]", -3, params.getColumnPos(13));
2456a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [F]", -4, params.getColumnPos(14));
2457a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [G]", -5, params.getColumnPos(15));
2458a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [H]", 0, params.getColumnPos(16));
2459a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [I]", 1, params.getColumnPos(17));
2460a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 [J]", -1, params.getColumnPos(18));
2461a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 adjust", -1, params.mTopRowAdjustment);
2462a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka        assertEquals("19 key auto 8 R3 default", WIDTH * 5, params.getDefaultKeyCoordX());
2463a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka    }
2464a9fc8622fe6024a3740895db354829f574ddfa75Tadashi G. Takaoka}
2465