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