diff --git a/java/res/values-ar/donottranslate-more-keys.xml b/java/res/values-ar/donottranslate-more-keys.xml
index bb36af2e4..7d69d28d5 100644
--- a/java/res/values-ar/donottranslate-more-keys.xml
+++ b/java/res/values-ar/donottranslate-more-keys.xml
@@ -18,27 +18,25 @@
*/
-->
-
+
-
+
+ U+0640: "ـ" ARABIC TATWEEL -->
-
- "،,؛,؟,!,:,-,/,\',\",ـــ|ـ,َ,ِ,ً,ٍ,ٰ,ٖ,ٕ,ٔ,ٓ,ْ,ّ,ٌ,ُ"
- 9
+ "!fixedColumnOrder!8,\",\',-,:,!,؟,،,؛,ِ,َ,ٍ,ً,ٖ,ٰ,ٕ,ٔ,ُ,ٌ,ّ,ْ,ٓ,ـــ|ـ,/"
ً
١
@@ -79,7 +77,8 @@
٪
,
- ,
+
+ ،
\\,,\@icon/settingsKey|\@integer/key_settings
\\,,\@icon/tabKey|\@integer/key_tab
\?
@@ -125,8 +124,8 @@
U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS -->
- [|],{|},<|>,﴾|﴿
- ]|[,}|{,>|<,﴿|﴾
+ !fixedColumnOrder!4,﴾|﴿,<|>,{|},[|]
+ !fixedColumnOrder!4,﴿|﴾,>|<,}|{,]|[
0x003E
@@ -146,8 +145,8 @@
U+201D: "”" RIGHT DOUBLE QUOTATION MARK
U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
- ≤|≥,«|»,‹|›
- ≥|≤,»|«,›|‹
+ !fixedColumnOrder!3,‹|›,≤|≥,«|»
+ !fixedColumnOrder!3,›|‹,≥|≤,»|«
0x005D
@@ -157,11 +156,9 @@
0x007B
-
-
- ”,«|»,“,»|«
+
+ !fixedColumnOrder!4,“,”,«|»,»|«
-
-
- ”,«|»,“,»|«,’,‚,‘,‛
+
+ !fixedColumnOrder!4,“,”,«|»,»|«,‘,’,‚,‛
diff --git a/java/res/values-es/donottranslate-more-keys.xml b/java/res/values-es/donottranslate-more-keys.xml
index ec8b6e4ed..4833d6970 100644
--- a/java/res/values-es/donottranslate-more-keys.xml
+++ b/java/res/values-es/donottranslate-more-keys.xml
@@ -67,7 +67,7 @@
U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
ç,ć,č
-
- "\\,,\?,!,¿,¡,:,-,\',\",),(,/,;,+,&,\@"
+
+ "!fixedColumnOrder!8,\",\',-,¡,!,¿,\\,,\?,\@,&,+,;,:,/,(,)"
diff --git a/java/res/values-iw/donottranslate-more-keys.xml b/java/res/values-iw/donottranslate-more-keys.xml
index 865aac6fc..c5431b612 100644
--- a/java/res/values-iw/donottranslate-more-keys.xml
+++ b/java/res/values-iw/donottranslate-more-keys.xml
@@ -29,8 +29,8 @@
0x0029
0x0028
- [|],{|},<|>
- ]|[,}|{,>|<
+ !fixedColumnOrder!3,<|>,{|},[|]
+ !fixedColumnOrder!3,>|<,}|{,]|[
0x003E
@@ -50,8 +50,8 @@
U+201D: "”" RIGHT DOUBLE QUOTATION MARK
U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
- ≤|≥,«|»,‹|›
- ≥|≤,»|«,›|‹
+ !fixedColumnOrder!3,‹|›,≤|≥,«|»
+ !fixedColumnOrder!3,›|‹,≥|≤,»|«
0x005D
@@ -60,12 +60,10 @@
0x007D
0x007B
-
-
-
- ”,«|»,“,»|«
-
-
-
- ”,«|»,“,»|«,’,‚,‘,‛
+
+
+ !fixedColumnOrder!4,“,”,«|»,»|«
+
+
+ !fixedColumnOrder!4,“,”,«|»,»|«,‘,’,‚,‛
diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml
index c04e6d0dc..5b68f855c 100644
--- a/java/res/values/donottranslate-more-keys.xml
+++ b/java/res/values/donottranslate-more-keys.xml
@@ -64,9 +64,8 @@
¢,£,$,¥,₱
¢,$,€,¥,₱
¢,$,€,£,¥,₱
- ":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\|:-\\\\ ,:\'(|:\'( ,:-D|:-D "
- "\\,,\?,!,:,-,\',\",(,),/,;,+,&,\@"
- 7
+ "!fixedColumnOrder!5,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ "
+ "!fixedColumnOrder!7,\",\',-,:,!,\\,,\?,\@,&,+,;,/,(,)"
".com"
@@ -154,18 +153,18 @@
0x0028
0x0029
- [,{,<
- ],},>
+ !fixedColumnOrder!3,<,{,[
+ !fixedColumnOrder!3,>,},]
0x003C
0x003E
-
- ≤,«,‹
- ≥,»,›
+ !fixedColumnOrder!3,‹,≤,«
+ !fixedColumnOrder!3,›,≥,»
0x005B
@@ -185,14 +184,11 @@
0x007B
0x007D
-
- ’,‚,‘,‛
+ !fixedColumnOrder!4,‘,’,‚,‛
-
-
- ”,«,“,»
+
+ !fixedColumnOrder!4,“,”,«,»
-
-
- ”,«,“,»,’,‚,‘,‛
+
+ !fixedColumnOrder!4,“,”,«,»,‘,’,‚,‛
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index e524aa381..70fc28949 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -104,8 +104,7 @@
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyLabelFlags="hasPopupHint|preserveCase"
- latin:moreKeys="@string/more_keys_for_smiley"
- latin:maxMoreKeysColumn="5" />
+ latin:moreKeys="@string/more_keys_for_smiley" />
+ latin:moreKeys="@string/more_keys_for_tablet_double_quote" />
+ latin:moreKeys="@string/more_keys_for_smiley" />
+ latin:moreKeys="@string/more_keys_for_tablet_double_quote" />
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index 0e31bcb31..4d0ad2996 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -188,6 +188,5 @@
latin:keyHintLabel="@string/keyhintlabel_for_punctuation"
latin:keyLabelFlags="hasPopupHint|preserveCase"
latin:moreKeys="@string/more_keys_for_punctuation"
- latin:maxMoreKeysColumn="@integer/more_keys_keyboard_column_for_punctuation"
latin:backgroundType="functional" />
diff --git a/java/res/xml/key_styles_enter_phone.xml b/java/res/xml/key_styles_enter_phone.xml
index 6af81fb7b..af34cb858 100644
--- a/java/res/xml/key_styles_enter_phone.xml
+++ b/java/res/xml/key_styles_enter_phone.xml
@@ -55,7 +55,6 @@
latin:keyOutputText=":-) "
latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_smiley"
- latin:maxMoreKeysColumn="5"
latin:backgroundType="functional" />
-
-
+ latin:moreKeys="@string/more_keys_for_single_quote" />
+ latin:moreKeys="@string/more_keys_for_double_quote" />
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index cf3a437cf..f839376c0 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -105,6 +105,9 @@ public class Key {
public final String[] mMoreKeys;
/** More keys maximum column number */
public final int mMaxMoreKeysColumn;
+ public static final int MORE_KEYS_FIXED_COLUMN_ORDER = 0x80000000;
+ private static final String AUTO_COLUMN_ORDER = "!autoColumnOrder!";
+ private static final String FIXED_COLUMN_ORDER = "!fixedColumnOrder!";
/** Background type that represents different key background visual than normal one. */
public final int mBackgroundType;
@@ -232,10 +235,19 @@ public class Key {
mLabelFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags);
final boolean preserveCase = (mLabelFlags & LABEL_FLAGS_PRESERVE_CASE) != 0;
int actionFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyActionFlags);
+ String[] moreKeys = style.getStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys);
+ int column;
+ if ((column = parseMoreKeysColumnOrder(moreKeys, AUTO_COLUMN_ORDER)) > 0) {
+ mMaxMoreKeysColumn = column;
+ } else if ((column = parseMoreKeysColumnOrder(moreKeys, FIXED_COLUMN_ORDER)) > 0) {
+ mMaxMoreKeysColumn = column | MORE_KEYS_FIXED_COLUMN_ORDER;
+ } else {
+ mMaxMoreKeysColumn = style.getInt(keyAttr,
+ R.styleable.Keyboard_Key_maxMoreKeysColumn, params.mMaxMoreKeysKeyboardColumn);
+ }
final String[] additionalMoreKeys = style.getStringArray(
keyAttr, R.styleable.Keyboard_Key_additionalMoreKeys);
- final String[] moreKeys = KeySpecParser.insertAddtionalMoreKeys(style.getStringArray(
- keyAttr, R.styleable.Keyboard_Key_moreKeys), additionalMoreKeys);
+ moreKeys = KeySpecParser.insertAddtionalMoreKeys(moreKeys, additionalMoreKeys);
if (moreKeys != null) {
actionFlags |= ACTION_FLAGS_ENABLE_LONG_PRESS;
for (int i = 0; i < moreKeys.length; i++) {
@@ -245,8 +257,6 @@ public class Key {
}
mActionFlags = actionFlags;
mMoreKeys = moreKeys;
- mMaxMoreKeysColumn = style.getInt(keyAttr,
- R.styleable.Keyboard_Key_maxMoreKeysColumn, params.mMaxMoreKeysKeyboardColumn);
if ((mLabelFlags & LABEL_FLAGS_FROM_CUSTOM_ACTION_LABEL) != 0) {
mLabel = params.mId.mCustomActionLabel;
@@ -301,6 +311,21 @@ public class Key {
}
}
+ private static int parseMoreKeysColumnOrder(String[] moreKeys, String key) {
+ if (moreKeys == null || moreKeys.length == 0 || moreKeys[0] == null
+ || !moreKeys[0].startsWith(key)) {
+ return -1;
+ }
+ try {
+ final int column = Integer.parseInt(moreKeys[0].substring(key.length()));
+ moreKeys[0] = null;
+ return column;
+ } catch (NumberFormatException e) {
+ Log.w(TAG, "column number should follow after " + key);
+ return 0;
+ }
+ }
+
private static int adjustCaseOfCodeForKeyboardId(int code, boolean preserveCase,
KeyboardId id) {
if (!Keyboard.isLetterCode(code) || preserveCase) return code;
diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
index 1597b1ebb..7d8181dda 100644
--- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java
@@ -37,9 +37,11 @@ public class MoreKeysKeyboard extends Keyboard {
private final String[] mMoreKeys;
public static class MoreKeysKeyboardParams extends Keyboard.Params {
+ public boolean mIsFixedOrder;
/* package */int mTopRowAdjustment;
public int mNumRows;
public int mNumColumns;
+ public int mTopKeys;
public int mLeftKeys;
public int mRightKeys; // includes default key.
@@ -58,14 +60,17 @@ public class MoreKeysKeyboard extends Keyboard {
* Set keyboard parameters of more keys keyboard.
*
* @param numKeys number of keys in this more keys keyboard.
- * @param maxColumns number of maximum columns of this more keys keyboard.
+ * @param maxColumnsAndFlags number of maximum columns of this more keys keyboard.
+ * This might have {@link Key#MORE_KEYS_FIXED_COLUMN_ORDER} flag.
* @param keyWidth more keys keyboard key width in pixel, including horizontal gap.
* @param rowHeight more keys keyboard row height in pixel, including vertical gap.
* @param coordXInParent coordinate x of the key preview in parent keyboard.
* @param parentKeyboardWidth parent keyboard width in pixel.
*/
- public void setParameters(int numKeys, int maxColumns, int keyWidth, int rowHeight,
- int coordXInParent, int parentKeyboardWidth) {
+ public void setParameters(int numKeys, int maxColumnsAndFlags, int keyWidth,
+ int rowHeight, int coordXInParent, int parentKeyboardWidth) {
+ mIsFixedOrder = (maxColumnsAndFlags & Key.MORE_KEYS_FIXED_COLUMN_ORDER) != 0;
+ final int maxColumns = maxColumnsAndFlags & ~Key.MORE_KEYS_FIXED_COLUMN_ORDER;
if (parentKeyboardWidth / keyWidth < maxColumns) {
throw new IllegalArgumentException(
"Keyboard is too small to hold more keys keyboard: "
@@ -76,8 +81,11 @@ public class MoreKeysKeyboard extends Keyboard {
final int numRows = (numKeys + maxColumns - 1) / maxColumns;
mNumRows = numRows;
- final int numColumns = getOptimizedColumns(numKeys, maxColumns);
+ final int numColumns = mIsFixedOrder ? Math.min(numKeys, maxColumns)
+ : getOptimizedColumns(numKeys, maxColumns);
mNumColumns = numColumns;
+ final int topKeys = numKeys % numColumns;
+ mTopKeys = topKeys == 0 ? numColumns : topKeys;
final int numLeftKeys = (numColumns - 1) / 2;
final int numRightKeys = numColumns - numLeftKeys; // including default key.
@@ -110,28 +118,68 @@ public class MoreKeysKeyboard extends Keyboard {
mLeftKeys = leftKeys;
mRightKeys = rightKeys;
- // Centering of the top row.
- if (numRows < 2 || getTopRowEmptySlots(numKeys, numColumns) % 2 == 0) {
- mTopRowAdjustment = 0;
- } else if (mLeftKeys < mRightKeys - 1) {
- mTopRowAdjustment = 1;
- } else {
- mTopRowAdjustment = -1;
- }
-
+ // Adjustment of the top row.
+ mTopRowAdjustment = mIsFixedOrder ? getFixedOrderTopRowAdjustment()
+ : getAutoOrderTopRowAdjustment();
mBaseWidth = mOccupiedWidth = mNumColumns * mDefaultKeyWidth;
// Need to subtract the bottom row's gutter only.
mBaseHeight = mOccupiedHeight = mNumRows * mDefaultRowHeight - mVerticalGap
+ mTopPadding + mBottomPadding;
}
+ private int getFixedOrderTopRowAdjustment() {
+ if (mNumRows == 1 || mTopKeys % 2 == 1 || mTopKeys == mNumColumns
+ || mLeftKeys == 0 || mRightKeys == 1) {
+ return 0;
+ }
+ return -1;
+ }
+
+ private int getAutoOrderTopRowAdjustment() {
+ if (mNumRows == 1 || mTopKeys == 1 || mNumColumns % 2 == mTopKeys % 2
+ || mLeftKeys == 0 || mRightKeys == 1) {
+ return 0;
+ }
+ return -1;
+ }
+
// Return key position according to column count (0 is default).
/* package */int getColumnPos(int n) {
+ return mIsFixedOrder ? getFixedOrderColumnPos(n) : getAutomaticColumnPos(n);
+ }
+
+ private int getFixedOrderColumnPos(int n) {
final int col = n % mNumColumns;
+ final int row = n / mNumColumns;
+ if (!isTopRow(row)) {
+ return col - mLeftKeys;
+ }
+ final int rightSideKeys = mTopKeys / 2;
+ final int leftSideKeys = mTopKeys - (rightSideKeys + 1);
+ final int pos = col - leftSideKeys;
+ final int numLeftKeys = mLeftKeys + mTopRowAdjustment;
+ final int numRightKeys = mRightKeys - 1;
+ if (numRightKeys >= rightSideKeys && numLeftKeys >= leftSideKeys) {
+ return pos;
+ } else if (numRightKeys < rightSideKeys) {
+ return pos - (rightSideKeys - numRightKeys);
+ } else { // numLeftKeys < leftSideKeys
+ return pos + (leftSideKeys - numLeftKeys);
+ }
+ }
+
+ private int getAutomaticColumnPos(int n) {
+ final int col = n % mNumColumns;
+ final int row = n / mNumColumns;
+ int leftKeys = mLeftKeys;
+ if (isTopRow(row)) {
+ leftKeys += mTopRowAdjustment;
+ }
if (col == 0) {
// default position.
return 0;
}
+
int pos = 0;
int right = 1; // include default position key.
int left = 0;
@@ -146,7 +194,7 @@ public class MoreKeysKeyboard extends Keyboard {
if (i >= col)
break;
// Assign left key if available.
- if (left < mLeftKeys) {
+ if (left < leftKeys) {
left++;
pos = -left;
i++;
@@ -158,12 +206,8 @@ public class MoreKeysKeyboard extends Keyboard {
}
private static int getTopRowEmptySlots(int numKeys, int numColumns) {
- final int remainingKeys = numKeys % numColumns;
- if (remainingKeys == 0) {
- return 0;
- } else {
- return numColumns - remainingKeys;
- }
+ final int remainings = numKeys % numColumns;
+ return remainings == 0 ? 0 : numColumns - remainings;
}
private int getOptimizedColumns(int numKeys, int maxColumns) {
@@ -198,7 +242,7 @@ public class MoreKeysKeyboard extends Keyboard {
}
private boolean isTopRow(int rowCount) {
- return rowCount == mNumRows - 1;
+ return mNumRows > 1 && rowCount == mNumRows - 1;
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 1626a140b..f61eefda5 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -206,9 +206,51 @@ public class KeySpecParser {
return KeyboardIconsSet.ICON_UNDEFINED;
}
- public static String[] insertAddtionalMoreKeys(String[] moreKeys, String[] additionalMoreKeys) {
- final int moreKeysCount = (moreKeys != null) ? moreKeys.length : 0;
- final int additionalCount = (additionalMoreKeys != null) ? additionalMoreKeys.length : 0;
+ private static ArrayList arrayAsList(T[] array, int start, int end) {
+ if (array == null) {
+ throw new NullPointerException();
+ }
+ if (start < 0 || start > end || end > array.length) {
+ throw new IllegalArgumentException();
+ }
+
+ final ArrayList list = new ArrayList(end - start);
+ for (int i = start; i < end; i++) {
+ list.add(array[i]);
+ }
+ return list;
+ }
+
+ private static final String[] EMPTY_STRING_ARRAY = new String[0];
+
+ private static String[] filterOutEmptyString(String[] array) {
+ if (array == null) {
+ return EMPTY_STRING_ARRAY;
+ }
+ ArrayList out = null;
+ for (int i = 0; i < array.length; i++) {
+ final String entry = array[i];
+ if (TextUtils.isEmpty(entry)) {
+ if (out == null) {
+ out = arrayAsList(array, 0, i);
+ }
+ } else if (out != null) {
+ out.add(entry);
+ }
+ }
+ if (out == null) {
+ return array;
+ } else {
+ return out.toArray(new String[out.size()]);
+ }
+ }
+
+ public static String[] insertAddtionalMoreKeys(String[] moreKeySpecs,
+ String[] additionalMoreKeySpecs) {
+ final String[] moreKeys = filterOutEmptyString(moreKeySpecs);
+ final String[] additionalMoreKeys = filterOutEmptyString(additionalMoreKeySpecs);
+ final int moreKeysCount = moreKeys.length;
+ final int additionalCount = additionalMoreKeys.length;
ArrayList out = null;
int additionalIndex = 0;
for (int moreKeyIndex = 0; moreKeyIndex < moreKeysCount; moreKeyIndex++) {
@@ -226,10 +268,7 @@ public class KeySpecParser {
} else {
// Filter out excessive '%' marker.
if (out == null) {
- out = new ArrayList(moreKeyIndex);
- for (int i = 0; i < moreKeyIndex; i++) {
- out.add(moreKeys[i]);
- }
+ out = arrayAsList(moreKeys, 0, moreKeyIndex);
}
}
} else {
@@ -246,10 +285,7 @@ public class KeySpecParser {
+ " moreKeys=" + Arrays.toString(moreKeys)
+ " additionalMoreKeys=" + Arrays.toString(additionalMoreKeys));
}
- out = new ArrayList(additionalCount + moreKeysCount);
- for (int i = additionalIndex; i < additionalCount; i++) {
- out.add(additionalMoreKeys[i]);
- }
+ out = arrayAsList(additionalMoreKeys, additionalIndex, additionalCount);
for (int i = 0; i < moreKeysCount; i++) {
out.add(moreKeys[i]);
}
@@ -261,18 +297,17 @@ public class KeySpecParser {
+ " moreKeys=" + Arrays.toString(moreKeys)
+ " additionalMoreKeys=" + Arrays.toString(additionalMoreKeys));
}
- out = new ArrayList(moreKeysCount);
- for (int i = 0; i < moreKeysCount; i++) {
- out.add(moreKeys[i]);
- }
+ out = arrayAsList(moreKeys, 0, moreKeysCount);
for (int i = additionalIndex; i < additionalCount; i++) {
out.add(additionalMoreKeys[additionalIndex]);
}
}
- if (out != null) {
- return out.size() > 0 ? out.toArray(new String[out.size()]) : null;
- } else {
+ if (out == null && moreKeysCount > 0) {
return moreKeys;
+ } else if (out != null && out.size() > 0) {
+ return out.toArray(new String[out.size()]);
+ } else {
+ return null;
}
}
diff --git a/tests/src/com/android/inputmethod/keyboard/MoreKeysKeyboardBuilderFixedOrderTests.java b/tests/src/com/android/inputmethod/keyboard/MoreKeysKeyboardBuilderFixedOrderTests.java
new file mode 100644
index 000000000..c0b3445e0
--- /dev/null
+++ b/tests/src/com/android/inputmethod/keyboard/MoreKeysKeyboardBuilderFixedOrderTests.java
@@ -0,0 +1,2629 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.android.inputmethod.keyboard;
+
+import android.test.AndroidTestCase;
+
+import com.android.inputmethod.keyboard.MoreKeysKeyboard.Builder.MoreKeysKeyboardParams;
+
+public class MoreKeysKeyboardBuilderFixedOrderTests extends AndroidTestCase {
+ private static final int WIDTH = 10;
+ private static final int HEIGHT = 10;
+
+ private static final int KEYBOARD_WIDTH = WIDTH * 10;
+ private static final int XPOS_L0 = WIDTH * 0 + WIDTH / 2;
+ private static final int XPOS_L1 = WIDTH * 1 + WIDTH / 2;
+ private static final int XPOS_L2 = WIDTH * 2 + WIDTH / 2;
+ private static final int XPOS_L3 = WIDTH * 3 + WIDTH / 2;
+ private static final int XPOS_M0 = WIDTH * 4 + WIDTH / 2;
+ private static final int XPOS_M1 = WIDTH * 5 + WIDTH / 2;
+ private static final int XPOS_R3 = WIDTH * 6 + WIDTH / 2;
+ private static final int XPOS_R2 = WIDTH * 7 + WIDTH / 2;
+ private static final int XPOS_R1 = WIDTH * 8 + WIDTH / 2;
+ private static final int XPOS_R0 = WIDTH * 9 + WIDTH / 2;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ private static MoreKeysKeyboardParams createParams(int numKeys, int fixColumns,
+ int coordXInParnet) {
+ return new MoreKeysKeyboardParams(numKeys, fixColumns | Key.MORE_KEYS_FIXED_COLUMN_ORDER,
+ WIDTH, HEIGHT, coordXInParnet, KEYBOARD_WIDTH);
+ }
+
+ public void testLayoutError() {
+ MoreKeysKeyboardParams params = null;
+ try {
+ final int fixColumns = KEYBOARD_WIDTH / WIDTH;
+ params = createParams(10, fixColumns + 1, HEIGHT);
+ fail("Should throw IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ // Too small keyboard to hold more keys keyboard.
+ }
+ assertNull("Too small keyboard to hold more keys keyboard", params);
+ }
+
+ // More keys keyboard layout test.
+ // "[n]" represents n-th key position in more keys keyboard.
+ // "" is the default key.
+
+ // <1>
+ public void testLayout1KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(1, 5, XPOS_M0);
+ assertEquals("1 key fix 5 M0 columns", 1, params.mNumColumns);
+ assertEquals("1 key fix 5 M0 rows", 1, params.mNumRows);
+ assertEquals("1 key fix 5 M0 left", 0, params.mLeftKeys);
+ assertEquals("1 key fix 5 M0 right", 1, params.mRightKeys);
+ assertEquals("1 key fix 5 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("1 key fix 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("1 key fix 5 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |<1>
+ public void testLayout1KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L0);
+ assertEquals("1 key fix 5 L0 columns", 1, params.mNumColumns);
+ assertEquals("1 key fix 5 L0 rows", 1, params.mNumRows);
+ assertEquals("1 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("1 key fix 5 L0 right", 1, params.mRightKeys);
+ assertEquals("1 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("1 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("1 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ <1>
+ public void testLayout1KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L1);
+ assertEquals("1 key fix 5 L1 columns", 1, params.mNumColumns);
+ assertEquals("1 key fix 5 L1 rows", 1, params.mNumRows);
+ assertEquals("1 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("1 key fix 5 L1 right", 1, params.mRightKeys);
+ assertEquals("1 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("1 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("1 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ ___ <1>
+ public void testLayout1KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L2);
+ assertEquals("1 key fix 5 L2 columns", 1, params.mNumColumns);
+ assertEquals("1 key fix 5 L2 rows", 1, params.mNumRows);
+ assertEquals("1 key fix 5 L2 left", 0, params.mLeftKeys);
+ assertEquals("1 key fix 5 L2 right", 1, params.mRightKeys);
+ assertEquals("1 key fix 5 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("1 key fix 5 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("1 key fix 5 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // <1>|
+ public void testLayout1KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R0);
+ assertEquals("1 key fix 5 R0 columns", 1, params.mNumColumns);
+ assertEquals("1 key fix 5 R0 rows", 1, params.mNumRows);
+ assertEquals("1 key fix 5 R0 left", 0, params.mLeftKeys);
+ assertEquals("1 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("1 key fix 5 R0 <1>", 0, params.getColumnPos(0));
+ assertEquals("1 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("1 key fix 5 R0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // <1> ___|
+ public void testLayout1KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R1);
+ assertEquals("1 key fix 5 R1 columns", 1, params.mNumColumns);
+ assertEquals("1 key fix 5 R1 rows", 1, params.mNumRows);
+ assertEquals("1 key fix 5 R1 left", 0, params.mLeftKeys);
+ assertEquals("1 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("1 key fix 5 R1 <1>", 0, params.getColumnPos(0));
+ assertEquals("1 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("1 key fix 5 R1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // <1> ___ ___|
+ public void testLayout1KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R2);
+ assertEquals("1 key fix 5 R2 columns", 1, params.mNumColumns);
+ assertEquals("1 key fix 5 R2 rows", 1, params.mNumRows);
+ assertEquals("1 key fix 5 R2 left", 0, params.mLeftKeys);
+ assertEquals("1 key fix 5 R2 right", 1, params.mRightKeys);
+ assertEquals("1 key fix 5 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("1 key fix 5 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("1 key fix 5 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // <1> [2]
+ public void testLayout2KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(2, 5, XPOS_M0);
+ assertEquals("2 key fix 5 M0 columns", 2, params.mNumColumns);
+ assertEquals("2 key fix 5 M0 rows", 1, params.mNumRows);
+ assertEquals("2 key fix 5 M0 left", 0, params.mLeftKeys);
+ assertEquals("2 key fix 5 M0 right", 2, params.mRightKeys);
+ assertEquals("2 key fix 5 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("2 key fix 5 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("2 key fix 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("2 key fix 5 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |<1> [2]
+ public void testLayout2KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L0);
+ assertEquals("2 key fix 5 L0 columns", 2, params.mNumColumns);
+ assertEquals("2 key fix 5 L0 rows", 1, params.mNumRows);
+ assertEquals("2 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("2 key fix 5 L0 right", 2, params.mRightKeys);
+ assertEquals("2 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("2 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("2 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("2 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ <1> [2]
+ public void testLayout2KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L1);
+ assertEquals("2 key fix 5 L1 columns", 2, params.mNumColumns);
+ assertEquals("2 key fix 5 L1 rows", 1, params.mNumRows);
+ assertEquals("2 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("2 key fix 5 L1 right", 2, params.mRightKeys);
+ assertEquals("2 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("2 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("2 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("2 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ ___ <1> [2]
+ public void testLayout2KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L2);
+ assertEquals("2 key fix 5 L2 columns", 2, params.mNumColumns);
+ assertEquals("2 key fix 5 L2 rows", 1, params.mNumRows);
+ assertEquals("2 key fix 5 L2 left", 0, params.mLeftKeys);
+ assertEquals("2 key fix 5 L2 right", 2, params.mRightKeys);
+ assertEquals("2 key fix 5 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("2 key fix 5 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("2 key fix 5 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("2 key fix 5 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // [1] <2>|
+ public void testLayout2KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R0);
+ assertEquals("2 key fix 5 R0 columns", 2, params.mNumColumns);
+ assertEquals("2 key fix 5 R0 rows", 1, params.mNumRows);
+ assertEquals("2 key fix 5 R0 left", 1, params.mLeftKeys);
+ assertEquals("2 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("2 key fix 5 R0 [1]", -1, params.getColumnPos(0));
+ assertEquals("2 key fix 5 R0 <2>", 0, params.getColumnPos(1));
+ assertEquals("2 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("2 key fix 5 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [1] <2> ___|
+ public void testLayout2KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R1);
+ assertEquals("2 key fix 5 R1 columns", 2, params.mNumColumns);
+ assertEquals("2 key fix 5 R1 rows", 1, params.mNumRows);
+ assertEquals("2 key fix 5 R1 left", 1, params.mLeftKeys);
+ assertEquals("2 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("2 key fix 5 R1 [1]", -1, params.getColumnPos(0));
+ assertEquals("2 key fix 5 R1 <2>", 0, params.getColumnPos(1));
+ assertEquals("2 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("2 key fix 5 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // <1> [2] ___|
+ public void testLayout2KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R2);
+ assertEquals("2 key fix 5 R2 columns", 2, params.mNumColumns);
+ assertEquals("2 key fix 5 R2 rows", 1, params.mNumRows);
+ assertEquals("2 key fix 5 R2 left", 0, params.mLeftKeys);
+ assertEquals("2 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("2 key fix 5 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("2 key fix 5 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("2 key fix 5 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("2 key fix 5 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // [3]
+ // <1> [2]
+ public void testLayout3KeyFix2M0() {
+ MoreKeysKeyboardParams params = createParams(3, 2, XPOS_M0);
+ assertEquals("3 key fix 2 M0 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 M0 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 M0 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 M0 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 M0 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |[3]
+ // |<1> [2]
+ public void testLayout3KeyFix2L0() {
+ MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L0);
+ assertEquals("3 key fix 2 L0 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 L0 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 L0 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 L0 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 L0 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [3]
+ // |___ <1> [2]
+ public void testLayout3KeyFix2L1() {
+ MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L1);
+ assertEquals("3 key fix 2 L1 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 L1 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 L1 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 L1 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 L1 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // | [3]
+ // |___ ___ <1> [2]
+ public void testLayout3KeyFix2L2() {
+ MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L2);
+ assertEquals("3 key fix 2 L2 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 L2 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 L2 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 L2 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 L2 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // [3]|
+ // [1] <2>|
+ public void testLayout3KeyFix2R0() {
+ MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R0);
+ assertEquals("3 key fix 2 R0 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 R0 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 R0 left", 1, params.mLeftKeys);
+ assertEquals("3 key fix 2 R0 right", 1, params.mRightKeys);
+ assertEquals("3 key fix 2 R0 [1]", -1, params.getColumnPos(0));
+ assertEquals("3 key fix 2 R0 <2>", 0, params.getColumnPos(1));
+ assertEquals("3 key fix 2 R0 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [3] ___|
+ // [1] <2> ___|
+ public void testLayout3KeyFix2R1() {
+ MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R1);
+ assertEquals("3 key fix 2 R1 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 R1 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 R1 left", 1, params.mLeftKeys);
+ assertEquals("3 key fix 2 R1 right", 1, params.mRightKeys);
+ assertEquals("3 key fix 2 R1 [1]", -1, params.getColumnPos(0));
+ assertEquals("3 key fix 2 R1 <2>", 0, params.getColumnPos(1));
+ assertEquals("3 key fix 2 R1 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [3] ___|
+ // <1> [2] ___|
+ public void testLayout3KeyFix2R2() {
+ MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R2);
+ assertEquals("3 key fix 2 R2 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 R2 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 R2 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 R2 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 R2 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // [3] [4]
+ // <1> [2]
+ public void testLayout4KeyFix2M0() {
+ MoreKeysKeyboardParams params = createParams(4, 2, XPOS_M0);
+ assertEquals("3 key fix 2 M0 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 M0 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 M0 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 M0 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 M0 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("3 key fix 2 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |[3] [4]
+ // |<1> [2]
+ public void testLayout4KeyFix2L0() {
+ MoreKeysKeyboardParams params = createParams(4, 2, XPOS_L0);
+ assertEquals("3 key fix 2 L0 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 L0 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 L0 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 L0 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 L0 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 L0 [4]", 1, params.getColumnPos(3));
+ assertEquals("3 key fix 2 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [3] [4]
+ // |___ <1> [2]
+ public void testLayout4KeyFix2L1() {
+ MoreKeysKeyboardParams params = createParams(4, 2, XPOS_L1);
+ assertEquals("3 key fix 2 L1 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 L1 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 L1 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 L1 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 L1 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 L1 [4]", 1, params.getColumnPos(3));
+ assertEquals("3 key fix 2 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // | [3] [4]
+ // |___ ___ <1> [2]
+ public void testLayout4KeyFix2L2() {
+ MoreKeysKeyboardParams params = createParams(4, 2, XPOS_L2);
+ assertEquals("3 key fix 2 L2 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 L2 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 L2 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 L2 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 L2 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 L2 [4]", 1, params.getColumnPos(3));
+ assertEquals("3 key fix 2 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // [3] [4]|
+ // [1] <2>|
+ public void testLayout4KeyFix2R0() {
+ MoreKeysKeyboardParams params = createParams(4, 2, XPOS_R0);
+ assertEquals("3 key fix 2 R0 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 R0 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 R0 left", 1, params.mLeftKeys);
+ assertEquals("3 key fix 2 R0 right", 1, params.mRightKeys);
+ assertEquals("3 key fix 2 R0 [1]", -1, params.getColumnPos(0));
+ assertEquals("3 key fix 2 R0 <2>", 0, params.getColumnPos(1));
+ assertEquals("3 key fix 2 R0 [3]", -1, params.getColumnPos(2));
+ assertEquals("3 key fix 2 R0 [4]", 0, params.getColumnPos(3));
+ assertEquals("3 key fix 2 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [3] [4] ___|
+ // [1] <2> ___|
+ public void testLayout4KeyFix2R1() {
+ MoreKeysKeyboardParams params = createParams(4, 2, XPOS_R1);
+ assertEquals("3 key fix 2 R1 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 R1 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 R1 left", 1, params.mLeftKeys);
+ assertEquals("3 key fix 2 R1 right", 1, params.mRightKeys);
+ assertEquals("3 key fix 2 R1 [1]", -1, params.getColumnPos(0));
+ assertEquals("3 key fix 2 R1 <2>", 0, params.getColumnPos(1));
+ assertEquals("3 key fix 2 R1 [3]", -1, params.getColumnPos(2));
+ assertEquals("3 key fix 2 R1 [4]", 0, params.getColumnPos(3));
+ assertEquals("3 key fix 2 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [3] [4] ___|
+ // <1> [2] ___|
+ public void testLayout4KeyFix2R2() {
+ MoreKeysKeyboardParams params = createParams(4, 2, XPOS_R2);
+ assertEquals("3 key fix 2 R2 columns", 2, params.mNumColumns);
+ assertEquals("3 key fix 2 R2 rows", 2, params.mNumRows);
+ assertEquals("3 key fix 2 R2 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 2 R2 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 2 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 2 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 2 R2 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 2 R2 [4]", 1, params.getColumnPos(3));
+ assertEquals("3 key fix 2 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 2 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // [1] <2> [3]
+ public void testLayout3KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(3, 5, XPOS_M0);
+ assertEquals("3 key fix 5 columns", 3, params.mNumColumns);
+ assertEquals("3 key fix 5 rows", 1, params.mNumRows);
+ assertEquals("3 key fix 5 left", 1, params.mLeftKeys);
+ assertEquals("3 key fix 5 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 5 [1]", -1, params.getColumnPos(0));
+ assertEquals("3 key fix 5 <2>", 0, params.getColumnPos(1));
+ assertEquals("3 key fix 5 [3]", 1, params.getColumnPos(2));
+ assertEquals("3 key fix 5 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 5 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |<1> [2] [3]
+ public void testLayout3KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L0);
+ assertEquals("3 key fix 5 L0 columns", 3, params.mNumColumns);
+ assertEquals("3 key fix 5 L0 rows", 1, params.mNumRows);
+ assertEquals("3 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 5 L0 right", 3, params.mRightKeys);
+ assertEquals("3 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("3 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ <1> [2] [3]
+ public void testLayout3KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L1);
+ assertEquals("3 key fix 5 L1 columns", 3, params.mNumColumns);
+ assertEquals("3 key fix 5 L1 rows", 1, params.mNumRows);
+ assertEquals("3 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("3 key fix 5 L1 right", 3, params.mRightKeys);
+ assertEquals("3 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key fix 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("3 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [1] <2> [3]
+ public void testLayout3KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L2);
+ assertEquals("3 key fix 5 L2 columns", 3, params.mNumColumns);
+ assertEquals("3 key fix 5 L2 rows", 1, params.mNumRows);
+ assertEquals("3 key fix 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("3 key fix 5 L2 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 5 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("3 key fix 5 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("3 key fix 5 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("3 key fix 5 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] <3>|
+ public void testLayout3KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R0);
+ assertEquals("3 key fix 5 R0 columns", 3, params.mNumColumns);
+ assertEquals("3 key fix 5 R0 rows", 1, params.mNumRows);
+ assertEquals("3 key fix 5 R0 left", 2, params.mLeftKeys);
+ assertEquals("3 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("3 key fix 5 R0 [1]", -2, params.getColumnPos(0));
+ assertEquals("3 key fix 5 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("3 key fix 5 R0 <3>", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 5 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] <3> ___|
+ public void testLayout3KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R1);
+ assertEquals("3 key fix 5 R1 columns", 3, params.mNumColumns);
+ assertEquals("3 key fix 5 R1 rows", 1, params.mNumRows);
+ assertEquals("3 key fix 5 R1 left", 2, params.mLeftKeys);
+ assertEquals("3 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("3 key fix 5 R1 [1]", -2, params.getColumnPos(0));
+ assertEquals("3 key fix 5 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("3 key fix 5 R1 <3>", 0, params.getColumnPos(2));
+ assertEquals("3 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 5 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [1] <2> [3] ___|
+ public void testLayout3KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R2);
+ assertEquals("3 key fix 5 R2 columns", 3, params.mNumColumns);
+ assertEquals("3 key fix 5 R2 rows", 1, params.mNumRows);
+ assertEquals("3 key fix 5 R2 left", 1, params.mLeftKeys);
+ assertEquals("3 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("3 key fix 5 R2 [1]", -1, params.getColumnPos(0));
+ assertEquals("3 key fix 5 R2 <2>", 0, params.getColumnPos(1));
+ assertEquals("3 key fix 5 R2 [3]", 1, params.getColumnPos(2));
+ assertEquals("3 key fix 5 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key fix 5 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4]
+ // [1] <2> [3]
+ public void testLayout4KeyFix3M0() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_M0);
+ assertEquals("4 key fix 3 M0 columns", 3, params.mNumColumns);
+ assertEquals("4 key fix 3 M0 rows", 2, params.mNumRows);
+ assertEquals("4 key fix 3 M0 left", 1, params.mLeftKeys);
+ assertEquals("4 key fix 3 M0 right", 2, params.mRightKeys);
+ assertEquals("4 key fix 3 M0 [1]", -1, params.getColumnPos(0));
+ assertEquals("4 key fix 3 M0 <2>", 0, params.getColumnPos(1));
+ assertEquals("4 key fix 3 M0 [3]", 1, params.getColumnPos(2));
+ assertEquals("4 key fix 3 M0 [4]", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 3 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[4]
+ // |<1> [2] [3]
+ public void testLayout4KeyFix3L0() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L0);
+ assertEquals("4 key fix 3 L0 columns", 3, params.mNumColumns);
+ assertEquals("4 key fix 3 L0 rows", 2, params.mNumRows);
+ assertEquals("4 key fix 3 L0 left", 0, params.mLeftKeys);
+ assertEquals("4 key fix 3 L0 right", 3, params.mRightKeys);
+ assertEquals("4 key fix 3 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key fix 3 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key fix 3 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("4 key fix 3 L0 [4]", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 3 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4]
+ // |___ <1> [2] [3]
+ public void testLayout4KeyFix3L1() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L1);
+ assertEquals("4 key fix 3 L1 columns", 3, params.mNumColumns);
+ assertEquals("4 key fix 3 L1 rows", 2, params.mNumRows);
+ assertEquals("4 key fix 3 L1 left", 0, params.mLeftKeys);
+ assertEquals("4 key fix 3 L1 right", 3, params.mRightKeys);
+ assertEquals("4 key fix 3 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key fix 3 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key fix 3 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("4 key fix 3 L1 [4]", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 3 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ ___ [4]
+ // |___ ___ [1] <2> [3]
+ public void testLayout4KeyFix3L2() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L2);
+ assertEquals("4 key fix 3 L2 columns", 3, params.mNumColumns);
+ assertEquals("4 key fix 3 L2 rows", 2, params.mNumRows);
+ assertEquals("4 key fix 3 L2 left", 1, params.mLeftKeys);
+ assertEquals("4 key fix 3 L2 right", 2, params.mRightKeys);
+ assertEquals("4 key fix 3 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("4 key fix 3 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("4 key fix 3 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("4 key fix 3 L2 [4]", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 3 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4]|
+ // [1] [2] <3>|
+ public void testLayout4KeyFix3R0() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R0);
+ assertEquals("4 key fix 3 R0 columns", 3, params.mNumColumns);
+ assertEquals("4 key fix 3 R0 rows", 2, params.mNumRows);
+ assertEquals("4 key fix 3 R0 left", 2, params.mLeftKeys);
+ assertEquals("4 key fix 3 R0 right", 1, params.mRightKeys);
+ assertEquals("4 key fix 3 R0 [1]", -2, params.getColumnPos(0));
+ assertEquals("4 key fix 3 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("4 key fix 3 R0 <3>", 0, params.getColumnPos(2));
+ assertEquals("4 key fix 3 R0 [4]", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 3 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [4] ___|
+ // [1] [2] <3> ___|
+ public void testLayout4KeyFix3R1() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R1);
+ assertEquals("4 key fix 3 R1 columns", 3, params.mNumColumns);
+ assertEquals("4 key fix 3 R1 rows", 2, params.mNumRows);
+ assertEquals("4 key fix 3 R1 left", 2, params.mLeftKeys);
+ assertEquals("4 key fix 3 R1 right", 1, params.mRightKeys);
+ assertEquals("4 key fix 3 R1 [1]", -2, params.getColumnPos(0));
+ assertEquals("4 key fix 3 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("4 key fix 3 R1 <3>", 0, params.getColumnPos(2));
+ assertEquals("4 key fix 3 R1 [4]", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 3 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [4] ___|
+ // [1] <2> [3] ___|
+ public void testLayout4KeyFix3R2() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R2);
+ assertEquals("4 key fix 3 R2 columns", 3, params.mNumColumns);
+ assertEquals("4 key fix 3 R2 rows", 2, params.mNumRows);
+ assertEquals("4 key fix 3 R2 left", 1, params.mLeftKeys);
+ assertEquals("4 key fix 3 R2 right", 2, params.mRightKeys);
+ assertEquals("4 key fix 3 R2 [1]", -1, params.getColumnPos(0));
+ assertEquals("4 key fix 3 R2 <2>", 0, params.getColumnPos(1));
+ assertEquals("4 key fix 3 R2 [3]", 1, params.getColumnPos(2));
+ assertEquals("4 key fix 3 R2 [4]", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 3 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5]
+ // [1] <2> [3]
+ public void testLayout5KeyFix3M0() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_M0);
+ assertEquals("5 key fix 3 M0 columns", 3, params.mNumColumns);
+ assertEquals("5 key fix 3 M0 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 3 M0 left", 1, params.mLeftKeys);
+ assertEquals("5 key fix 3 M0 right", 2, params.mRightKeys);
+ assertEquals("5 key fix 3 M0 [1]", -1, params.getColumnPos(0));
+ assertEquals("5 key fix 3 M0 <2>", 0, params.getColumnPos(1));
+ assertEquals("5 key fix 3 M0 [3]", 1, params.getColumnPos(2));
+ assertEquals("5 key fix 3 M0 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key fix 3 M0 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key fix 3 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key fix 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[4] [5]
+ // |<1> [2] [3]
+ public void testLayout5KeyFix3L0() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L0);
+ assertEquals("5 key fix 3 L0 columns", 3, params.mNumColumns);
+ assertEquals("5 key fix 3 L0 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 3 L0 left", 0, params.mLeftKeys);
+ assertEquals("5 key fix 3 L0 right", 3, params.mRightKeys);
+ assertEquals("5 key fix 3 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key fix 3 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key fix 3 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key fix 3 L0 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key fix 3 L0 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key fix 3 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5]
+ // |___ <1> [2] [3]
+ public void testLayout5KeyFix3L1() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L1);
+ assertEquals("5 key fix 3 L1 columns", 3, params.mNumColumns);
+ assertEquals("5 key fix 3 L1 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 3 L1 left", 0, params.mLeftKeys);
+ assertEquals("5 key fix 3 L1 right", 3, params.mRightKeys);
+ assertEquals("5 key fix 3 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key fix 3 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key fix 3 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key fix 3 L1 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key fix 3 L1 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key fix 3 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5]
+ // |___ [1] <2> [3]
+ public void testLayout5KeyFix3L2() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L2);
+ assertEquals("5 key fix 3 L2 columns", 3, params.mNumColumns);
+ assertEquals("5 key fix 3 L2 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 3 L2 left", 1, params.mLeftKeys);
+ assertEquals("5 key fix 3 L2 right", 2, params.mRightKeys);
+ assertEquals("5 key fix 3 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("5 key fix 3 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("5 key fix 3 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("5 key fix 3 L2 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key fix 3 L2 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key fix 3 L2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key fix 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5]|
+ // [1] [2] <3>|
+ public void testLayout5KeyFix3R0() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R0);
+ assertEquals("5 key fix 3 R0 columns", 3, params.mNumColumns);
+ assertEquals("5 key fix 3 R0 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 3 R0 left", 2, params.mLeftKeys);
+ assertEquals("5 key fix 3 R0 right", 1, params.mRightKeys);
+ assertEquals("5 key fix 3 R0 [1]", -2, params.getColumnPos(0));
+ assertEquals("5 key fix 3 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("5 key fix 3 R0 <3>", 0, params.getColumnPos(2));
+ assertEquals("5 key fix 3 R0 [4]", -1, params.getColumnPos(3));
+ assertEquals("5 key fix 3 R0 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 3 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5] ___|
+ // [1] [2] <3> ___|
+ public void testLayout5KeyFix3R1() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R1);
+ assertEquals("5 key fix 3 R1 columns", 3, params.mNumColumns);
+ assertEquals("5 key fix 3 R1 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 3 R1 left", 2, params.mLeftKeys);
+ assertEquals("5 key fix 3 R1 right", 1, params.mRightKeys);
+ assertEquals("5 key fix 3 R1 [1]", -2, params.getColumnPos(0));
+ assertEquals("5 key fix 3 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("5 key fix 3 R1 <3>", 0, params.getColumnPos(2));
+ assertEquals("5 key fix 3 R1 [4]", -1, params.getColumnPos(3));
+ assertEquals("5 key fix 3 R1 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 3 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5] ___|
+ // [1] <2> [3] ___|
+ public void testLayout5KeyFix3R2() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R2);
+ assertEquals("5 key fix 3 R2 columns", 3, params.mNumColumns);
+ assertEquals("5 key fix 3 R2 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 3 R2 left", 1, params.mLeftKeys);
+ assertEquals("5 key fix 3 R2 right", 2, params.mRightKeys);
+ assertEquals("5 key fix 3 R2 [1]", -1, params.getColumnPos(0));
+ assertEquals("5 key fix 3 R2 <2>", 0, params.getColumnPos(1));
+ assertEquals("5 key fix 3 R2 [3]", 1, params.getColumnPos(2));
+ assertEquals("5 key fix 3 R2 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key fix 3 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key fix 3 R2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key fix 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5] [6]
+ // [1] <2> [3]
+ public void testLayout6KeyFix3M0() {
+ MoreKeysKeyboardParams params = createParams(6, 3, XPOS_M0);
+ assertEquals("6 key fix 3 M0 columns", 3, params.mNumColumns);
+ assertEquals("6 key fix 3 M0 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 3 M0 left", 1, params.mLeftKeys);
+ assertEquals("6 key fix 3 M0 right", 2, params.mRightKeys);
+ assertEquals("6 key fix 3 M0 [1]", -1, params.getColumnPos(0));
+ assertEquals("6 key fix 3 M0 <2>", 0, params.getColumnPos(1));
+ assertEquals("6 key fix 3 M0 [3]", 1, params.getColumnPos(2));
+ assertEquals("6 key fix 3 M0 [4]", -1, params.getColumnPos(3));
+ assertEquals("6 key fix 3 M0 [5]", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 3 M0 [6]", 1, params.getColumnPos(5));
+ assertEquals("6 key fix 3 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[4] [5] [6]
+ // |<1> [2] [3]
+ public void testLayout6KeyFix3L0() {
+ MoreKeysKeyboardParams params = createParams(6, 3, XPOS_L0);
+ assertEquals("6 key fix 3 L0 columns", 3, params.mNumColumns);
+ assertEquals("6 key fix 3 L0 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 3 L0 left", 0, params.mLeftKeys);
+ assertEquals("6 key fix 3 L0 right", 3, params.mRightKeys);
+ assertEquals("6 key fix 3 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key fix 3 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key fix 3 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("6 key fix 3 L0 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key fix 3 L0 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key fix 3 L0 [6]", 2, params.getColumnPos(5));
+ assertEquals("6 key fix 3 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5] [6]
+ // |___ <1> [2] [3]
+ public void testLayout6KeyFix3L1() {
+ MoreKeysKeyboardParams params = createParams(6, 3, XPOS_L1);
+ assertEquals("6 key fix 3 L1 columns", 3, params.mNumColumns);
+ assertEquals("6 key fix 3 L1 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 3 L1 left", 0, params.mLeftKeys);
+ assertEquals("6 key fix 3 L1 right", 3, params.mRightKeys);
+ assertEquals("6 key fix 3 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key fix 3 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key fix 3 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("6 key fix 3 L1 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key fix 3 L1 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key fix 3 L1 [6]", 2, params.getColumnPos(5));
+ assertEquals("6 key fix 3 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5] [6]
+ // |___ [1] <2> [3]
+ public void testLayout6KeyFix3L2() {
+ MoreKeysKeyboardParams params = createParams(6, 3, XPOS_L2);
+ assertEquals("6 key fix 3 L2 columns", 3, params.mNumColumns);
+ assertEquals("6 key fix 3 L2 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 3 L2 left", 1, params.mLeftKeys);
+ assertEquals("6 key fix 3 L2 right", 2, params.mRightKeys);
+ assertEquals("6 key fix 3 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("6 key fix 3 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("6 key fix 3 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("6 key fix 3 L2 [4]", -1, params.getColumnPos(3));
+ assertEquals("6 key fix 3 L2 [5]", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 3 L2 [6]", 1, params.getColumnPos(5));
+ assertEquals("6 key fix 3 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5] [6]|
+ // [1] [2] <3>|
+ public void testLayout6KeyFix3R0() {
+ MoreKeysKeyboardParams params = createParams(6, 3, XPOS_R0);
+ assertEquals("6 key fix 3 R0 columns", 3, params.mNumColumns);
+ assertEquals("6 key fix 3 R0 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 3 R0 left", 2, params.mLeftKeys);
+ assertEquals("6 key fix 3 R0 right", 1, params.mRightKeys);
+ assertEquals("6 key fix 3 R0 [1]", -2, params.getColumnPos(0));
+ assertEquals("6 key fix 3 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("6 key fix 3 R0 <3>", 0, params.getColumnPos(2));
+ assertEquals("6 key fix 3 R0 [4]", -2, params.getColumnPos(3));
+ assertEquals("6 key fix 3 R0 [5]", -1, params.getColumnPos(4));
+ assertEquals("6 key fix 3 R0 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 3 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5] [6] ___|
+ // [1] [2] <3> ___|
+ public void testLayout6KeyFix3R1() {
+ MoreKeysKeyboardParams params = createParams(6, 3, XPOS_R1);
+ assertEquals("6 key fix 3 R1 columns", 3, params.mNumColumns);
+ assertEquals("6 key fix 3 R1 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 3 R1 left", 2, params.mLeftKeys);
+ assertEquals("6 key fix 3 R1 right", 1, params.mRightKeys);
+ assertEquals("6 key fix 3 R1 [1]", -2, params.getColumnPos(0));
+ assertEquals("6 key fix 3 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("6 key fix 3 R1 <3>", 0, params.getColumnPos(2));
+ assertEquals("6 key fix 3 R1 [4]", -2, params.getColumnPos(3));
+ assertEquals("6 key fix 3 R1 [5]", -1, params.getColumnPos(4));
+ assertEquals("6 key fix 3 R1 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 3 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5] [6] ___|
+ // [1] <2> [3] ___|
+ public void testLayout6KeyFix3R2() {
+ MoreKeysKeyboardParams params = createParams(6, 3, XPOS_R2);
+ assertEquals("6 key fix 3 R2 columns", 3, params.mNumColumns);
+ assertEquals("6 key fix 3 R2 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 3 R2 left", 1, params.mLeftKeys);
+ assertEquals("6 key fix 3 R2 right", 2, params.mRightKeys);
+ assertEquals("6 key fix 3 R2 [1]", -1, params.getColumnPos(0));
+ assertEquals("6 key fix 3 R2 <2>", 0, params.getColumnPos(1));
+ assertEquals("6 key fix 3 R2 [1]", 1, params.getColumnPos(2));
+ assertEquals("6 key fix 3 R2 [4]", -1, params.getColumnPos(3));
+ assertEquals("6 key fix 3 R2 [5]", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 3 R2 [6]", 1, params.getColumnPos(5));
+ assertEquals("6 key fix 3 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // <1> [2] [3] [4]
+ public void testLayout4KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(4, 5, XPOS_M0);
+ assertEquals("4 key fix 5 columns", 4, params.mNumColumns);
+ assertEquals("4 key fix 5 rows", 1, params.mNumRows);
+ assertEquals("4 key fix 5 left", 1, params.mLeftKeys);
+ assertEquals("4 key fix 5 right", 3, params.mRightKeys);
+ assertEquals("4 key fix 5 <1>", -1, params.getColumnPos(0));
+ assertEquals("4 key fix 5 [2]", 0, params.getColumnPos(1));
+ assertEquals("4 key fix 5 [3]", 1, params.getColumnPos(2));
+ assertEquals("4 key fix 5 [4]", 2, params.getColumnPos(3));
+ assertEquals("4 key fix 5 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 5 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |<1> [2] [3] [4]
+ public void testLayout4KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L0);
+ assertEquals("4 key fix 5 L0 columns", 4, params.mNumColumns);
+ assertEquals("4 key fix 5 L0 rows", 1, params.mNumRows);
+ assertEquals("4 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("4 key fix 5 L0 right", 4, params.mRightKeys);
+ assertEquals("4 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key fix 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("4 key fix 5 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("4 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ <1> [2] [3] [4]
+ public void testLayout4KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L1);
+ assertEquals("4 key fix 5 L1 columns", 4, params.mNumColumns);
+ assertEquals("4 key fix 5 L1 rows", 1, params.mNumRows);
+ assertEquals("4 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("4 key fix 5 L1 right", 4, params.mRightKeys);
+ assertEquals("4 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key fix 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("4 key fix 5 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("4 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [1] <2> [3] [4]
+ public void testLayout4KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L2);
+ assertEquals("4 key fix 5 L2 columns", 4, params.mNumColumns);
+ assertEquals("4 key fix 5 L2 rows", 1, params.mNumRows);
+ assertEquals("4 key fix 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("4 key fix 5 L2 right", 3, params.mRightKeys);
+ assertEquals("4 key fix 5 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("4 key fix 5 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("4 key fix 5 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("4 key fix 5 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("4 key fix 5 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] <4>|
+ public void testLayout4KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R0);
+ assertEquals("4 key fix 5 R0 columns", 4, params.mNumColumns);
+ assertEquals("4 key fix 5 R0 rows", 1, params.mNumRows);
+ assertEquals("4 key fix 5 R0 left", 3, params.mLeftKeys);
+ assertEquals("4 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("4 key fix 5 R0 [1]", -3, params.getColumnPos(0));
+ assertEquals("4 key fix 5 R0 [2]", -2, params.getColumnPos(1));
+ assertEquals("4 key fix 5 R0 [3]", -1, params.getColumnPos(2));
+ assertEquals("4 key fix 5 R0 <4>", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] <4> ___|
+ public void testLayout4KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R1);
+ assertEquals("4 key fix 5 R1 columns", 4, params.mNumColumns);
+ assertEquals("4 key fix 5 R1 rows", 1, params.mNumRows);
+ assertEquals("4 key fix 5 R1 left", 3, params.mLeftKeys);
+ assertEquals("4 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("4 key fix 5 R1 [1]", -3, params.getColumnPos(0));
+ assertEquals("4 key fix 5 R1 [2]", -2, params.getColumnPos(1));
+ assertEquals("4 key fix 5 R1 [3]", -1, params.getColumnPos(2));
+ assertEquals("4 key fix 5 R1 <4>", 0, params.getColumnPos(3));
+ assertEquals("4 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] <3> [4] ___|
+ public void testLayout4KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R2);
+ assertEquals("4 key fix 5 R2 columns", 4, params.mNumColumns);
+ assertEquals("4 key fix 5 R2 rows", 1, params.mNumRows);
+ assertEquals("4 key fix 5 R2 left", 2, params.mLeftKeys);
+ assertEquals("4 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("4 key fix 5 R2 [1]", -2, params.getColumnPos(0));
+ assertEquals("4 key fix 5 R2 [2]", -1, params.getColumnPos(1));
+ assertEquals("4 key fix 5 R2 <3>", 0, params.getColumnPos(2));
+ assertEquals("4 key fix 5 R2 [4]", 1, params.getColumnPos(3));
+ assertEquals("4 key fix 5 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key fix 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [5]
+ // [1] <2> [3] [4]
+ public void testLayout5KeyFix4M0() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_M0);
+ assertEquals("5 key fix 4 M0 columns", 4, params.mNumColumns);
+ assertEquals("5 key fix 4 M0 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 4 M0 left", 1, params.mLeftKeys);
+ assertEquals("5 key fix 4 M0 right", 3, params.mRightKeys);
+ assertEquals("5 key fix 4 M0 [1]", -1, params.getColumnPos(0));
+ assertEquals("5 key fix 4 M0 <2>", 0, params.getColumnPos(1));
+ assertEquals("5 key fix 4 M0 [3]", 1, params.getColumnPos(2));
+ assertEquals("5 key fix 4 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("5 key fix 4 M0 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 4 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[5]
+ // |<1> [2] [3] [4]
+ public void testLayout5KeyFix4L0() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L0);
+ assertEquals("5 key fix 4 L0 columns", 4, params.mNumColumns);
+ assertEquals("5 key fix 4 L0 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 4 L0 left", 0, params.mLeftKeys);
+ assertEquals("5 key fix 4 L0 right", 4, params.mRightKeys);
+ assertEquals("5 key fix 4 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key fix 4 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key fix 4 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key fix 4 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("5 key fix 4 L0 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 4 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5]
+ // |___ <1> [2] [3] [4]
+ public void testLayout5KeyFix4L1() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L1);
+ assertEquals("5 key fix 4 L1 columns", 4, params.mNumColumns);
+ assertEquals("5 key fix 4 L1 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 4 L1 left", 0, params.mLeftKeys);
+ assertEquals("5 key fix 4 L1 right", 4, params.mRightKeys);
+ assertEquals("5 key fix 4 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key fix 4 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key fix 4 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key fix 4 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("5 key fix 4 L1 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 4 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5]
+ // |___ [1] <2> [3] [4]
+ public void testLayout5KeyFix4L2() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L2);
+ assertEquals("5 key fix 4 L2 columns", 4, params.mNumColumns);
+ assertEquals("5 key fix 4 L2 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 4 L2 left", 1, params.mLeftKeys);
+ assertEquals("5 key fix 4 L2 right", 3, params.mRightKeys);
+ assertEquals("5 key fix 4 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("5 key fix 4 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("5 key fix 4 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("5 key fix 4 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("5 key fix 4 L2 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 4 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [5]|
+ // [1] [2] [3] <4>|
+ public void testLayout5KeyFix4R0() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R0);
+ assertEquals("5 key fix 4 R0 columns", 4, params.mNumColumns);
+ assertEquals("5 key fix 4 R0 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 4 R0 left", 3, params.mLeftKeys);
+ assertEquals("5 key fix 4 R0 right", 1, params.mRightKeys);
+ assertEquals("5 key fix 4 R0 [1]", -3, params.getColumnPos(0));
+ assertEquals("5 key fix 4 R0 [2]", -2, params.getColumnPos(1));
+ assertEquals("5 key fix 4 R0 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key fix 4 R0 <4>", 0, params.getColumnPos(3));
+ assertEquals("5 key fix 4 R0 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 4 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [5] ___|
+ // [1] [2] [3] <4> ___|
+ public void testLayout5KeyFix4R1() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R1);
+ assertEquals("5 key fix 4 R1 columns", 4, params.mNumColumns);
+ assertEquals("5 key fix 4 R1 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 4 R1 left", 3, params.mLeftKeys);
+ assertEquals("5 key fix 4 R1 right", 1, params.mRightKeys);
+ assertEquals("5 key fix 4 R1 [1]", -3, params.getColumnPos(0));
+ assertEquals("5 key fix 4 R1 [2]", -2, params.getColumnPos(1));
+ assertEquals("5 key fix 4 R1 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key fix 4 R1 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key fix 4 R1 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 4 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [5] ___|
+ // [1] [2] <3> [4] ___|
+ public void testLayout5KeyFix4R2() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R2);
+ assertEquals("5 key fix 4 R2 columns", 4, params.mNumColumns);
+ assertEquals("5 key fix 4 R2 rows", 2, params.mNumRows);
+ assertEquals("5 key fix 4 R2 left", 2, params.mLeftKeys);
+ assertEquals("5 key fix 4 R2 right", 2, params.mRightKeys);
+ assertEquals("5 key fix 4 R2 [1]", -2, params.getColumnPos(0));
+ assertEquals("5 key fix 4 R2 [2]", -1, params.getColumnPos(1));
+ assertEquals("5 key fix 4 R2 <3>", 0, params.getColumnPos(2));
+ assertEquals("5 key fix 4 R2 [4]", 1, params.getColumnPos(3));
+ assertEquals("5 key fix 4 R2 [5]", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 4 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6]
+ // [1] <2> [3] [4]
+ public void testLayout6KeyFix4M0() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_M0);
+ assertEquals("6 key fix 4 M0 columns", 4, params.mNumColumns);
+ assertEquals("6 key fix 4 M0 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 4 M0 left", 1, params.mLeftKeys);
+ assertEquals("6 key fix 4 M0 right", 3, params.mRightKeys);
+ assertEquals("6 key fix 4 M0 [1]", -1, params.getColumnPos(0));
+ assertEquals("6 key fix 4 M0 <2>", 0, params.getColumnPos(1));
+ assertEquals("6 key fix 4 M0 [3]", 1, params.getColumnPos(2));
+ assertEquals("6 key fix 4 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("6 key fix 4 M0 [5]", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 4 M0 [6]", 1, params.getColumnPos(5));
+ assertEquals("6 key fix 4 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("6 key fix 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[5] [6]
+ // |<1> [2] [3] [4]
+ public void testLayout6KeyFix4L0() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L0);
+ assertEquals("6 key fix 4 L0 columns", 4, params.mNumColumns);
+ assertEquals("6 key fix 4 L0 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 4 L0 left", 0, params.mLeftKeys);
+ assertEquals("6 key fix 4 L0 right", 4, params.mRightKeys);
+ assertEquals("6 key fix 4 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key fix 4 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key fix 4 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("6 key fix 4 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("6 key fix 4 L0 [5]", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 4 L0 [6]", 1, params.getColumnPos(5));
+ assertEquals("6 key fix 4 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5] [6]
+ // |___ <1> [2] [3] [4]
+ public void testLayout6KeyFix4L1() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L1);
+ assertEquals("6 key fix 4 L1 columns", 4, params.mNumColumns);
+ assertEquals("6 key fix 4 L1 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 4 L1 left", 0, params.mLeftKeys);
+ assertEquals("6 key fix 4 L1 right", 4, params.mRightKeys);
+ assertEquals("6 key fix 4 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key fix 4 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key fix 4 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("6 key fix 4 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("6 key fix 4 L1 [5]", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 4 L1 [6]", 1, params.getColumnPos(5));
+ assertEquals("6 key fix 4 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5] [6]
+ // |___ [1] <2> [3] [4]
+ public void testLayout6KeyFix4L2() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L2);
+ assertEquals("6 key fix 4 L2 columns", 4, params.mNumColumns);
+ assertEquals("6 key fix 4 L2 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 4 L2 left", 1, params.mLeftKeys);
+ assertEquals("6 key fix 4 L2 right", 3, params.mRightKeys);
+ assertEquals("6 key fix 4 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("6 key fix 4 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("6 key fix 4 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("6 key fix 4 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("6 key fix 4 L2 [5]", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 4 L2 [6]", 1, params.getColumnPos(5));
+ assertEquals("6 key fix 4 L2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("6 key fix 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6]|
+ // [1] [2] [3] <4>|
+ public void testLayout6KeyFix4R0() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R0);
+ assertEquals("6 key fix 4 R0 columns", 4, params.mNumColumns);
+ assertEquals("6 key fix 4 R0 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 4 R0 left", 3, params.mLeftKeys);
+ assertEquals("6 key fix 4 R0 right", 1, params.mRightKeys);
+ assertEquals("6 key fix 4 R0 [1]", -3, params.getColumnPos(0));
+ assertEquals("6 key fix 4 R0 [2]", -2, params.getColumnPos(1));
+ assertEquals("6 key fix 4 R0 [3]", -1, params.getColumnPos(2));
+ assertEquals("6 key fix 4 R0 <4>", 0, params.getColumnPos(3));
+ assertEquals("6 key fix 4 R0 [5]", -1, params.getColumnPos(4));
+ assertEquals("6 key fix 4 R0 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 4 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] ___|
+ // [1] [2] [3] <4> ___|
+ public void testLayout6KeyFix4R1() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R1);
+ assertEquals("6 key fix 4 R1 columns", 4, params.mNumColumns);
+ assertEquals("6 key fix 4 R1 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 4 R1 left", 3, params.mLeftKeys);
+ assertEquals("6 key fix 4 R1 right", 1, params.mRightKeys);
+ assertEquals("6 key fix 4 R1 [1]", -3, params.getColumnPos(0));
+ assertEquals("6 key fix 4 R1 [2]", -2, params.getColumnPos(1));
+ assertEquals("6 key fix 4 R1 [3]", -1, params.getColumnPos(2));
+ assertEquals("6 key fix 4 R1 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key fix 4 R1 [5]", -1, params.getColumnPos(4));
+ assertEquals("6 key fix 4 R1 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 4 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] ___|
+ // [1] [2] <3> [4] ___|
+ public void testLayout6KeyFix4R2() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R2);
+ assertEquals("6 key fix 4 R2 columns", 4, params.mNumColumns);
+ assertEquals("6 key fix 4 R2 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 4 R2 left", 2, params.mLeftKeys);
+ assertEquals("6 key fix 4 R2 right", 2, params.mRightKeys);
+ assertEquals("6 key fix 4 R2 [1]", -2, params.getColumnPos(0));
+ assertEquals("6 key fix 4 R2 [2]", -1, params.getColumnPos(1));
+ assertEquals("6 key fix 4 R2 <3>", 0, params.getColumnPos(2));
+ assertEquals("6 key fix 4 R2 [4]", 1, params.getColumnPos(3));
+ assertEquals("6 key fix 4 R2 [5]", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 4 R2 [6]", 1, params.getColumnPos(5));
+ assertEquals("6 key fix 4 R2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("6 key fix 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] [7]
+ // [1] <2> [3] [4]
+ public void testLayout7KeyFix4M0() {
+ MoreKeysKeyboardParams params = createParams(7, 4, XPOS_M0);
+ assertEquals("7 key fix 4 M0 columns", 4, params.mNumColumns);
+ assertEquals("7 key fix 4 M0 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 4 M0 left", 1, params.mLeftKeys);
+ assertEquals("7 key fix 4 M0 right", 3, params.mRightKeys);
+ assertEquals("7 key fix 4 M0 [1]", -1, params.getColumnPos(0));
+ assertEquals("7 key fix 4 M0 <2>", 0, params.getColumnPos(1));
+ assertEquals("7 key fix 4 M0 [3]", 1, params.getColumnPos(2));
+ assertEquals("7 key fix 4 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("7 key fix 4 M0 [5]", -1, params.getColumnPos(4));
+ assertEquals("7 key fix 4 M0 [6]", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 4 M0 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 4 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[5] [6] [7]
+ // |<1> [2] [3] [4]
+ public void testLayout7KeyFix4L0() {
+ MoreKeysKeyboardParams params = createParams(7, 4, XPOS_L0);
+ assertEquals("7 key fix 4 L0 columns", 4, params.mNumColumns);
+ assertEquals("7 key fix 4 L0 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 4 L0 left", 0, params.mLeftKeys);
+ assertEquals("7 key fix 4 L0 right", 4, params.mRightKeys);
+ assertEquals("7 key fix 4 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key fix 4 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key fix 4 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key fix 4 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("7 key fix 4 L0 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key fix 4 L0 [6]", 1, params.getColumnPos(5));
+ assertEquals("7 key fix 4 L0 [7]", 2, params.getColumnPos(6));
+ assertEquals("7 key fix 4 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5] [6] [7]
+ // |___ <1> [2] [3] [4]
+ public void testLayout7KeyFix4L1() {
+ MoreKeysKeyboardParams params = createParams(7, 4, XPOS_L1);
+ assertEquals("7 key fix 4 L1 columns", 4, params.mNumColumns);
+ assertEquals("7 key fix 4 L1 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 4 L1 left", 0, params.mLeftKeys);
+ assertEquals("7 key fix 4 L1 right", 4, params.mRightKeys);
+ assertEquals("7 key fix 4 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key fix 4 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key fix 4 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key fix 4 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("7 key fix 4 L1 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key fix 4 L1 [6]", 1, params.getColumnPos(5));
+ assertEquals("7 key fix 4 l1 [7]", 2, params.getColumnPos(6));
+ assertEquals("7 key fix 4 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5] [6] [7]
+ // |___ [1] <2> [3] [4]
+ public void testLayout7KeyFix4L2() {
+ MoreKeysKeyboardParams params = createParams(7, 4, XPOS_L2);
+ assertEquals("7 key fix 4 L2 columns", 4, params.mNumColumns);
+ assertEquals("7 key fix 4 L2 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 4 L2 left", 1, params.mLeftKeys);
+ assertEquals("7 key fix 4 L2 right", 3, params.mRightKeys);
+ assertEquals("7 key fix 4 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("7 key fix 4 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("7 key fix 4 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("7 key fix 4 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("7 key fix 4 L2 [5]", -1, params.getColumnPos(4));
+ assertEquals("7 key fix 4 L2 [6]", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 4 L2 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 4 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] [7]|
+ // [1] [2] [3] <4>|
+ public void testLayout7KeyFix4R0() {
+ MoreKeysKeyboardParams params = createParams(7, 4, XPOS_R0);
+ assertEquals("7 key fix 4 R0 columns", 4, params.mNumColumns);
+ assertEquals("7 key fix 4 R0 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 4 R0 left", 3, params.mLeftKeys);
+ assertEquals("7 key fix 4 R0 right", 1, params.mRightKeys);
+ assertEquals("7 key fix 4 R0 [1]", -3, params.getColumnPos(0));
+ assertEquals("7 key fix 4 R0 [2]", -2, params.getColumnPos(1));
+ assertEquals("7 key fix 4 R0 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key fix 4 R0 <4>", 0, params.getColumnPos(3));
+ assertEquals("7 key fix 4 R0 [5]", -2, params.getColumnPos(4));
+ assertEquals("7 key fix 4 R0 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key fix 4 R0 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key fix 4 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] [7] ___|
+ // [1] [2] [3] <4> ___|
+ public void testLayout7KeyFix4R1() {
+ MoreKeysKeyboardParams params = createParams(7, 4, XPOS_R1);
+ assertEquals("7 key fix 4 R1 columns", 4, params.mNumColumns);
+ assertEquals("7 key fix 4 R1 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 4 R1 left", 3, params.mLeftKeys);
+ assertEquals("7 key fix 4 R1 right", 1, params.mRightKeys);
+ assertEquals("7 key fix 4 R1 [1]", -3, params.getColumnPos(0));
+ assertEquals("7 key fix 4 R1 [2]", -2, params.getColumnPos(1));
+ assertEquals("7 key fix 4 R1 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key fix 4 R1 <4>", 0, params.getColumnPos(3));
+ assertEquals("7 key fix 4 R1 [5]", -2, params.getColumnPos(4));
+ assertEquals("7 key fix 4 R1 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key fix 4 R1 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key fix 4 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] [7] ___|
+ // [1] [2] <3> [4] ___|
+ public void testLayout7KeyFix4R2() {
+ MoreKeysKeyboardParams params = createParams(7, 4, XPOS_R2);
+ assertEquals("7 key fix 4 R2 columns", 4, params.mNumColumns);
+ assertEquals("7 key fix 4 R2 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 4 R2 left", 2, params.mLeftKeys);
+ assertEquals("7 key fix 4 R2 right", 2, params.mRightKeys);
+ assertEquals("7 key fix 4 R2 [1]", -2, params.getColumnPos(0));
+ assertEquals("7 key fix 4 R2 [2]", -1, params.getColumnPos(1));
+ assertEquals("7 key fix 4 R2 <3>", 0, params.getColumnPos(2));
+ assertEquals("7 key fix 4 R2 [4]", 1, params.getColumnPos(3));
+ assertEquals("7 key fix 4 R2 [5]", -1, params.getColumnPos(4));
+ assertEquals("7 key fix 4 R2 [6]", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 4 R2 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 4 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] [7] [8]
+ // [1] <2> [3] [4]
+ public void testLayout8KeyFix4M0() {
+ MoreKeysKeyboardParams params = createParams(8, 4, XPOS_M0);
+ assertEquals("8 key fix 4 M0 columns", 4, params.mNumColumns);
+ assertEquals("8 key fix 4 M0 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 4 M0 left", 1, params.mLeftKeys);
+ assertEquals("8 key fix 4 M0 right", 3, params.mRightKeys);
+ assertEquals("8 key fix 4 M0 [1]", -1, params.getColumnPos(0));
+ assertEquals("8 key fix 4 M0 <2>", 0, params.getColumnPos(1));
+ assertEquals("8 key fix 4 M0 [3]", 1, params.getColumnPos(2));
+ assertEquals("8 key fix 4 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("8 key fix 4 M0 [5]", -1, params.getColumnPos(4));
+ assertEquals("8 key fix 4 M0 [6]", 0, params.getColumnPos(5));
+ assertEquals("8 key fix 4 M0 [7]", 1, params.getColumnPos(6));
+ assertEquals("8 key fix 4 M0 [8]", 2, params.getColumnPos(7));
+ assertEquals("8 key fix 4 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[5] [6] [7] [8]
+ // |<1> [2] [3] [4]
+ public void testLayout8KeyFix4L0() {
+ MoreKeysKeyboardParams params = createParams(8, 4, XPOS_L0);
+ assertEquals("8 key fix 4 L0 columns", 4, params.mNumColumns);
+ assertEquals("8 key fix 4 L0 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 4 L0 left", 0, params.mLeftKeys);
+ assertEquals("8 key fix 4 L0 right", 4, params.mRightKeys);
+ assertEquals("8 key fix 4 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("8 key fix 4 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("8 key fix 4 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("8 key fix 4 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("8 key fix 4 L0 [5]", 0, params.getColumnPos(4));
+ assertEquals("8 key fix 4 L0 [6]", 1, params.getColumnPos(5));
+ assertEquals("8 key fix 4 L0 [7]", 2, params.getColumnPos(6));
+ assertEquals("8 key fix 4 L0 [8]", 3, params.getColumnPos(7));
+ assertEquals("8 key fix 4 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5] [6] [7] [8]
+ // |___ <1> [2] [3] [4]
+ public void testLayout8KeyFix4L1() {
+ MoreKeysKeyboardParams params = createParams(8, 4, XPOS_L1);
+ assertEquals("8 key fix 4 L1 columns", 4, params.mNumColumns);
+ assertEquals("8 key fix 4 L1 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 4 L1 left", 0, params.mLeftKeys);
+ assertEquals("8 key fix 4 L1 right", 4, params.mRightKeys);
+ assertEquals("8 key fix 4 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("8 key fix 4 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("8 key fix 4 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("8 key fix 4 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("8 key fix 4 L1 [5]", 0, params.getColumnPos(4));
+ assertEquals("8 key fix 4 L1 [6]", 1, params.getColumnPos(5));
+ assertEquals("8 key fix 4 L1 [7]", 2, params.getColumnPos(6));
+ assertEquals("8 key fix 4 L1 [8]", 3, params.getColumnPos(7));
+ assertEquals("8 key fix 4 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5] [6] [7] [8]
+ // |___ [1] <2> [3] [4]
+ public void testLayout8KeyFix4L2() {
+ MoreKeysKeyboardParams params = createParams(8, 4, XPOS_L2);
+ assertEquals("8 key fix 4 L2 columns", 4, params.mNumColumns);
+ assertEquals("8 key fix 4 L2 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 4 L2 left", 1, params.mLeftKeys);
+ assertEquals("8 key fix 4 L2 right", 3, params.mRightKeys);
+ assertEquals("8 key fix 4 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("8 key fix 4 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("8 key fix 4 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("8 key fix 4 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("8 key fix 4 L2 [5]", -1, params.getColumnPos(4));
+ assertEquals("8 key fix 4 L2 [6]", 0, params.getColumnPos(5));
+ assertEquals("8 key fix 4 L2 [7]", 1, params.getColumnPos(6));
+ assertEquals("8 key fix 4 L2 [8]", 2, params.getColumnPos(7));
+ assertEquals("8 key fix 4 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] [7] [8]|
+ // [1] [2] [3] <4>|
+ public void testLayout8KeyFix4R0() {
+ MoreKeysKeyboardParams params = createParams(8, 4, XPOS_R0);
+ assertEquals("8 key fix 4 R0 columns", 4, params.mNumColumns);
+ assertEquals("8 key fix 4 R0 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 4 R0 left", 3, params.mLeftKeys);
+ assertEquals("8 key fix 4 R0 right", 1, params.mRightKeys);
+ assertEquals("8 key fix 4 R0 [1]", -3, params.getColumnPos(0));
+ assertEquals("8 key fix 4 R0 [2]", -2, params.getColumnPos(1));
+ assertEquals("8 key fix 4 R0 [3]", -1, params.getColumnPos(2));
+ assertEquals("8 key fix 4 R0 <4>", 0, params.getColumnPos(3));
+ assertEquals("8 key fix 4 R0 [5]", -3, params.getColumnPos(4));
+ assertEquals("8 key fix 4 R0 [6]", -2, params.getColumnPos(5));
+ assertEquals("8 key fix 4 R0 [7]", -1, params.getColumnPos(6));
+ assertEquals("8 key fix 4 R0 [8]", 0, params.getColumnPos(7));
+ assertEquals("8 key fix 4 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] [7] [8] ___|
+ // [1] [2] [3] <4> ___|
+ public void testLayout8KeyFix4R1() {
+ MoreKeysKeyboardParams params = createParams(8, 4, XPOS_R1);
+ assertEquals("8 key fix 4 R1 columns", 4, params.mNumColumns);
+ assertEquals("8 key fix 4 R1 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 4 R1 left", 3, params.mLeftKeys);
+ assertEquals("8 key fix 4 R1 right", 1, params.mRightKeys);
+ assertEquals("8 key fix 4 R1 [1]", -3, params.getColumnPos(0));
+ assertEquals("8 key fix 4 R1 [2]", -2, params.getColumnPos(1));
+ assertEquals("8 key fix 4 R1 [3]", -1, params.getColumnPos(2));
+ assertEquals("8 key fix 4 R1 <4>", 0, params.getColumnPos(3));
+ assertEquals("8 key fix 4 R1 [5]", -3, params.getColumnPos(4));
+ assertEquals("8 key fix 4 R1 [6]", -2, params.getColumnPos(5));
+ assertEquals("8 key fix 4 R1 [7]", -1, params.getColumnPos(6));
+ assertEquals("8 key fix 4 R1 [8]", 0, params.getColumnPos(7));
+ assertEquals("8 key fix 4 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [6] [7] [8] ___|
+ // [1] [2] <3> [4] ___|
+ public void testLayout8KeyFix4R2() {
+ MoreKeysKeyboardParams params = createParams(8, 4, XPOS_R2);
+ assertEquals("8 key fix 4 R2 columns", 4, params.mNumColumns);
+ assertEquals("8 key fix 4 R2 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 4 R2 left", 2, params.mLeftKeys);
+ assertEquals("8 key fix 4 R2 right", 2, params.mRightKeys);
+ assertEquals("8 key fix 4 R2 [1]", -2, params.getColumnPos(0));
+ assertEquals("8 key fix 4 R2 [2]", -1, params.getColumnPos(1));
+ assertEquals("8 key fix 4 R2 <3>", 0, params.getColumnPos(2));
+ assertEquals("8 key fix 4 R2 [4]", 1, params.getColumnPos(3));
+ assertEquals("8 key fix 4 R2 [5]", -2, params.getColumnPos(4));
+ assertEquals("8 key fix 4 R2 [6]", -1, params.getColumnPos(5));
+ assertEquals("8 key fix 4 R2 [7]", 0, params.getColumnPos(6));
+ assertEquals("8 key fix 4 R2 [8]", 1, params.getColumnPos(7));
+ assertEquals("8 key fix 4 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] <3> [4] [5]
+ public void testLayout5KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(5, 5, XPOS_M0);
+ assertEquals("5 key fix 5 columns", 5, params.mNumColumns);
+ assertEquals("5 key fix 5 rows", 1, params.mNumRows);
+ assertEquals("5 key fix 5 left", 2, params.mLeftKeys);
+ assertEquals("5 key fix 5 right", 3, params.mRightKeys);
+ assertEquals("5 key fix 5 [1]", -2, params.getColumnPos(0));
+ assertEquals("5 key fix 5 [2]", -1, params.getColumnPos(1));
+ assertEquals("5 key fix 5 <3>", 0, params.getColumnPos(2));
+ assertEquals("5 key fix 5 [4]", 1, params.getColumnPos(3));
+ assertEquals("5 key fix 5 [5]", 2, params.getColumnPos(4));
+ assertEquals("5 key fix 5 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 5 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |<1> [2] [3] [4] [5]
+ public void testLayout5KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L0);
+ assertEquals("5 key fix 5 L0 columns", 5, params.mNumColumns);
+ assertEquals("5 key fix 5 L0 rows", 1, params.mNumRows);
+ assertEquals("5 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("5 key fix 5 L0 right", 5, params.mRightKeys);
+ assertEquals("5 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key fix 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key fix 5 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("5 key fix 5 L0 [5]", 4, params.getColumnPos(4));
+ assertEquals("5 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ <1> [2] [3] [4] [5]
+ public void testLayout5KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L1);
+ assertEquals("5 key fix 5 L1 columns", 5, params.mNumColumns);
+ assertEquals("5 key fix 5 L1 rows", 1, params.mNumRows);
+ assertEquals("5 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("5 key fix 5 L1 right", 5, params.mRightKeys);
+ assertEquals("5 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key fix 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key fix 5 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("5 key fix 5 L1 [5]", 4, params.getColumnPos(4));
+ assertEquals("5 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [1] <2> [3] [4] [5]
+ public void testLayout5KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L2);
+ assertEquals("5 key fix 5 L2 columns", 5, params.mNumColumns);
+ assertEquals("5 key fix 5 L2 rows", 1, params.mNumRows);
+ assertEquals("5 key fix 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("5 key fix 5 L2 right", 4, params.mRightKeys);
+ assertEquals("5 key fix 5 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("5 key fix 5 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("5 key fix 5 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("5 key fix 5 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("5 key fix 5 L2 [5]", 3, params.getColumnPos(4));
+ assertEquals("5 key fix 5 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] [4] <5>|
+ public void testLayout5KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R0);
+ assertEquals("5 key fix 5 R0 columns", 5, params.mNumColumns);
+ assertEquals("5 key fix 5 R0 rows", 1, params.mNumRows);
+ assertEquals("5 key fix 5 R0 left", 4, params.mLeftKeys);
+ assertEquals("5 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("5 key fix 5 R0 [1]", -4, params.getColumnPos(0));
+ assertEquals("5 key fix 5 R0 [2]", -3, params.getColumnPos(1));
+ assertEquals("5 key fix 5 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("5 key fix 5 R0 [4]", -1, params.getColumnPos(3));
+ assertEquals("5 key fix 5 R0 <5>", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] [4] <5> ___|
+ public void testLayout5KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R1);
+ assertEquals("5 key fix 5 R1 columns", 5, params.mNumColumns);
+ assertEquals("5 key fix 5 R1 rows", 1, params.mNumRows);
+ assertEquals("5 key fix 5 R1 left", 4, params.mLeftKeys);
+ assertEquals("5 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("5 key fix 5 R1 [1]", -4, params.getColumnPos(0));
+ assertEquals("5 key fix 5 R1 [2]", -3, params.getColumnPos(1));
+ assertEquals("5 key fix 5 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("5 key fix 5 R1 [4]", -1, params.getColumnPos(3));
+ assertEquals("5 key fix 5 R1 <5>", 0, params.getColumnPos(4));
+ assertEquals("5 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] <4> [5] ___|
+ public void testLayout5KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R2);
+ assertEquals("5 key fix 5 R2 columns", 5, params.mNumColumns);
+ assertEquals("5 key fix 5 R2 rows", 1, params.mNumRows);
+ assertEquals("5 key fix 5 R2 left", 3, params.mLeftKeys);
+ assertEquals("5 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("5 key fix 5 R2 [1]", -3, params.getColumnPos(0));
+ assertEquals("5 key fix 5 R2 [2]", -2, params.getColumnPos(1));
+ assertEquals("5 key fix 5 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key fix 5 R2 <4>", 0, params.getColumnPos(3));
+ assertEquals("5 key fix 5 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key fix 5 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key fix 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [6]
+ // [1] [2] <3> [4] [5]
+ public void testLayout6KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(6, 5, XPOS_M0);
+ assertEquals("6 key fix 5 columns", 5, params.mNumColumns);
+ assertEquals("6 key fix 5 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 5 left", 2, params.mLeftKeys);
+ assertEquals("6 key fix 5 right", 3, params.mRightKeys);
+ assertEquals("6 key fix 5 [1]", -2, params.getColumnPos(0));
+ assertEquals("6 key fix 5 [2]", -1, params.getColumnPos(1));
+ assertEquals("6 key fix 5 <3>", 0, params.getColumnPos(2));
+ assertEquals("6 key fix 5 [4]", 1, params.getColumnPos(3));
+ assertEquals("6 key fix 5 [5]", 2, params.getColumnPos(4));
+ assertEquals("6 key fix 5 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 5 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 5 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |[6]
+ // |<1> [2] [3] [4] [5]
+ public void testLayout6KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L0);
+ assertEquals("6 key fix 5 L0 columns", 5, params.mNumColumns);
+ assertEquals("6 key fix 5 L0 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("6 key fix 5 L0 right", 5, params.mRightKeys);
+ assertEquals("6 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key fix 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("6 key fix 5 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("6 key fix 5 L0 [5]", 4, params.getColumnPos(4));
+ assertEquals("6 key fix 5 L0 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6]
+ // |___ <1> [2] [3] [4] [5]
+ public void testLayout6KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L1);
+ assertEquals("6 key fix 5 L1 columns", 5, params.mNumColumns);
+ assertEquals("6 key fix 5 L1 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("6 key fix 5 L1 right", 5, params.mRightKeys);
+ assertEquals("6 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key fix 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("6 key fix 5 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("6 key fix 5 L1 [5]", 4, params.getColumnPos(4));
+ assertEquals("6 key fix 5 L1 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6]
+ // |___ [1] <2> [3] [4] [5]
+ public void testLayout6KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L2);
+ assertEquals("6 key fix 5 L2 columns", 5, params.mNumColumns);
+ assertEquals("6 key fix 5 L2 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("6 key fix 5 L2 right", 4, params.mRightKeys);
+ assertEquals("6 key fix 5 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("6 key fix 5 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("6 key fix 5 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("6 key fix 5 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("6 key fix 5 L2 [5]", 3, params.getColumnPos(4));
+ assertEquals("6 key fix 5 L2 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 5 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [6]|
+ // [1] [2] [3] [4] <5>|
+ public void testLayout6KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R0);
+ assertEquals("6 key fix 5 R0 columns", 5, params.mNumColumns);
+ assertEquals("6 key fix 5 R0 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 5 R0 left", 4, params.mLeftKeys);
+ assertEquals("6 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("6 key fix 5 R0 [1]", -4, params.getColumnPos(0));
+ assertEquals("6 key fix 5 R0 [2]", -3, params.getColumnPos(1));
+ assertEquals("6 key fix 5 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("6 key fix 5 R0 [4]", -1, params.getColumnPos(3));
+ assertEquals("6 key fix 5 R0 <5>", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 5 R0 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] ___|
+ // [1] [2] [3] [4] <5> ___|
+ public void testLayout6KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R1);
+ assertEquals("6 key fix 5 R1 columns", 5, params.mNumColumns);
+ assertEquals("6 key fix 5 R1 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 5 R1 left", 4, params.mLeftKeys);
+ assertEquals("6 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("6 key fix 5 R1 [1]", -4, params.getColumnPos(0));
+ assertEquals("6 key fix 5 R1 [2]", -3, params.getColumnPos(1));
+ assertEquals("6 key fix 5 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("6 key fix 5 R1 [4]", -1, params.getColumnPos(3));
+ assertEquals("6 key fix 5 R1 <5>", 0, params.getColumnPos(4));
+ assertEquals("6 key fix 5 R1 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] ___|
+ // [1] [2] [3] <4> [5] ___|
+ public void testLayout6KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R2);
+ assertEquals("6 key fix 5 R2 columns", 5, params.mNumColumns);
+ assertEquals("6 key fix 5 R2 rows", 2, params.mNumRows);
+ assertEquals("6 key fix 5 R2 left", 3, params.mLeftKeys);
+ assertEquals("6 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("6 key fix 5 R2 [1]", -3, params.getColumnPos(0));
+ assertEquals("6 key fix 5 R2 [2]", -2, params.getColumnPos(1));
+ assertEquals("6 key fix 5 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("6 key fix 5 R2 <4>", 0, params.getColumnPos(3));
+ assertEquals("6 key fix 5 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key fix 5 R2 [6]", 0, params.getColumnPos(5));
+ assertEquals("6 key fix 5 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key fix 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7]
+ // [1] [2] <3> [4] [5]
+ public void testLayout7KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_M0);
+ assertEquals("7 key fix 5 columns", 5, params.mNumColumns);
+ assertEquals("7 key fix 5 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 5 left", 2, params.mLeftKeys);
+ assertEquals("7 key fix 5 right", 3, params.mRightKeys);
+ assertEquals("7 key fix 5 [1]", -2, params.getColumnPos(0));
+ assertEquals("7 key fix 5 [2]", -1, params.getColumnPos(1));
+ assertEquals("7 key fix 5 <3>", 0, params.getColumnPos(2));
+ assertEquals("7 key fix 5 [4]", 1, params.getColumnPos(3));
+ assertEquals("7 key fix 5 [5]", 2, params.getColumnPos(4));
+ assertEquals("7 key fix 5 [6]", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 5 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 5 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("7 key fix 5 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |[6] [7]
+ // |<1> [2] [3] [4] [5]
+ public void testLayout7KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L0);
+ assertEquals("7 key fix 5 L0 columns", 5, params.mNumColumns);
+ assertEquals("7 key fix 5 L0 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("7 key fix 5 L0 right", 5, params.mRightKeys);
+ assertEquals("7 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key fix 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key fix 5 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("7 key fix 5 L0 [5]", 4, params.getColumnPos(4));
+ assertEquals("7 key fix 5 L0 [6]", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 5 L0 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [7]
+ // |___ <1> [2] [3] [4] [5]
+ public void testLayout7KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L1);
+ assertEquals("7 key fix 5 L1 columns", 5, params.mNumColumns);
+ assertEquals("7 key fix 5 L1 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("7 key fix 5 L1 right", 5, params.mRightKeys);
+ assertEquals("7 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key fix 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key fix 5 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("7 key fix 5 L1 [5]", 4, params.getColumnPos(4));
+ assertEquals("7 key fix 5 L1 [6]", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 5 L1 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [7]
+ // |___ [1] <2> [3] [4] [5]
+ public void testLayout7KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L2);
+ assertEquals("7 key fix 5 L2 columns", 5, params.mNumColumns);
+ assertEquals("7 key fix 5 L2 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("7 key fix 5 L2 right", 4, params.mRightKeys);
+ assertEquals("7 key fix 5 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("7 key fix 5 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("7 key fix 5 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("7 key fix 5 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("7 key fix 5 L2 [5]", 3, params.getColumnPos(4));
+ assertEquals("7 key fix 5 L2 [6]", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 5 L2 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 5 L2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("7 key fix 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7]|
+ // [1] [2] [3] [4] <5>|
+ public void testLayout7KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R0);
+ assertEquals("7 key fix 5 R0 columns", 5, params.mNumColumns);
+ assertEquals("7 key fix 5 R0 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 5 R0 left", 4, params.mLeftKeys);
+ assertEquals("7 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("7 key fix 5 R0 [1]", -4, params.getColumnPos(0));
+ assertEquals("7 key fix 5 R0 [2]", -3, params.getColumnPos(1));
+ assertEquals("7 key fix 5 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("7 key fix 5 R0 [4]", -1, params.getColumnPos(3));
+ assertEquals("7 key fix 5 R0 <5>", 0, params.getColumnPos(4));
+ assertEquals("7 key fix 5 R0 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key fix 5 R0 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] ___|
+ // [1] [2] [3] [4] <5> ___|
+ public void testLayout7KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R1);
+ assertEquals("7 key fix 5 R1 columns", 5, params.mNumColumns);
+ assertEquals("7 key fix 5 R1 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 5 R1 left", 4, params.mLeftKeys);
+ assertEquals("7 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("7 key fix 5 R1 [1]", -4, params.getColumnPos(0));
+ assertEquals("7 key fix 5 R1 [2]", -3, params.getColumnPos(1));
+ assertEquals("7 key fix 5 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("7 key fix 5 R1 [4]", -1, params.getColumnPos(3));
+ assertEquals("7 key fix 5 R1 <5>", 0, params.getColumnPos(4));
+ assertEquals("7 key fix 5 R1 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key fix 5 R1 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] ___|
+ // [1] [2] [3] <4> [5] ___|
+ public void testLayout7KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R2);
+ assertEquals("7 key fix 5 R2 columns",5, params.mNumColumns);
+ assertEquals("7 key fix 5 R2 rows", 2, params.mNumRows);
+ assertEquals("7 key fix 5 R2 left", 3, params.mLeftKeys);
+ assertEquals("7 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("7 key fix 5 R2 [1]", -3, params.getColumnPos(0));
+ assertEquals("7 key fix 5 R2 [2]", -2, params.getColumnPos(1));
+ assertEquals("7 key fix 5 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key fix 5 R2 <4>", 0, params.getColumnPos(3));
+ assertEquals("7 key fix 5 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("7 key fix 5 R2 [6]", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 5 R2 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 5 R2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("7 key fix 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8]
+ // [1] [2] <3> [4] [5]
+ public void testLayout8KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(8, 5, XPOS_M0);
+ assertEquals("8 key fix 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("8 key fix 5 M0 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("8 key fix 5 M0 right", 3, params.mRightKeys);
+ assertEquals("8 key fix 5 M0 [1]", -2, params.getColumnPos(0));
+ assertEquals("8 key fix 5 M0 [2]", -1, params.getColumnPos(1));
+ assertEquals("8 key fix 5 M0 <3>", 0, params.getColumnPos(2));
+ assertEquals("8 key fix 5 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("8 key fix 5 M0 [5]", 2, params.getColumnPos(4));
+ assertEquals("8 key fix 5 M0 [6]", -1, params.getColumnPos(5));
+ assertEquals("8 key fix 5 M0 [7]", 0, params.getColumnPos(6));
+ assertEquals("8 key fix 5 M0 [8]", 1, params.getColumnPos(7));
+ assertEquals("8 key fix 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |[6] [7] [8]
+ // |<1> [2] [3] [4] [5]
+ public void testLayout8KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L0);
+ assertEquals("8 key fix 5 L0 columns", 5, params.mNumColumns);
+ assertEquals("8 key fix 5 L0 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("8 key fix 5 L0 right", 5, params.mRightKeys);
+ assertEquals("8 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("8 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("8 key fix 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("8 key fix 5 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("8 key fix 5 L0 [5]", 4, params.getColumnPos(4));
+ assertEquals("8 key fix 5 L0 [6]", 0, params.getColumnPos(5));
+ assertEquals("8 key fix 5 L0 [7]", 1, params.getColumnPos(6));
+ assertEquals("8 key fix 5 L0 [8]", 2, params.getColumnPos(7));
+ assertEquals("8 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [7] [8]
+ // |___ <1> [2] [3] [4] [5]
+ public void testLayout8KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L1);
+ assertEquals("8 key fix 5 L1 columns", 5, params.mNumColumns);
+ assertEquals("8 key fix 5 L1 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("8 key fix 5 L1 right", 5, params.mRightKeys);
+ assertEquals("8 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("8 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("8 key fix 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("8 key fix 5 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("8 key fix 5 L1 [5]", 4, params.getColumnPos(4));
+ assertEquals("8 key fix 5 L1 [6]", 0, params.getColumnPos(5));
+ assertEquals("8 key fix 5 L1 [7]", 1, params.getColumnPos(6));
+ assertEquals("8 key fix 5 L1 [8]", 2, params.getColumnPos(7));
+ assertEquals("8 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [7] [8]
+ // |___ [1] <2> [3] [4] [5]
+ public void testLayout8KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L2);
+ assertEquals("8 key fix 5 L2 columns", 5, params.mNumColumns);
+ assertEquals("8 key fix 5 L2 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("8 key fix 5 L2 right", 4, params.mRightKeys);
+ assertEquals("8 key fix 5 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("8 key fix 5 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("8 key fix 5 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("8 key fix 5 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("8 key fix 5 L2 [5]", 3, params.getColumnPos(4));
+ assertEquals("8 key fix 5 L2 [6]", -1, params.getColumnPos(5));
+ assertEquals("8 key fix 5 L2 [7]", 0, params.getColumnPos(6));
+ assertEquals("8 key fix 5 L2 [8]", 1, params.getColumnPos(7));
+ assertEquals("8 key fix 5 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8]|
+ // [1] [2] [3] [4] <5>|
+ public void testLayout8KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R0);
+ assertEquals("8 key fix 5 R0 columns", 5, params.mNumColumns);
+ assertEquals("8 key fix 5 R0 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 5 R0 left", 4, params.mLeftKeys);
+ assertEquals("8 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("8 key fix 5 R0 [1]", -4, params.getColumnPos(0));
+ assertEquals("8 key fix 5 R0 [2]", -3, params.getColumnPos(1));
+ assertEquals("8 key fix 5 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("8 key fix 5 R0 [4]", -1, params.getColumnPos(3));
+ assertEquals("8 key fix 5 R0 <5>", 0, params.getColumnPos(4));
+ assertEquals("8 key fix 5 R0 [6]", -2, params.getColumnPos(5));
+ assertEquals("8 key fix 5 R0 [7]", -1, params.getColumnPos(6));
+ assertEquals("8 key fix 5 R0 [8]", 0, params.getColumnPos(7));
+ assertEquals("8 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] ___|
+ // [1] [2] [3] [4] <5> ___|
+ public void testLayout8KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R1);
+ assertEquals("8 key fix 5 R1 columns", 5, params.mNumColumns);
+ assertEquals("8 key fix 5 R1 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 5 R1 left", 4, params.mLeftKeys);
+ assertEquals("8 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("8 key fix 5 R1 [1]", -4, params.getColumnPos(0));
+ assertEquals("8 key fix 5 R1 [2]", -3, params.getColumnPos(1));
+ assertEquals("8 key fix 5 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("8 key fix 5 R1 [4]", -1, params.getColumnPos(3));
+ assertEquals("8 key fix 5 R1 <5>", 0, params.getColumnPos(4));
+ assertEquals("8 key fix 5 R1 [6]", -2, params.getColumnPos(5));
+ assertEquals("8 key fix 5 R1 [7]", -1, params.getColumnPos(6));
+ assertEquals("8 key fix 5 R1 [8]", 0, params.getColumnPos(7));
+ assertEquals("8 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] ___|
+ // [1] [2] [3] <4> [5] ___|
+ public void testLayout8KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R2);
+ assertEquals("8 key fix 5 R2 columns", 5, params.mNumColumns);
+ assertEquals("8 key fix 5 R2 rows", 2, params.mNumRows);
+ assertEquals("8 key fix 5 R2 left", 3, params.mLeftKeys);
+ assertEquals("8 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("8 key fix 5 R2 [1]", -3, params.getColumnPos(0));
+ assertEquals("8 key fix 5 R2 [2]", -2, params.getColumnPos(1));
+ assertEquals("8 key fix 5 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("8 key fix 5 R2 <4>", 0, params.getColumnPos(3));
+ assertEquals("8 key fix 5 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("8 key fix 5 R2 [6]", -1, params.getColumnPos(5));
+ assertEquals("8 key fix 5 R2 [7]", 0, params.getColumnPos(6));
+ assertEquals("8 key fix 5 R2 [8]", 1, params.getColumnPos(7));
+ assertEquals("8 key fix 5 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("8 key fix 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] [9]
+ // [1] [2] <3> [4] [5]
+ public void testLayout9KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(9, 5, XPOS_M0);
+ assertEquals("9 key fix 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("9 key fix 5 M0 rows", 2, params.mNumRows);
+ assertEquals("9 key fix 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("9 key fix 5 M0 right", 3, params.mRightKeys);
+ assertEquals("9 key fix 5 M0 [1]", -2, params.getColumnPos(0));
+ assertEquals("9 key fix 5 M0 [2]", -1, params.getColumnPos(1));
+ assertEquals("9 key fix 5 M0 <3>", 0, params.getColumnPos(2));
+ assertEquals("9 key fix 5 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("9 key fix 5 M0 [5]", 2, params.getColumnPos(4));
+ assertEquals("9 key fix 5 M0 [6]", -1, params.getColumnPos(5));
+ assertEquals("9 key fix 5 M0 [7]", 0, params.getColumnPos(6));
+ assertEquals("9 key fix 5 M0 [8]", 1, params.getColumnPos(7));
+ assertEquals("9 key fix 5 M0 [9]", 2, params.getColumnPos(8));
+ assertEquals("9 key fix 5 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("9 key fix 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |[6] [7] [8] [9]
+ // |<1> [2] [3] [4] [5]
+ public void testLayout9KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L0);
+ assertEquals("9 key fix 5 L0 columns", 5, params.mNumColumns);
+ assertEquals("9 key fix 5 L0 rows", 2, params.mNumRows);
+ assertEquals("9 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("9 key fix 5 L0 right", 5, params.mRightKeys);
+ assertEquals("9 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("9 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("9 key fix 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("9 key fix 5 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("9 key fix 5 L0 [5]", 4, params.getColumnPos(4));
+ assertEquals("9 key fix 5 L0 [6]", 0, params.getColumnPos(5));
+ assertEquals("9 key fix 5 L0 [7]", 1, params.getColumnPos(6));
+ assertEquals("9 key fix 5 L0 [8]", 2, params.getColumnPos(7));
+ assertEquals("9 key fix 5 L0 [9]", 3, params.getColumnPos(8));
+ assertEquals("9 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("9 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [7] [8] [9]
+ // |___ <1> [2] [3] [4] [5]
+ public void testLayout9KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L1);
+ assertEquals("9 key fix 5 L1 columns", 5, params.mNumColumns);
+ assertEquals("9 key fix 5 L1 rows", 2, params.mNumRows);
+ assertEquals("9 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("9 key fix 5 L1 right", 5, params.mRightKeys);
+ assertEquals("9 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("9 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("9 key fix 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("9 key fix 5 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("9 key fix 5 L1 [5]", 4, params.getColumnPos(4));
+ assertEquals("9 key fix 5 L1 [6]", 0, params.getColumnPos(5));
+ assertEquals("9 key fix 5 L1 [7]", 1, params.getColumnPos(6));
+ assertEquals("9 key fix 5 L1 [8]", 2, params.getColumnPos(7));
+ assertEquals("9 key fix 5 L1 [9]", 3, params.getColumnPos(8));
+ assertEquals("9 key fix 5 L1 adjust",0, params.mTopRowAdjustment);
+ assertEquals("9 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [7] [8] [9]
+ // |___ [1] <2> [3] [4] [5]
+ public void testLayout9KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L2);
+ assertEquals("9 key fix 5 L2 columns", 5, params.mNumColumns);
+ assertEquals("9 key fix 5 L2 rows", 2, params.mNumRows);
+ assertEquals("9 key fix 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("9 key fix 5 L2 right", 4, params.mRightKeys);
+ assertEquals("9 key fix 5 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("9 key fix 5 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("9 key fix 5 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("9 key fix 5 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("9 key fix 5 L2 [5]", 3, params.getColumnPos(4));
+ assertEquals("9 key fix 5 L2 [6]", 0, params.getColumnPos(5));
+ assertEquals("9 key fix 5 L2 [7]", 1, params.getColumnPos(6));
+ assertEquals("9 key fix 5 L2 [8]", 2, params.getColumnPos(7));
+ assertEquals("9 key fix 5 L2 [9]", 3, params.getColumnPos(8));
+ assertEquals("9 key fix 5 L2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("9 key fix 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] [9]|
+ // [1] [2] [3] [4] <5>|
+ public void testLayout9KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R0);
+ assertEquals("9 key fix 5 R0 columns", 5, params.mNumColumns);
+ assertEquals("9 key fix 5 R0 rows", 2, params.mNumRows);
+ assertEquals("9 key fix 5 R0 left", 4, params.mLeftKeys);
+ assertEquals("9 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("9 key fix 5 R0 [1]", -4, params.getColumnPos(0));
+ assertEquals("9 key fix 5 R0 [2]", -3, params.getColumnPos(1));
+ assertEquals("9 key fix 5 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("9 key fix 5 R0 [4]", -1, params.getColumnPos(3));
+ assertEquals("9 key fix 5 R0 <5>", 0, params.getColumnPos(4));
+ assertEquals("9 key fix 5 R0 [6]", -3, params.getColumnPos(5));
+ assertEquals("9 key fix 5 R0 [7]", -2, params.getColumnPos(6));
+ assertEquals("9 key fix 5 R0 [8]", -1, params.getColumnPos(7));
+ assertEquals("9 key fix 5 R0 [9]", 0, params.getColumnPos(8));
+ assertEquals("9 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("9 key fix 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] [9] ___|
+ // [1] [2] [3] [4] <5> ___|
+ public void testLayout9KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R1);
+ assertEquals("9 key fix 5 R1 columns", 5, params.mNumColumns);
+ assertEquals("9 key fix 5 R1 rows", 2, params.mNumRows);
+ assertEquals("9 key fix 5 R1 left", 4, params.mLeftKeys);
+ assertEquals("9 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("9 key fix 5 R1 [1]", -4, params.getColumnPos(0));
+ assertEquals("9 key fix 5 R1 [2]", -3, params.getColumnPos(1));
+ assertEquals("9 key fix 5 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("9 key fix 5 R1 [4]", -1, params.getColumnPos(3));
+ assertEquals("9 key fix 5 R1 <5>", 0, params.getColumnPos(4));
+ assertEquals("9 key fix 5 R1 [6]", -3, params.getColumnPos(5));
+ assertEquals("9 key fix 5 R1 [7]", -2, params.getColumnPos(6));
+ assertEquals("9 key fix 5 R1 [8]", -1, params.getColumnPos(7));
+ assertEquals("9 key fix 5 R1 [9]", 0, params.getColumnPos(8));
+ assertEquals("9 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("9 key fix 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] [9] ___|
+ // [1] [2] [3] <4> [5] ___|
+ public void testLayout9KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R2);
+ assertEquals("9 key fix 5 R2 columns", 5, params.mNumColumns);
+ assertEquals("9 key fix 5 R2 rows", 2, params.mNumRows);
+ assertEquals("9 key fix 5 R2 left", 3, params.mLeftKeys);
+ assertEquals("9 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("9 key fix 5 R2 [1]", -3, params.getColumnPos(0));
+ assertEquals("9 key fix 5 R2 [2]", -2, params.getColumnPos(1));
+ assertEquals("9 key fix 5 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("9 key fix 5 R2 <4>", 0, params.getColumnPos(3));
+ assertEquals("9 key fix 5 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("9 key fix 5 R2 [6]", -2, params.getColumnPos(5));
+ assertEquals("9 key fix 5 R2 [7]", -1, params.getColumnPos(6));
+ assertEquals("9 key fix 5 R2 [8]", 0, params.getColumnPos(7));
+ assertEquals("9 key fix 5 R2 [9]", 1, params.getColumnPos(8));
+ assertEquals("9 key fix 5 R2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("9 key fix 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] [9] [A]
+ // [1] [2] <3> [4] [5]
+ public void testLayout10KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(10, 5, XPOS_M0);
+ assertEquals("10 key fix 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("10 key fix 5 M0 rows", 2, params.mNumRows);
+ assertEquals("10 key fix 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("10 key fix 5 M0 right", 3, params.mRightKeys);
+ assertEquals("10 key fix 5 M0 [1]", -2, params.getColumnPos(0));
+ assertEquals("10 key fix 5 M0 [2]", -1, params.getColumnPos(1));
+ assertEquals("10 key fix 5 M0 <3>", 0, params.getColumnPos(2));
+ assertEquals("10 key fix 5 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("10 key fix 5 M0 [5]", 2, params.getColumnPos(4));
+ assertEquals("10 key fix 5 M0 [6]", -2, params.getColumnPos(5));
+ assertEquals("10 key fix 5 M0 [7]", -1, params.getColumnPos(6));
+ assertEquals("10 key fix 5 M0 [8]", 0, params.getColumnPos(7));
+ assertEquals("10 key fix 5 M0 [9]", 1, params.getColumnPos(8));
+ assertEquals("10 key fix 5 M0 [A]", 2, params.getColumnPos(9));
+ assertEquals("10 key fix 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("10 key fix 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |[6] [7] [8] [9] [A]
+ // |<1> [2] [3] [4] [5]
+ public void testLayout10KeyFix5L0() {
+ MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L0);
+ assertEquals("10 key fix 5 L0 columns", 5, params.mNumColumns);
+ assertEquals("10 key fix 5 L0 rows", 2, params.mNumRows);
+ assertEquals("10 key fix 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("10 key fix 5 L0 right", 5, params.mRightKeys);
+ assertEquals("10 key fix 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("10 key fix 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("10 key fix 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("10 key fix 5 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("10 key fix 5 L0 [5]", 4, params.getColumnPos(4));
+ assertEquals("10 key fix 5 L0 [6]", 0, params.getColumnPos(5));
+ assertEquals("10 key fix 5 L0 [7]", 1, params.getColumnPos(6));
+ assertEquals("10 key fix 5 L0 [8]", 2, params.getColumnPos(7));
+ assertEquals("10 key fix 5 L0 [9]", 3, params.getColumnPos(8));
+ assertEquals("10 key fix 5 L0 [A]", 4, params.getColumnPos(9));
+ assertEquals("10 key fix 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("10 key fix 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [7] [8] [9] [A]
+ // |___ <1> [2] [3] [4] [5]
+ public void testLayout10KeyFix5L1() {
+ MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L1);
+ assertEquals("10 key fix 5 L1 columns", 5, params.mNumColumns);
+ assertEquals("10 key fix 5 L1 rows", 2, params.mNumRows);
+ assertEquals("10 key fix 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("10 key fix 5 L1 right", 5, params.mRightKeys);
+ assertEquals("10 key fix 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("10 key fix 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("10 key fix 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("10 key fix 5 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("10 key fix 5 L1 [5]", 4, params.getColumnPos(4));
+ assertEquals("10 key fix 5 L1 [6]", 0, params.getColumnPos(5));
+ assertEquals("10 key fix 5 L1 [7]", 1, params.getColumnPos(6));
+ assertEquals("10 key fix 5 L1 [8]", 2, params.getColumnPos(7));
+ assertEquals("10 key fix 5 L1 [9]", 3, params.getColumnPos(8));
+ assertEquals("10 key fix 5 L1 [A]", 4, params.getColumnPos(9));
+ assertEquals("10 key fix 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("10 key fix 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [7] [8] [9] [A]
+ // |___ [1] <2> [3] [4] [5]
+ public void testLayout10KeyFix5L2() {
+ MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L2);
+ assertEquals("10 key fix 5 L2 columns", 5, params.mNumColumns);
+ assertEquals("10 key fix 5 L2 rows", 2, params.mNumRows);
+ assertEquals("10 key fix 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("10 key fix 5 L2 right", 4, params.mRightKeys);
+ assertEquals("10 key fix 5 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("10 key fix 5 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("10 key fix 5 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("10 key fix 5 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("10 key fix 5 L2 [5]", 3, params.getColumnPos(4));
+ assertEquals("10 key fix 5 L2 [6]", -1, params.getColumnPos(5));
+ assertEquals("10 key fix 5 L2 [7]", 0, params.getColumnPos(6));
+ assertEquals("10 key fix 5 L2 [8]", 1, params.getColumnPos(7));
+ assertEquals("10 key fix 5 L2 [9]", 2, params.getColumnPos(8));
+ assertEquals("10 key fix 5 L2 [A]", 3, params.getColumnPos(9));
+ assertEquals("10 key fix 5 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("10 key fix 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] [9] [A]|
+ // [1] [2] [3] [4] <5>|
+ public void testLayout10KeyFix5R0() {
+ MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R0);
+ assertEquals("10 key fix 5 R0 columns", 5, params.mNumColumns);
+ assertEquals("10 key fix 5 R0 rows", 2, params.mNumRows);
+ assertEquals("10 key fix 5 R0 left", 4, params.mLeftKeys);
+ assertEquals("10 key fix 5 R0 right", 1, params.mRightKeys);
+ assertEquals("10 key fix 5 R0 [1]", -4, params.getColumnPos(0));
+ assertEquals("10 key fix 5 R0 [2]", -3, params.getColumnPos(1));
+ assertEquals("10 key fix 5 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("10 key fix 5 R0 [4]", -1, params.getColumnPos(3));
+ assertEquals("10 key fix 5 R0 <5>", 0, params.getColumnPos(4));
+ assertEquals("10 key fix 5 R0 [6]", -4, params.getColumnPos(5));
+ assertEquals("10 key fix 5 R0 [7]", -3, params.getColumnPos(6));
+ assertEquals("10 key fix 5 R0 [8]", -2, params.getColumnPos(7));
+ assertEquals("10 key fix 5 R0 [9]", -1, params.getColumnPos(8));
+ assertEquals("10 key fix 5 R0 [A]", 0, params.getColumnPos(9));
+ assertEquals("10 key fix 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("10 key fix 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] [9] [A] ___|
+ // [1] [2] [3] [4] <5> ___|
+ public void testLayout10KeyFix5R1() {
+ MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R1);
+ assertEquals("10 key fix 5 R1 columns", 5, params.mNumColumns);
+ assertEquals("10 key fix 5 R1 rows", 2, params.mNumRows);
+ assertEquals("10 key fix 5 R1 left", 4, params.mLeftKeys);
+ assertEquals("10 key fix 5 R1 right", 1, params.mRightKeys);
+ assertEquals("10 key fix 5 R1 [1]", -4, params.getColumnPos(0));
+ assertEquals("10 key fix 5 R1 [2]", -3, params.getColumnPos(1));
+ assertEquals("10 key fix 5 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("10 key fix 5 R1 [4]", -1, params.getColumnPos(3));
+ assertEquals("10 key fix 5 R1 <5>", 0, params.getColumnPos(4));
+ assertEquals("10 key fix 5 R1 [6]", -4, params.getColumnPos(5));
+ assertEquals("10 key fix 5 R1 [7]", -3, params.getColumnPos(6));
+ assertEquals("10 key fix 5 R1 [8]", -2, params.getColumnPos(7));
+ assertEquals("10 key fix 5 R1 [9]", -1, params.getColumnPos(8));
+ assertEquals("10 key fix 5 R1 [A]", 0, params.getColumnPos(9));
+ assertEquals("10 key fix 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("10 key fix 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [7] [8] [9] [A] ___|
+ // [1] [2] [3] <4> [5] ___|
+ public void testLayout10KeyFix5R2() {
+ MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R2);
+ assertEquals("10 key fix 5 R2 columns", 5, params.mNumColumns);
+ assertEquals("10 key fix 5 R2 rows", 2, params.mNumRows);
+ assertEquals("10 key fix 5 R2 left", 3, params.mLeftKeys);
+ assertEquals("10 key fix 5 R2 right", 2, params.mRightKeys);
+ assertEquals("10 key fix 5 R2 [1]", -3, params.getColumnPos(0));
+ assertEquals("10 key fix 5 R2 [2]", -2, params.getColumnPos(1));
+ assertEquals("10 key fix 5 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("10 key fix 5 R2 <4>", 0, params.getColumnPos(3));
+ assertEquals("10 key fix 5 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("10 key fix 5 R2 [6]", -3, params.getColumnPos(5));
+ assertEquals("10 key fix 5 R2 [7]", -2, params.getColumnPos(6));
+ assertEquals("10 key fix 5 R2 [8]", -1, params.getColumnPos(7));
+ assertEquals("10 key fix 5 R2 [9]", 0, params.getColumnPos(8));
+ assertEquals("10 key fix 5 R2 [A]", 1, params.getColumnPos(9));
+ assertEquals("10 key fix 5 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("10 key fix 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [B]
+ // [6] [7] [8] [9] [A]
+ // [1] [2] <3> [4] [5]
+ public void testLayout11KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(11, 5, XPOS_M0);
+ assertEquals("11 key fix 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("11 key fix 5 M0 rows", 3, params.mNumRows);
+ assertEquals("11 key fix 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("11 key fix 5 M0 right", 3, params.mRightKeys);
+ assertEquals("11 key fix 5 M0 [1]", -2, params.getColumnPos(0));
+ assertEquals("11 key fix 5 M0 [2]", -1, params.getColumnPos(1));
+ assertEquals("11 key fix 5 M0 <3>", 0, params.getColumnPos(2));
+ assertEquals("11 key fix 5 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("11 key fix 5 M0 [5]", 2, params.getColumnPos(4));
+ assertEquals("11 key fix 5 M0 [6]", -2, params.getColumnPos(5));
+ assertEquals("11 key fix 5 M0 [7]", -1, params.getColumnPos(6));
+ assertEquals("11 key fix 5 M0 [8]", 0, params.getColumnPos(7));
+ assertEquals("11 key fix 5 M0 [9]", 1, params.getColumnPos(8));
+ assertEquals("11 key fix 5 M0 [A]", 2, params.getColumnPos(9));
+ assertEquals("11 key fix 5 M0 [B]", 0, params.getColumnPos(10));
+ assertEquals("11 key fix 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("11 key fix 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [B] [C]
+ // [6] [7] [8] [9] [A]
+ // [1] [2] <3> [4] [5]
+ public void testLayout12KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(12, 5, XPOS_M0);
+ assertEquals("12 key fix 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("12 key fix 5 M0 rows", 3, params.mNumRows);
+ assertEquals("12 key fix 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("12 key fix 5 M0 right", 3, params.mRightKeys);
+ assertEquals("12 key fix 5 M0 [1]", -2, params.getColumnPos(0));
+ assertEquals("12 key fix 5 M0 [2]", -1, params.getColumnPos(1));
+ assertEquals("12 key fix 5 M0 <3>", 0, params.getColumnPos(2));
+ assertEquals("12 key fix 5 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("12 key fix 5 M0 [5]", 2, params.getColumnPos(4));
+ assertEquals("12 key fix 5 M0 [6]", -2, params.getColumnPos(5));
+ assertEquals("12 key fix 5 M0 [7]", -1, params.getColumnPos(6));
+ assertEquals("12 key fix 5 M0 [8]", 0, params.getColumnPos(7));
+ assertEquals("12 key fix 5 M0 [9]", 1, params.getColumnPos(8));
+ assertEquals("12 key fix 5 M0 [A]", 2, params.getColumnPos(9));
+ assertEquals("12 key fix 5 M0 [B]", 0, params.getColumnPos(10));
+ assertEquals("12 key fix 5 M0 [C]", 1, params.getColumnPos(11));
+ assertEquals("12 key fix 5 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("12 key fix 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [B] [C] [D]
+ // [6] [7] [8] [9] [A]
+ // [1] [2] <3> [4] [5]
+ public void testLayout13KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(13, 5, XPOS_M0);
+ assertEquals("13 key fix 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("13 key fix 5 M0 rows", 3, params.mNumRows);
+ assertEquals("13 key fix 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("13 key fix 5 M0 right", 3, params.mRightKeys);
+ assertEquals("13 key fix 5 M0 [1]", -2, params.getColumnPos(0));
+ assertEquals("13 key fix 5 M0 [2]", -1, params.getColumnPos(1));
+ assertEquals("13 key fix 5 M0 <3>", 0, params.getColumnPos(2));
+ assertEquals("13 key fix 5 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("13 key fix 5 M0 [5]", 2, params.getColumnPos(4));
+ assertEquals("13 key fix 5 M0 [6]", -2, params.getColumnPos(5));
+ assertEquals("13 key fix 5 M0 [7]", -1, params.getColumnPos(6));
+ assertEquals("13 key fix 5 M0 [8]", 0, params.getColumnPos(7));
+ assertEquals("13 key fix 5 M0 [9]", 1, params.getColumnPos(8));
+ assertEquals("13 key fix 5 M0 [A]", 2, params.getColumnPos(9));
+ assertEquals("13 key fix 5 M0 [B]", -1, params.getColumnPos(10));
+ assertEquals("13 key fix 5 M0 [C]", 0, params.getColumnPos(11));
+ assertEquals("13 key fix 5 M0 [D]", 1, params.getColumnPos(12));
+ assertEquals("13 key fix 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("13 key fix 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [B] [C] [D] [E]
+ // [6] [7] [8] [9] [A]
+ // [1] [2] <3> [4] [5]
+ public void testLayout14KeyFix5M0() {
+ MoreKeysKeyboardParams params = createParams(14, 5, XPOS_M0);
+ assertEquals("14 key fix 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("14 key fix 5 M0 rows", 3, params.mNumRows);
+ assertEquals("14 key fix 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("14 key fix 5 M0 right", 3, params.mRightKeys);
+ assertEquals("14 key fix 5 M0 [1]", -2, params.getColumnPos(0));
+ assertEquals("14 key fix 5 M0 [2]", -1, params.getColumnPos(1));
+ assertEquals("14 key fix 5 M0 <3>", 0, params.getColumnPos(2));
+ assertEquals("14 key fix 5 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("14 key fix 5 M0 [5]", 2, params.getColumnPos(4));
+ assertEquals("14 key fix 5 M0 [6]", -2, params.getColumnPos(5));
+ assertEquals("14 key fix 5 M0 [7]", -1, params.getColumnPos(6));
+ assertEquals("14 key fix 5 M0 [8]", 0, params.getColumnPos(7));
+ assertEquals("14 key fix 5 M0 [9]", 1, params.getColumnPos(8));
+ assertEquals("14 key fix 5 M0 [A]", 2, params.getColumnPos(9));
+ assertEquals("14 key fix 5 M0 [B]", -1, params.getColumnPos(10));
+ assertEquals("14 key fix 5 M0 [C]", 0, params.getColumnPos(11));
+ assertEquals("14 key fix 5 M0 [D]", 1, params.getColumnPos(12));
+ assertEquals("14 key fix 5 M0 [E]", 2, params.getColumnPos(13));
+ assertEquals("14 key fix 5 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("14 key fix 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |<1> [2] [3] [4] [5] [6] [7]
+ public void testLayout7KeyFix7L0() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L0);
+ assertEquals("7 key fix 7 L0 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 L0 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 L0 left", 0, params.mLeftKeys);
+ assertEquals("7 key fix 7 L0 right", 7, params.mRightKeys);
+ assertEquals("7 key fix 7 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key fix 7 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key fix 7 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key fix 7 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("7 key fix 7 L0 [5]", 4, params.getColumnPos(4));
+ assertEquals("7 key fix 7 L0 [6]", 5, params.getColumnPos(5));
+ assertEquals("7 key fix 7 L0 [7]", 6, params.getColumnPos(6));
+ assertEquals("7 key fix 7 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ <1> [2] [3] [4] [5] [6] [7]
+ public void testLayout7KeyFix7L1() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L1);
+ assertEquals("7 key fix 7 L1 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 L1 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 L1 left", 0, params.mLeftKeys);
+ assertEquals("7 key fix 7 L1 right", 7, params.mRightKeys);
+ assertEquals("7 key fix 7 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key fix 7 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key fix 7 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key fix 7 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("7 key fix 7 L1 [5]", 4, params.getColumnPos(4));
+ assertEquals("7 key fix 7 L1 [6]", 5, params.getColumnPos(5));
+ assertEquals("7 key fix 7 L1 [7]", 6, params.getColumnPos(6));
+ assertEquals("7 key fix 7 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [1] <2> [3] [4] [5] [6] [7]
+ public void testLayout7KeyFix7L2() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L2);
+ assertEquals("7 key fix 7 L2 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 L2 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 L2 left", 1, params.mLeftKeys);
+ assertEquals("7 key fix 7 L2 right", 6, params.mRightKeys);
+ assertEquals("7 key fix 7 L2 [1]", -1, params.getColumnPos(0));
+ assertEquals("7 key fix 7 L2 <2>", 0, params.getColumnPos(1));
+ assertEquals("7 key fix 7 L2 [3]", 1, params.getColumnPos(2));
+ assertEquals("7 key fix 7 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("7 key fix 7 L2 [5]", 3, params.getColumnPos(4));
+ assertEquals("7 key fix 7 L2 [6]", 4, params.getColumnPos(5));
+ assertEquals("7 key fix 7 L2 [7]", 5, params.getColumnPos(6));
+ assertEquals("7 key fix 7 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [1] [2] <3> [4] [5] [6] [7]
+ public void testLayout7KeyFix7L3() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L3);
+ assertEquals("7 key fix 7 L3 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 L3 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 L3 left", 2, params.mLeftKeys);
+ assertEquals("7 key fix 7 L3 right", 5, params.mRightKeys);
+ assertEquals("7 key fix 7 L3 [1]", -2, params.getColumnPos(0));
+ assertEquals("7 key fix 7 L3 [2]", -1, params.getColumnPos(1));
+ assertEquals("7 key fix 7 L3 <3>", 0, params.getColumnPos(2));
+ assertEquals("7 key fix 7 L3 [4]", 1, params.getColumnPos(3));
+ assertEquals("7 key fix 7 L3 [5]", 2, params.getColumnPos(4));
+ assertEquals("7 key fix 7 L3 [6]", 3, params.getColumnPos(5));
+ assertEquals("7 key fix 7 L3 [7]", 4, params.getColumnPos(6));
+ assertEquals("7 key fix 7 L3 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 L3 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [1] [2] [3] <4> [5] [6] [7] ___ ___|
+ public void testLayout7KeyFix7M0() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M0);
+ assertEquals("7 key fix 7 M0 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 M0 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 M0 left", 3, params.mLeftKeys);
+ assertEquals("7 key fix 7 M0 right", 4, params.mRightKeys);
+ assertEquals("7 key fix 7 M0 [1]", -3, params.getColumnPos(0));
+ assertEquals("7 key fix 7 M0 [2]", -2, params.getColumnPos(1));
+ assertEquals("7 key fix 7 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key fix 7 M0 <4>", 0, params.getColumnPos(3));
+ assertEquals("7 key fix 7 M0 [5]", 1, params.getColumnPos(4));
+ assertEquals("7 key fix 7 M0 [6]", 2, params.getColumnPos(5));
+ assertEquals("7 key fix 7 M0 [7]", 3, params.getColumnPos(6));
+ assertEquals("7 key fix 7 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 M0 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // |___ ___ [1] [2] [3] <4> [5] [6] [7] ___|
+ public void testLayout7KeyFix7M1() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M1);
+ assertEquals("7 key fix 7 M1 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 M1 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 M1 left", 3, params.mLeftKeys);
+ assertEquals("7 key fix 7 M1 right", 4, params.mRightKeys);
+ assertEquals("7 key fix 7 M1 [1]", -3, params.getColumnPos(0));
+ assertEquals("7 key fix 7 M1 [2]", -2, params.getColumnPos(1));
+ assertEquals("7 key fix 7 M1 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key fix 7 M1 <4>", 0, params.getColumnPos(3));
+ assertEquals("7 key fix 7 M1 [5]", 1, params.getColumnPos(4));
+ assertEquals("7 key fix 7 M1 [6]", 2, params.getColumnPos(5));
+ assertEquals("7 key fix 7 M1 [7]", 3, params.getColumnPos(6));
+ assertEquals("7 key fix 7 M1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 M1 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] [4] <5> [6] [7] ___|
+ public void testLayout7KeyFix7R3() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R3);
+ assertEquals("7 key fix 7 R3 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 R3 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 R3 left", 4, params.mLeftKeys);
+ assertEquals("7 key fix 7 R3 right", 3, params.mRightKeys);
+ assertEquals("7 key fix 7 R3 [1]", -4, params.getColumnPos(0));
+ assertEquals("7 key fix 7 R3 [2]", -3, params.getColumnPos(1));
+ assertEquals("7 key fix 7 R3 [3]", -2, params.getColumnPos(2));
+ assertEquals("7 key fix 7 R3 [4]", -1, params.getColumnPos(3));
+ assertEquals("7 key fix 7 R3 <5>", 0, params.getColumnPos(4));
+ assertEquals("7 key fix 7 R3 [6]", 1, params.getColumnPos(5));
+ assertEquals("7 key fix 7 R3 [7]", 2, params.getColumnPos(6));
+ assertEquals("7 key fix 7 R3 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 R3 default", WIDTH * 4, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] [4] [5] <6> [7] ___|
+ public void testLayout7KeyFix7R2() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R2);
+ assertEquals("7 key fix 7 R2 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 R2 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 R2 left", 5, params.mLeftKeys);
+ assertEquals("7 key fix 7 R2 right", 2, params.mRightKeys);
+ assertEquals("7 key fix 7 R2 [1]", -5, params.getColumnPos(0));
+ assertEquals("7 key fix 7 R2 [2]", -4, params.getColumnPos(1));
+ assertEquals("7 key fix 7 R2 [3]", -3, params.getColumnPos(2));
+ assertEquals("7 key fix 7 R2 [4]", -2, params.getColumnPos(3));
+ assertEquals("7 key fix 7 R2 [5]", -1, params.getColumnPos(4));
+ assertEquals("7 key fix 7 R2 <6>", 0, params.getColumnPos(5));
+ assertEquals("7 key fix 7 R2 [7]", 1, params.getColumnPos(6));
+ assertEquals("7 key fix 7 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 R2 default", WIDTH * 5, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] [4] [5] [6] <7> ___|
+ public void testLayout7KeyFix7R1() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R1);
+ assertEquals("7 key fix 7 R1 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 R1 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 R1 left", 6, params.mLeftKeys);
+ assertEquals("7 key fix 7 R1 right", 1, params.mRightKeys);
+ assertEquals("7 key fix 7 R1 [1]", -6, params.getColumnPos(0));
+ assertEquals("7 key fix 7 R1 [2]", -5, params.getColumnPos(1));
+ assertEquals("7 key fix 7 R1 [3]", -4, params.getColumnPos(2));
+ assertEquals("7 key fix 7 R1 [4]", -3, params.getColumnPos(3));
+ assertEquals("7 key fix 7 R1 [5]", -2, params.getColumnPos(4));
+ assertEquals("7 key fix 7 R1 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key fix 7 R1 <7>", 0, params.getColumnPos(6));
+ assertEquals("7 key fix 7 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 R1 default", WIDTH * 6, params.getDefaultKeyCoordX());
+ }
+
+ // [1] [2] [3] [4] [5] [6] <7>|
+ public void testLayout7KeyFix7R0() {
+ MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R0);
+ assertEquals("7 key fix 7 R0 columns", 7, params.mNumColumns);
+ assertEquals("7 key fix 7 R0 rows", 1, params.mNumRows);
+ assertEquals("7 key fix 7 R0 left", 6, params.mLeftKeys);
+ assertEquals("7 key fix 7 R0 right", 1, params.mRightKeys);
+ assertEquals("7 key fix 7 R0 [1]", -6, params.getColumnPos(0));
+ assertEquals("7 key fix 7 R0 [2]", -5, params.getColumnPos(1));
+ assertEquals("7 key fix 7 R0 [3]", -4, params.getColumnPos(2));
+ assertEquals("7 key fix 7 R0 [4]", -3, params.getColumnPos(3));
+ assertEquals("7 key fix 7 R0 [5]", -2, params.getColumnPos(4));
+ assertEquals("7 key fix 7 R0 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key fix 7 R0 <7>", 0, params.getColumnPos(6));
+ assertEquals("7 key fix 7 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key fix 7 R0 default", WIDTH * 6, params.getDefaultKeyCoordX());
+ }
+}
diff --git a/tests/src/com/android/inputmethod/keyboard/MoreKeysKeyboardBuilderTests.java b/tests/src/com/android/inputmethod/keyboard/MoreKeysKeyboardBuilderTests.java
index 1a1d643fd..90bbf7eff 100644
--- a/tests/src/com/android/inputmethod/keyboard/MoreKeysKeyboardBuilderTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/MoreKeysKeyboardBuilderTests.java
@@ -61,409 +61,626 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
// More keys keyboard layout test.
// "[n]" represents n-th key position in more keys keyboard.
- // "[1]" is the default key.
+ // "<1>" is the default key.
- // [1]
+ // <1>
public void testLayout1KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(1, 5, XPOS_M0);
assertEquals("1 key max 5 M0 columns", 1, params.mNumColumns);
assertEquals("1 key max 5 M0 rows", 1, params.mNumRows);
assertEquals("1 key max 5 M0 left", 0, params.mLeftKeys);
assertEquals("1 key max 5 M0 right", 1, params.mRightKeys);
- assertEquals("1 key max 5 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("1 key max 5 M0 <1>", 0, params.getColumnPos(0));
assertEquals("1 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
assertEquals("1 key max 5 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |[1]
+ // |<1>
public void testLayout1KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L0);
assertEquals("1 key max 5 L0 columns", 1, params.mNumColumns);
assertEquals("1 key max 5 L0 rows", 1, params.mNumRows);
assertEquals("1 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("1 key max 5 L0 right", 1, params.mRightKeys);
- assertEquals("1 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("1 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("1 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
assertEquals("1 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [1]
+ // |___ <1>
public void testLayout1KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L1);
assertEquals("1 key max 5 L1 columns", 1, params.mNumColumns);
assertEquals("1 key max 5 L1 rows", 1, params.mNumRows);
assertEquals("1 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("1 key max 5 L1 right", 1, params.mRightKeys);
- assertEquals("1 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("1 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("1 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
assertEquals("1 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ ___ [1]
+ // |___ ___ <1>
public void testLayout1KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(1, 5, XPOS_L2);
assertEquals("1 key max 5 L2 columns", 1, params.mNumColumns);
assertEquals("1 key max 5 L2 rows", 1, params.mNumRows);
assertEquals("1 key max 5 L2 left", 0, params.mLeftKeys);
assertEquals("1 key max 5 L2 right", 1, params.mRightKeys);
- assertEquals("1 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("1 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("1 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
assertEquals("1 key max 5 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // [1]|
+ // <1>|
public void testLayout1KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R0);
assertEquals("1 key max 5 R0 columns", 1, params.mNumColumns);
assertEquals("1 key max 5 R0 rows", 1, params.mNumRows);
assertEquals("1 key max 5 R0 left", 0, params.mLeftKeys);
assertEquals("1 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("1 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("1 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("1 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
assertEquals("1 key max 5 R0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // [1] ___|
+ // <1> ___|
public void testLayout1KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R1);
assertEquals("1 key max 5 R1 columns", 1, params.mNumColumns);
assertEquals("1 key max 5 R1 rows", 1, params.mNumRows);
assertEquals("1 key max 5 R1 left", 0, params.mLeftKeys);
assertEquals("1 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("1 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("1 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("1 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
assertEquals("1 key max 5 R1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // [1] ___ ___|
+ // <1> ___ ___|
public void testLayout1KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(1, 5, XPOS_R2);
assertEquals("1 key max 5 R2 columns", 1, params.mNumColumns);
assertEquals("1 key max 5 R2 rows", 1, params.mNumRows);
assertEquals("1 key max 5 R2 left", 0, params.mLeftKeys);
assertEquals("1 key max 5 R2 right", 1, params.mRightKeys);
- assertEquals("1 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("1 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("1 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
assertEquals("1 key max 5 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // [1] [2]
+ // <1> [2]
public void testLayout2KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(2, 5, XPOS_M0);
assertEquals("2 key max 5 M0 columns", 2, params.mNumColumns);
assertEquals("2 key max 5 M0 rows", 1, params.mNumRows);
assertEquals("2 key max 5 M0 left", 0, params.mLeftKeys);
assertEquals("2 key max 5 M0 right", 2, params.mRightKeys);
- assertEquals("2 key max 5 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("2 key max 5 M0 <1>", 0, params.getColumnPos(0));
assertEquals("2 key max 5 M0 [2]", 1, params.getColumnPos(1));
assertEquals("2 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
assertEquals("2 key max 5 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |[1] [2]
+ // |<1> [2]
public void testLayout2KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L0);
assertEquals("2 key max 5 L0 columns", 2, params.mNumColumns);
assertEquals("2 key max 5 L0 rows", 1, params.mNumRows);
assertEquals("2 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("2 key max 5 L0 right", 2, params.mRightKeys);
- assertEquals("2 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("2 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("2 key max 5 L0 [2]", 1, params.getColumnPos(1));
assertEquals("2 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
assertEquals("2 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [1] [2]
+ // |___ <1> [2]
public void testLayout2KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L1);
assertEquals("2 key max 5 L1 columns", 2, params.mNumColumns);
assertEquals("2 key max 5 L1 rows", 1, params.mNumRows);
assertEquals("2 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("2 key max 5 L1 right", 2, params.mRightKeys);
- assertEquals("2 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("2 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("2 key max 5 L1 [2]", 1, params.getColumnPos(1));
assertEquals("2 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
assertEquals("2 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ ___ [1] [2]
+ // |___ ___ <1> [2]
public void testLayout2KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(2, 5, XPOS_L2);
assertEquals("2 key max 5 L2 columns", 2, params.mNumColumns);
assertEquals("2 key max 5 L2 rows", 1, params.mNumRows);
assertEquals("2 key max 5 L2 left", 0, params.mLeftKeys);
assertEquals("2 key max 5 L2 right", 2, params.mRightKeys);
- assertEquals("2 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("2 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("2 key max 5 L2 [2]", 1, params.getColumnPos(1));
assertEquals("2 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
assertEquals("2 key max 5 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // [2] [1]|
+ // [2] <1>|
public void testLayout2KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R0);
assertEquals("2 key max 5 R0 columns", 2, params.mNumColumns);
assertEquals("2 key max 5 R0 rows", 1, params.mNumRows);
assertEquals("2 key max 5 R0 left", 1, params.mLeftKeys);
assertEquals("2 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("2 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("2 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("2 key max 5 R0 [2]", -1, params.getColumnPos(1));
assertEquals("2 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
assertEquals("2 key max 5 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [2] [1] ___|
+ // [2] <1> ___|
public void testLayout2KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R1);
assertEquals("2 key max 5 R1 columns", 2, params.mNumColumns);
assertEquals("2 key max 5 R1 rows", 1, params.mNumRows);
assertEquals("2 key max 5 R1 left", 1, params.mLeftKeys);
assertEquals("2 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("2 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("2 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("2 key max 5 R1 [2]", -1, params.getColumnPos(1));
assertEquals("2 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
assertEquals("2 key max 5 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [1] [2] ___|
+ // <1> [2] ___|
public void testLayout2KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(2, 5, XPOS_R2);
assertEquals("2 key max 5 R2 columns", 2, params.mNumColumns);
assertEquals("2 key max 5 R2 rows", 1, params.mNumRows);
assertEquals("2 key max 5 R2 left", 0, params.mLeftKeys);
assertEquals("2 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("2 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("2 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("2 key max 5 R2 [2]", 1, params.getColumnPos(1));
assertEquals("2 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
assertEquals("2 key max 5 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // [3] [1] [2]
+ // [3] <1> [2]
public void testLayout3KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(3, 5, XPOS_M0);
- assertEquals("3 key columns", 3, params.mNumColumns);
- assertEquals("3 key rows", 1, params.mNumRows);
- assertEquals("3 key left", 1, params.mLeftKeys);
- assertEquals("3 key right", 2, params.mRightKeys);
- assertEquals("3 key [1]", 0, params.getColumnPos(0));
- assertEquals("3 key [2]", 1, params.getColumnPos(1));
- assertEquals("3 key [3]", -1, params.getColumnPos(2));
- assertEquals("3 key adjust", 0, params.mTopRowAdjustment);
- assertEquals("3 key default", WIDTH * 1, params.getDefaultKeyCoordX());
+ assertEquals("3 key max 5 M0 columns", 3, params.mNumColumns);
+ assertEquals("3 key max 5 M0 rows", 1, params.mNumRows);
+ assertEquals("3 key max 5 M0 left", 1, params.mLeftKeys);
+ assertEquals("3 key max 5 M0 right", 2, params.mRightKeys);
+ assertEquals("3 key max 5 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key max 5 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key max 5 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("3 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // |[1] [2] [3]
+ // |<1> [2] [3]
public void testLayout3KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L0);
assertEquals("3 key max 5 L0 columns", 3, params.mNumColumns);
assertEquals("3 key max 5 L0 rows", 1, params.mNumRows);
assertEquals("3 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("3 key max 5 L0 right", 3, params.mRightKeys);
- assertEquals("3 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 5 L0 [2]", 1, params.getColumnPos(1));
assertEquals("3 key max 5 L0 [3]", 2, params.getColumnPos(2));
assertEquals("3 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [1] [2] [3]
+ // |___ <1> [2] [3]
public void testLayout3KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L1);
assertEquals("3 key max 5 L1 columns", 3, params.mNumColumns);
assertEquals("3 key max 5 L1 rows", 1, params.mNumRows);
assertEquals("3 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("3 key max 5 L1 right", 3, params.mRightKeys);
- assertEquals("3 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 5 L1 [2]", 1, params.getColumnPos(1));
assertEquals("3 key max 5 L1 [3]", 2, params.getColumnPos(2));
assertEquals("3 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [3] [1] [2]
+ // |___ [3] <1> [2]
public void testLayout3KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(3, 5, XPOS_L2);
assertEquals("3 key max 5 L2 columns", 3, params.mNumColumns);
assertEquals("3 key max 5 L2 rows", 1, params.mNumRows);
assertEquals("3 key max 5 L2 left", 1, params.mLeftKeys);
assertEquals("3 key max 5 L2 right", 2, params.mRightKeys);
- assertEquals("3 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 5 L2 [2]", 1, params.getColumnPos(1));
assertEquals("3 key max 5 L2 [3]", -1, params.getColumnPos(2));
assertEquals("3 key max 5 L2 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [3] [2] [1]|
+ // [3] [2] <1>|
public void testLayout3KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R0);
assertEquals("3 key max 5 R0 columns", 3, params.mNumColumns);
assertEquals("3 key max 5 R0 rows", 1, params.mNumRows);
assertEquals("3 key max 5 R0 left", 2, params.mLeftKeys);
assertEquals("3 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("3 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 5 R0 [2]", -1, params.getColumnPos(1));
assertEquals("3 key max 5 R0 [3]", -2, params.getColumnPos(2));
assertEquals("3 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 5 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
}
- // [3] [2] [1] ___|
+ // [3] [2] <1> ___|
public void testLayout3KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R1);
assertEquals("3 key max 5 R1 columns", 3, params.mNumColumns);
assertEquals("3 key max 5 R1 rows", 1, params.mNumRows);
assertEquals("3 key max 5 R1 left", 2, params.mLeftKeys);
assertEquals("3 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("3 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 5 R1 [2]", -1, params.getColumnPos(1));
assertEquals("3 key max 5 R1 [3]", -2, params.getColumnPos(2));
assertEquals("3 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 5 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
}
- // [3] [1] [2] ___|
+ // [3] <1> [2] ___|
public void testLayout3KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(3, 5, XPOS_R2);
assertEquals("3 key max 5 R2 columns", 3, params.mNumColumns);
assertEquals("3 key max 5 R2 rows", 1, params.mNumRows);
assertEquals("3 key max 5 R2 left", 1, params.mLeftKeys);
assertEquals("3 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("3 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 5 R2 [2]", 1, params.getColumnPos(1));
assertEquals("3 key max 5 R2 [3]", -1, params.getColumnPos(2));
assertEquals("3 key max 5 R2 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 5 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [3]
- // [1] [2]
+ // [3]
+ // <1> [2]
public void testLayout3KeyMax2M0() {
MoreKeysKeyboardParams params = createParams(3, 2, XPOS_M0);
- assertEquals("3 key max 2 columns", 2, params.mNumColumns);
- assertEquals("3 key max 2 rows", 2, params.mNumRows);
- assertEquals("3 key max 2 left", 0, params.mLeftKeys);
- assertEquals("3 key max 2 right", 2, params.mRightKeys);
- assertEquals("3 key max 2 [1]", 0, params.getColumnPos(0));
- assertEquals("3 key max 2 [2]", 1, params.getColumnPos(1));
- assertEquals("3 key max 2 [3]", 0, params.getColumnPos(2));
- assertEquals("3 key max 2 adjust", 1, params.mTopRowAdjustment);
- assertEquals("3 key max 2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ assertEquals("3 key max 2 M0 columns", 2, params.mNumColumns);
+ assertEquals("3 key max 2 M0 rows", 2, params.mNumRows);
+ assertEquals("3 key max 2 M0 left", 0, params.mLeftKeys);
+ assertEquals("3 key max 2 M0 right", 2, params.mRightKeys);
+ assertEquals("3 key max 2 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("3 key max 2 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("3 key max 2 M0 [3]", 0, params.getColumnPos(2));
+ assertEquals("3 key max 2 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("3 key max 2 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // | [3]
- // |[1] [2]
+ // |[3]
+ // |<1> [2]
public void testLayout3KeyMax2L0() {
MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L0);
assertEquals("3 key max 2 L0 columns", 2, params.mNumColumns);
assertEquals("3 key max 2 L0 rows", 2, params.mNumRows);
assertEquals("3 key max 2 L0 left", 0, params.mLeftKeys);
assertEquals("3 key max 2 L0 right", 2, params.mRightKeys);
- assertEquals("3 key max 2 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 2 L0 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 2 L0 [2]", 1, params.getColumnPos(1));
assertEquals("3 key max 2 L0 [3]", 0, params.getColumnPos(2));
- assertEquals("3 key max 2 L0 adjust", 1, params.mTopRowAdjustment);
+ assertEquals("3 key max 2 L0 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 2 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [3]
- // |___ [1] [2]
+ // |___ [3]
+ // |___ <1> [2]
public void testLayout3KeyMax2L1() {
MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L1);
assertEquals("3 key max 2 L1 columns", 2, params.mNumColumns);
assertEquals("3 key max 2 L1 rows", 2, params.mNumRows);
assertEquals("3 key max 2 L1 left", 0, params.mLeftKeys);
assertEquals("3 key max 2 L1 right", 2, params.mRightKeys);
- assertEquals("3 key max 2 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 2 L1 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 2 L1 [2]", 1, params.getColumnPos(1));
assertEquals("3 key max 2 L1 [3]", 0, params.getColumnPos(2));
- assertEquals("3 key max 2 L1 adjust", 1, params.mTopRowAdjustment);
+ assertEquals("3 key max 2 L1 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 2 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // | [3]
- // |___ ___ [1] [2]
+ // | [3]
+ // |___ ___ <1> [2]
public void testLayout3KeyMax2L2() {
MoreKeysKeyboardParams params = createParams(3, 2, XPOS_L2);
assertEquals("3 key max 2 L2 columns", 2, params.mNumColumns);
assertEquals("3 key max 2 L2 rows", 2, params.mNumRows);
assertEquals("3 key max 2 L2 left", 0, params.mLeftKeys);
assertEquals("3 key max 2 L2 right", 2, params.mRightKeys);
- assertEquals("3 key max 2 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 2 L2 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 2 L2 [2]", 1, params.getColumnPos(1));
assertEquals("3 key max 2 L2 [3]", 0, params.getColumnPos(2));
- assertEquals("3 key max 2 L2 adjust", 1, params.mTopRowAdjustment);
+ assertEquals("3 key max 2 L2 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 2 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // [3] |
- // [2] [1]|
+ // [3]|
+ // [2] <1>|
public void testLayout3KeyMax2R0() {
MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R0);
assertEquals("3 key max 2 R0 columns", 2, params.mNumColumns);
assertEquals("3 key max 2 R0 rows", 2, params.mNumRows);
assertEquals("3 key max 2 R0 left", 1, params.mLeftKeys);
assertEquals("3 key max 2 R0 right", 1, params.mRightKeys);
- assertEquals("3 key max 2 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 2 R0 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 2 R0 [2]", -1, params.getColumnPos(1));
assertEquals("3 key max 2 R0 [3]", 0, params.getColumnPos(2));
- assertEquals("3 key max 2 R0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("3 key max 2 R0 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 2 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [3] |
- // [2] [1] ___|
+ // [3] |
+ // [2] <1> ___|
public void testLayout3KeyMax2R1() {
MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R1);
assertEquals("3 key max 2 R1 columns", 2, params.mNumColumns);
assertEquals("3 key max 2 R1 rows", 2, params.mNumRows);
assertEquals("3 key max 2 R1 left", 1, params.mLeftKeys);
assertEquals("3 key max 2 R1 right", 1, params.mRightKeys);
- assertEquals("3 key max 2 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 2 R1 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 2 R1 [2]", -1, params.getColumnPos(1));
assertEquals("3 key max 2 R1 [3]", 0, params.getColumnPos(2));
- assertEquals("3 key max 2 R1 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("3 key max 2 R1 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 2 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [3] |
- // [1] [2] ___|
+ // [3] |
+ // <1> [2] ___|
public void testLayout3KeyMax2R2() {
MoreKeysKeyboardParams params = createParams(3, 2, XPOS_R2);
assertEquals("3 key max 2 R2 columns", 2, params.mNumColumns);
assertEquals("3 key max 2 R2 rows", 2, params.mNumRows);
assertEquals("3 key max 2 R2 left", 0, params.mLeftKeys);
assertEquals("3 key max 2 R2 right", 2, params.mRightKeys);
- assertEquals("3 key max 2 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("3 key max 2 R2 <1>", 0, params.getColumnPos(0));
assertEquals("3 key max 2 R2 [2]", 1, params.getColumnPos(1));
assertEquals("3 key max 2 R2 [3]", 0, params.getColumnPos(2));
- assertEquals("3 key max 2 R2 adjust", 1, params.mTopRowAdjustment);
+ assertEquals("3 key max 2 R2 adjust", 0, params.mTopRowAdjustment);
assertEquals("3 key max 2 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // [3] [1] [2] [4]
- public void testLayout4KeyMax5M0() {
- MoreKeysKeyboardParams params = createParams(4, 5, XPOS_M0);
- assertEquals("4 key columns", 4, params.mNumColumns);
- assertEquals("4 key rows", 1, params.mNumRows);
- assertEquals("4 key left", 1, params.mLeftKeys);
- assertEquals("4 key right", 3, params.mRightKeys);
- assertEquals("4 key [1]", 0, params.getColumnPos(0));
- assertEquals("4 key [2]", 1, params.getColumnPos(1));
- assertEquals("4 key [3]", -1, params.getColumnPos(2));
- assertEquals("4 key [4]", 2, params.getColumnPos(3));
- assertEquals("4 key adjust", 0, params.mTopRowAdjustment);
- assertEquals("4 key default", WIDTH * 1, params.getDefaultKeyCoordX());
+ // [3] [4]
+ // <1> [2]
+ public void testLayout4KeyMax3M0() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_M0);
+ assertEquals("4 key max 3 M0 columns", 2, params.mNumColumns);
+ assertEquals("4 key max 3 M0 rows", 2, params.mNumRows);
+ assertEquals("4 key max 3 M0 left", 0, params.mLeftKeys);
+ assertEquals("4 key max 3 M0 right", 2, params.mRightKeys);
+ assertEquals("4 key max 3 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 3 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 3 M0 [3]", 0, params.getColumnPos(2));
+ assertEquals("4 key max 3 M0 [4]", 1, params.getColumnPos(3));
+ assertEquals("4 key max 3 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 3 M0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |[1] [2] [3] [4]
+ // |[3] [4]
+ // |<1> [2]
+ public void testLayout4KeyMax3L0() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L0);
+ assertEquals("4 key max 3 L0 columns", 2, params.mNumColumns);
+ assertEquals("4 key max 3 L0 rows", 2, params.mNumRows);
+ assertEquals("4 key max 3 L0 left", 0, params.mLeftKeys);
+ assertEquals("4 key max 3 L0 right", 2, params.mRightKeys);
+ assertEquals("4 key max 3 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 3 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 3 L0 [3]", 0, params.getColumnPos(2));
+ assertEquals("4 key max 3 L0 [4]", 1, params.getColumnPos(3));
+ assertEquals("4 key max 3 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [3] [4]
+ // |___ <1> [2]
+ public void testLayout4KeyMax3L1() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L1);
+ assertEquals("4 key max 3 L1 columns", 2, params.mNumColumns);
+ assertEquals("4 key max 3 L1 rows", 2, params.mNumRows);
+ assertEquals("4 key max 3 L1 left", 0, params.mLeftKeys);
+ assertEquals("4 key max 3 L1 right", 2, params.mRightKeys);
+ assertEquals("4 key max 3 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 3 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 3 L1 [3]", 0, params.getColumnPos(2));
+ assertEquals("4 key max 3 L1 [4]", 1, params.getColumnPos(3));
+ assertEquals("4 key max 3 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ ___ [3] [4]
+ // |___ ___ <1> [2]
+ public void testLayout4KeyMax3L2() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_L2);
+ assertEquals("4 key max 3 L2 columns", 2, params.mNumColumns);
+ assertEquals("4 key max 3 L2 rows", 2, params.mNumRows);
+ assertEquals("4 key max 3 L2 left", 0, params.mLeftKeys);
+ assertEquals("4 key max 3 L2 right", 2, params.mRightKeys);
+ assertEquals("4 key max 3 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 3 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 3 L2 [3]", 0, params.getColumnPos(2));
+ assertEquals("4 key max 3 L2 [4]", 1, params.getColumnPos(3));
+ assertEquals("4 key max 3 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 3 L2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [3]|
+ // [2] <1>|
+ public void testLayout4KeyMax3R0() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R0);
+ assertEquals("4 key max 3 R0 columns", 2, params.mNumColumns);
+ assertEquals("4 key max 3 R0 rows", 2, params.mNumRows);
+ assertEquals("4 key max 3 R0 left", 1, params.mLeftKeys);
+ assertEquals("4 key max 3 R0 right", 1, params.mRightKeys);
+ assertEquals("4 key max 3 R0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 3 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("4 key max 3 R0 [3]", 0, params.getColumnPos(2));
+ assertEquals("4 key max 3 R0 [4]", -1, params.getColumnPos(3));
+ assertEquals("4 key max 3 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 3 R0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [3] ___|
+ // [2] <1> ___|
+ public void testLayout4KeyMax3R1() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R1);
+ assertEquals("4 key max 3 R1 columns", 2, params.mNumColumns);
+ assertEquals("4 key max 3 R1 rows", 2, params.mNumRows);
+ assertEquals("4 key max 3 R1 left", 1, params.mLeftKeys);
+ assertEquals("4 key max 3 R1 right", 1, params.mRightKeys);
+ assertEquals("4 key max 3 R1 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 3 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("4 key max 3 R1 [3]", 0, params.getColumnPos(2));
+ assertEquals("4 key max 3 R1 [4]", -1, params.getColumnPos(3));
+ assertEquals("4 key max 3 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 3 R1 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [3] [4] ___|
+ // <1> [2] ___|
+ public void testLayout4KeyMax3R2() {
+ MoreKeysKeyboardParams params = createParams(4, 3, XPOS_R2);
+ assertEquals("4 key max 3 R2 columns", 2, params.mNumColumns);
+ assertEquals("4 key max 3 R2 rows", 2, params.mNumRows);
+ assertEquals("4 key max 3 R2 left", 0, params.mLeftKeys);
+ assertEquals("4 key max 3 R2 right", 2, params.mRightKeys);
+ assertEquals("4 key max 3 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 3 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 3 R2 [3]", 0, params.getColumnPos(2));
+ assertEquals("4 key max 3 R2 [4]", 1, params.getColumnPos(3));
+ assertEquals("4 key max 3 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 3 R2 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // [3] <1> [2] [4]
+ public void testLayout4KeyMax4M0() {
+ MoreKeysKeyboardParams params = createParams(4, 4, XPOS_M0);
+ assertEquals("4 key max 4 M0 columns", 4, params.mNumColumns);
+ assertEquals("4 key max 4 M0 rows", 1, params.mNumRows);
+ assertEquals("4 key max 4 M0 left", 1, params.mLeftKeys);
+ assertEquals("4 key max 4 M0 right", 3, params.mRightKeys);
+ assertEquals("4 key max 4 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 4 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 4 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("4 key max 4 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("4 key max 4 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |<1> [2] [3] [4]
+ public void testLayout4KeyMax4L0() {
+ MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L0);
+ assertEquals("4 key max 4 L0 columns", 4, params.mNumColumns);
+ assertEquals("4 key max 4 L0 rows", 1, params.mNumRows);
+ assertEquals("4 key max 4 L0 left", 0, params.mLeftKeys);
+ assertEquals("4 key max 4 L0 right", 4, params.mRightKeys);
+ assertEquals("4 key max 4 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 4 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 4 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("4 key max 4 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("4 key max 4 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ <1> [2] [3] [4]
+ public void testLayout4KeyMax4L1() {
+ MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L1);
+ assertEquals("4 key max 4 L1 columns", 4, params.mNumColumns);
+ assertEquals("4 key max 4 L1 rows", 1, params.mNumRows);
+ assertEquals("4 key max 4 L1 left", 0, params.mLeftKeys);
+ assertEquals("4 key max 4 L1 right", 4, params.mRightKeys);
+ assertEquals("4 key max 4 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 4 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 4 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("4 key max 4 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("4 key max 4 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [3] <1> [2] [4]
+ public void testLayout4KeyMax4L2() {
+ MoreKeysKeyboardParams params = createParams(4, 4, XPOS_L2);
+ assertEquals("4 key max 4 L2 columns", 4, params.mNumColumns);
+ assertEquals("4 key max 4 L2 rows", 1, params.mNumRows);
+ assertEquals("4 key max 4 L2 left", 1, params.mLeftKeys);
+ assertEquals("4 key max 4 L2 right", 3, params.mRightKeys);
+ assertEquals("4 key max 4 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 4 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 4 L2 [3]", -1, params.getColumnPos(2));
+ assertEquals("4 key max 4 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("4 key max 4 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [3] [2] <1>|
+ public void testLayout4KeyMax4R0() {
+ MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R0);
+ assertEquals("4 key max 4 R0 columns", 4, params.mNumColumns);
+ assertEquals("4 key max 4 R0 rows", 1, params.mNumRows);
+ assertEquals("4 key max 4 R0 left", 3, params.mLeftKeys);
+ assertEquals("4 key max 4 R0 right", 1, params.mRightKeys);
+ assertEquals("4 key max 4 R0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 4 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("4 key max 4 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("4 key max 4 R0 [4]", -3, params.getColumnPos(3));
+ assertEquals("4 key max 4 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 4 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [3] [2] <1> ___|
+ public void testLayout4KeyMax4R1() {
+ MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R1);
+ assertEquals("4 key max 4 R1 columns", 4, params.mNumColumns);
+ assertEquals("4 key max 4 R1 rows", 1, params.mNumRows);
+ assertEquals("4 key max 4 R1 left", 3, params.mLeftKeys);
+ assertEquals("4 key max 4 R1 right", 1, params.mRightKeys);
+ assertEquals("4 key max 4 R1 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 4 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("4 key max 4 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("4 key max 4 R1 [4]", -3, params.getColumnPos(3));
+ assertEquals("4 key max 4 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 4 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [3] <1> [2] ___|
+ public void testLayout4KeyMax4R2() {
+ MoreKeysKeyboardParams params = createParams(4, 4, XPOS_R2);
+ assertEquals("4 key max 4 R2 columns", 4, params.mNumColumns);
+ assertEquals("4 key max 4 R2 rows", 1, params.mNumRows);
+ assertEquals("4 key max 4 R2 left", 2, params.mLeftKeys);
+ assertEquals("4 key max 4 R2 right", 2, params.mRightKeys);
+ assertEquals("4 key max 4 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 4 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 4 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("4 key max 4 R2 [4]", -2, params.getColumnPos(3));
+ assertEquals("4 key max 4 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 4 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [3] <1> [2] [4]
+ public void testLayout4KeyMax5M0() {
+ MoreKeysKeyboardParams params = createParams(4, 5, XPOS_M0);
+ assertEquals("4 key max 5 M0 columns", 4, params.mNumColumns);
+ assertEquals("4 key max 5 M0 rows", 1, params.mNumRows);
+ assertEquals("4 key max 5 M0 left", 1, params.mLeftKeys);
+ assertEquals("4 key max 5 M0 right", 3, params.mRightKeys);
+ assertEquals("4 key max 5 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("4 key max 5 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("4 key max 5 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("4 key max 5 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("4 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("4 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |<1> [2] [3] [4]
public void testLayout4KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L0);
assertEquals("4 key max 5 L0 columns", 4, params.mNumColumns);
assertEquals("4 key max 5 L0 rows", 1, params.mNumRows);
assertEquals("4 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("4 key max 5 L0 right", 4, params.mRightKeys);
- assertEquals("4 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("4 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("4 key max 5 L0 [2]", 1, params.getColumnPos(1));
assertEquals("4 key max 5 L0 [3]", 2, params.getColumnPos(2));
assertEquals("4 key max 5 L0 [4]", 3, params.getColumnPos(3));
@@ -471,14 +688,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("4 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [1] [2] [3] [4]
+ // |___ <1> [2] [3] [4]
public void testLayout4KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L1);
assertEquals("4 key max 5 L1 columns", 4, params.mNumColumns);
assertEquals("4 key max 5 L1 rows", 1, params.mNumRows);
assertEquals("4 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("4 key max 5 L1 right", 4, params.mRightKeys);
- assertEquals("4 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("4 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("4 key max 5 L1 [2]", 1, params.getColumnPos(1));
assertEquals("4 key max 5 L1 [3]", 2, params.getColumnPos(2));
assertEquals("4 key max 5 L1 [4]", 3, params.getColumnPos(3));
@@ -486,14 +703,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("4 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [3] [1] [2] [4]
+ // |___ [3] <1> [2] [4]
public void testLayout4KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(4, 5, XPOS_L2);
assertEquals("4 key max 5 L2 columns", 4, params.mNumColumns);
assertEquals("4 key max 5 L2 rows", 1, params.mNumRows);
assertEquals("4 key max 5 L2 left", 1, params.mLeftKeys);
assertEquals("4 key max 5 L2 right", 3, params.mRightKeys);
- assertEquals("4 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("4 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("4 key max 5 L2 [2]", 1, params.getColumnPos(1));
assertEquals("4 key max 5 L2 [3]", -1, params.getColumnPos(2));
assertEquals("4 key max 5 L2 [4]", 2, params.getColumnPos(3));
@@ -501,14 +718,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("4 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [4] [3] [2] [1]|
+ // [4] [3] [2] <1>|
public void testLayout4KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R0);
assertEquals("4 key max 5 R0 columns", 4, params.mNumColumns);
assertEquals("4 key max 5 R0 rows", 1, params.mNumRows);
assertEquals("4 key max 5 R0 left", 3, params.mLeftKeys);
assertEquals("4 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("4 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("4 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("4 key max 5 R0 [2]", -1, params.getColumnPos(1));
assertEquals("4 key max 5 R0 [3]", -2, params.getColumnPos(2));
assertEquals("4 key max 5 R0 [4]", -3, params.getColumnPos(3));
@@ -516,14 +733,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("4 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
}
- // [4] [3] [2] [1] ___|
+ // [4] [3] [2] <1> ___|
public void testLayout4KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R1);
assertEquals("4 key max 5 R1 columns", 4, params.mNumColumns);
assertEquals("4 key max 5 R1 rows", 1, params.mNumRows);
assertEquals("4 key max 5 R1 left", 3, params.mLeftKeys);
assertEquals("4 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("4 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("4 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("4 key max 5 R1 [2]", -1, params.getColumnPos(1));
assertEquals("4 key max 5 R1 [3]", -2, params.getColumnPos(2));
assertEquals("4 key max 5 R1 [4]", -3, params.getColumnPos(3));
@@ -531,14 +748,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("4 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
}
- // [4] [3] [1] [2] ___|
+ // [4] [3] <1> [2] ___|
public void testLayout4KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(4, 5, XPOS_R2);
assertEquals("4 key max 5 R2 columns", 4, params.mNumColumns);
assertEquals("4 key max 5 R2 rows", 1, params.mNumRows);
assertEquals("4 key max 5 R2 left", 2, params.mLeftKeys);
assertEquals("4 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("4 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("4 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("4 key max 5 R2 [2]", 1, params.getColumnPos(1));
assertEquals("4 key max 5 R2 [3]", -1, params.getColumnPos(2));
assertEquals("4 key max 5 R2 [4]", -2, params.getColumnPos(3));
@@ -546,30 +763,268 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("4 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
}
- // [5] [3] [1] [2] [4]
- public void testLayout5KeyMax5M0() {
- MoreKeysKeyboardParams params = createParams(5, 5, XPOS_M0);
- assertEquals("5 key columns", 5, params.mNumColumns);
- assertEquals("5 key rows", 1, params.mNumRows);
- assertEquals("5 key left", 2, params.mLeftKeys);
- assertEquals("5 key right", 3, params.mRightKeys);
- assertEquals("5 key [1]", 0, params.getColumnPos(0));
- assertEquals("5 key [2]", 1, params.getColumnPos(1));
- assertEquals("5 key [3]", -1, params.getColumnPos(2));
- assertEquals("5 key [4]", 2, params.getColumnPos(3));
- assertEquals("5 key [5]", -2, params.getColumnPos(4));
- assertEquals("5 key adjust", 0, params.mTopRowAdjustment);
- assertEquals("5 key default", WIDTH * 2, params.getDefaultKeyCoordX());
+ // [4] [5]
+ // [3] <1> [2]
+ public void testLayout5KeyMax3M0() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_M0);
+ assertEquals("5 key max 3 M0 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 3 M0 rows", 2, params.mNumRows);
+ assertEquals("5 key max 3 M0 left", 1, params.mLeftKeys);
+ assertEquals("5 key max 3 M0 right", 2, params.mRightKeys);
+ assertEquals("5 key max 3 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 3 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 3 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key max 3 M0 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 3 M0 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 3 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key max 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // |[1] [2] [3] [4] [5]
+ // |[4] [5]
+ // |<1> [2] [3]
+ public void testLayout5KeyMax3L0() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L0);
+ assertEquals("5 key max 3 L0 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 3 L0 rows", 2, params.mNumRows);
+ assertEquals("5 key max 3 L0 left", 0, params.mLeftKeys);
+ assertEquals("5 key max 3 L0 right", 3, params.mRightKeys);
+ assertEquals("5 key max 3 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 3 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 3 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key max 3 L0 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 3 L0 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 3 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5]
+ // |___ <1> [2] [3]
+ public void testLayout5KeyMax3L1() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L1);
+ assertEquals("5 key max 3 L1 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 3 L1 rows", 2, params.mNumRows);
+ assertEquals("5 key max 3 L1 left", 0, params.mLeftKeys);
+ assertEquals("5 key max 3 L1 right", 3, params.mRightKeys);
+ assertEquals("5 key max 3 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 3 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 3 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key max 3 L1 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 3 L1 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 3 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5]
+ // |___ [3] <1> [2]
+ public void testLayout5KeyMax3L2() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_L2);
+ assertEquals("5 key max 3 L2 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 3 L2 rows", 2, params.mNumRows);
+ assertEquals("5 key max 3 L2 left", 1, params.mLeftKeys);
+ assertEquals("5 key max 3 L2 right", 2, params.mRightKeys);
+ assertEquals("5 key max 3 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 3 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 3 L2 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key max 3 L2 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 3 L2 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 3 L2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key max 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [4]|
+ // [3] [2] <1>|
+ public void testLayout5KeyMax3R0() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R0);
+ assertEquals("5 key max 3 R0 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 3 R0 rows", 2, params.mNumRows);
+ assertEquals("5 key max 3 R0 left", 2, params.mLeftKeys);
+ assertEquals("5 key max 3 R0 right", 1, params.mRightKeys);
+ assertEquals("5 key max 3 R0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 3 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("5 key max 3 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("5 key max 3 R0 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 3 R0 [5]", -1, params.getColumnPos(4));
+ assertEquals("5 key max 3 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [4] ___|
+ // [3] [2] <1> ___|
+ public void testLayout5KeyMax3R1() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R1);
+ assertEquals("5 key max 3 R1 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 3 R1 rows", 2, params.mNumRows);
+ assertEquals("5 key max 3 R1 left", 2, params.mLeftKeys);
+ assertEquals("5 key max 3 R1 right", 1, params.mRightKeys);
+ assertEquals("5 key max 3 R1 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 3 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("5 key max 3 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("5 key max 3 R1 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 3 R1 [5]", -1, params.getColumnPos(4));
+ assertEquals("5 key max 3 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5] ___|
+ // [3] <1> [2] ___|
+ public void testLayout5KeyMax3R2() {
+ MoreKeysKeyboardParams params = createParams(5, 3, XPOS_R2);
+ assertEquals("5 key max 3 R2 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 3 R2 rows", 2, params.mNumRows);
+ assertEquals("5 key max 3 R2 left", 1, params.mLeftKeys);
+ assertEquals("5 key max 3 R2 right", 2, params.mRightKeys);
+ assertEquals("5 key max 3 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 3 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 3 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key max 3 R2 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 3 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 3 R2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key max 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5]
+ // [3] <1> [2]
+ public void testLayout5KeyMax4M0() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_M0);
+ assertEquals("5 key max 4 M0 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 4 M0 rows", 2, params.mNumRows);
+ assertEquals("5 key max 4 M0 left", 1, params.mLeftKeys);
+ assertEquals("5 key max 4 M0 right", 2, params.mRightKeys);
+ assertEquals("5 key max 4 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 4 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 4 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key max 4 M0 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 4 M0 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 4 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key max 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[4] [5]
+ // |<1> [2] [3]
+ public void testLayout5KeyMax4L0() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L0);
+ assertEquals("5 key max 4 L0 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 4 L0 rows", 2, params.mNumRows);
+ assertEquals("5 key max 4 L0 left", 0, params.mLeftKeys);
+ assertEquals("5 key max 4 L0 right", 3, params.mRightKeys);
+ assertEquals("5 key max 4 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 4 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 4 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key max 4 L0 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 4 L0 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 4 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5]
+ // |___ <1> [2] [3]
+ public void testLayout5KeyMax4L1() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L1);
+ assertEquals("5 key max 4 L1 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 4 L1 rows", 2, params.mNumRows);
+ assertEquals("5 key max 4 L1 left", 0, params.mLeftKeys);
+ assertEquals("5 key max 4 L1 right", 3, params.mRightKeys);
+ assertEquals("5 key max 4 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 4 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 4 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("5 key max 4 L1 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 4 L1 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 4 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5]
+ // |___ [3] <1> [2]
+ public void testLayout5KeyMax4L2() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_L2);
+ assertEquals("5 key max 4 L2 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 4 L2 rows", 2, params.mNumRows);
+ assertEquals("5 key max 4 L2 left", 1, params.mLeftKeys);
+ assertEquals("5 key max 4 L2 right", 2, params.mRightKeys);
+ assertEquals("5 key max 4 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 4 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 4 L2 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key max 4 L2 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 4 L2 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 4 L2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key max 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [4]|
+ // [3] [2] <1>|
+ public void testLayout5KeyMax4R0() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R0);
+ assertEquals("5 key max 4 R0 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 4 R0 rows", 2, params.mNumRows);
+ assertEquals("5 key max 4 R0 left", 2, params.mLeftKeys);
+ assertEquals("5 key max 4 R0 right", 1, params.mRightKeys);
+ assertEquals("5 key max 4 R0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 4 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("5 key max 4 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("5 key max 4 R0 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 4 R0 [5]", -1, params.getColumnPos(4));
+ assertEquals("5 key max 4 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 4 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [4] ___|
+ // [3] [2] <1> ___|
+ public void testLayout5KeyMax4R1() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R1);
+ assertEquals("5 key max 4 R1 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 4 R1 rows", 2, params.mNumRows);
+ assertEquals("5 key max 4 R1 left", 2, params.mLeftKeys);
+ assertEquals("5 key max 4 R1 right", 1, params.mRightKeys);
+ assertEquals("5 key max 4 R1 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 4 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("5 key max 4 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("5 key max 4 R1 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 4 R1 [5]", -1, params.getColumnPos(4));
+ assertEquals("5 key max 4 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 4 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [4] [5] ___|
+ // [3] <1> [2] ___|
+ public void testLayout5KeyMax4R2() {
+ MoreKeysKeyboardParams params = createParams(5, 4, XPOS_R2);
+ assertEquals("5 key max 4 R2 columns", 3, params.mNumColumns);
+ assertEquals("5 key max 4 R2 rows", 2, params.mNumRows);
+ assertEquals("5 key max 4 R2 left", 1, params.mLeftKeys);
+ assertEquals("5 key max 4 R2 right", 2, params.mRightKeys);
+ assertEquals("5 key max 4 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 4 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 4 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key max 4 R2 [4]", 0, params.getColumnPos(3));
+ assertEquals("5 key max 4 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("5 key max 4 R2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("5 key max 4 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [5] [3] <1> [2] [4]
+ public void testLayout5KeyMax5M0() {
+ MoreKeysKeyboardParams params = createParams(5, 5, XPOS_M0);
+ assertEquals("5 key max 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("5 key max 5 M0 rows", 1, params.mNumRows);
+ assertEquals("5 key max 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("5 key max 5 M0 right", 3, params.mRightKeys);
+ assertEquals("5 key max 5 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("5 key max 5 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("5 key max 5 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("5 key max 5 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("5 key max 5 M0 [5]", -2, params.getColumnPos(4));
+ assertEquals("5 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("5 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // |<1> [2] [3] [4] [5]
public void testLayout5KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L0);
assertEquals("5 key max 5 L0 columns", 5, params.mNumColumns);
assertEquals("5 key max 5 L0 rows", 1, params.mNumRows);
assertEquals("5 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("5 key max 5 L0 right", 5, params.mRightKeys);
- assertEquals("5 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("5 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("5 key max 5 L0 [2]", 1, params.getColumnPos(1));
assertEquals("5 key max 5 L0 [3]", 2, params.getColumnPos(2));
assertEquals("5 key max 5 L0 [4]", 3, params.getColumnPos(3));
@@ -578,14 +1033,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("5 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [1] [2] [3] [4] [5]
+ // |___ <1> [2] [3] [4] [5]
public void testLayout5KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L1);
assertEquals("5 key max 5 L1 columns", 5, params.mNumColumns);
assertEquals("5 key max 5 L1 rows", 1, params.mNumRows);
assertEquals("5 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("5 key max 5 L1 right", 5, params.mRightKeys);
- assertEquals("5 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("5 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("5 key max 5 L1 [2]", 1, params.getColumnPos(1));
assertEquals("5 key max 5 L1 [3]", 2, params.getColumnPos(2));
assertEquals("5 key max 5 L1 [4]", 3, params.getColumnPos(3));
@@ -594,14 +1049,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("5 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [3] [1] [2] [4] [5]
+ // |___ [3] <1> [2] [4] [5]
public void testLayout5KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(5, 5, XPOS_L2);
assertEquals("5 key max 5 L2 columns", 5, params.mNumColumns);
assertEquals("5 key max 5 L2 rows", 1, params.mNumRows);
assertEquals("5 key max 5 L2 left", 1, params.mLeftKeys);
assertEquals("5 key max 5 L2 right", 4, params.mRightKeys);
- assertEquals("5 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("5 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("5 key max 5 L2 [2]", 1, params.getColumnPos(1));
assertEquals("5 key max 5 L2 [3]", -1, params.getColumnPos(2));
assertEquals("5 key max 5 L2 [4]", 2, params.getColumnPos(3));
@@ -610,14 +1065,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("5 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [5] [4] [3] [2] [1]|
+ // [5] [4] [3] [2] <1>|
public void testLayout5KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R0);
assertEquals("5 key max 5 R0 columns", 5, params.mNumColumns);
assertEquals("5 key max 5 R0 rows", 1, params.mNumRows);
assertEquals("5 key max 5 R0 left", 4, params.mLeftKeys);
assertEquals("5 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("5 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("5 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("5 key max 5 R0 [2]", -1, params.getColumnPos(1));
assertEquals("5 key max 5 R0 [3]", -2, params.getColumnPos(2));
assertEquals("5 key max 5 R0 [4]", -3, params.getColumnPos(3));
@@ -626,14 +1081,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("5 key max 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
}
- // [5] [4] [3] [2] [1] ___|
+ // [5] [4] [3] [2] <1> ___|
public void testLayout5KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R1);
assertEquals("5 key max 5 R1 columns", 5, params.mNumColumns);
assertEquals("5 key max 5 R1 rows", 1, params.mNumRows);
assertEquals("5 key max 5 R1 left", 4, params.mLeftKeys);
assertEquals("5 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("5 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("5 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("5 key max 5 R1 [2]", -1, params.getColumnPos(1));
assertEquals("5 key max 5 R1 [3]", -2, params.getColumnPos(2));
assertEquals("5 key max 5 R1 [4]", -3, params.getColumnPos(3));
@@ -642,14 +1097,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("5 key max 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
}
- // [5] [4] [3] [1] [2] ___|
+ // [5] [4] [3] <1> [2] ___|
public void testLayout5KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(5, 5, XPOS_R2);
assertEquals("5 key max 5 R2 columns", 5, params.mNumColumns);
assertEquals("5 key max 5 R2 rows", 1, params.mNumRows);
assertEquals("5 key max 5 R2 left", 3, params.mLeftKeys);
assertEquals("5 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("5 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("5 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("5 key max 5 R2 [2]", 1, params.getColumnPos(1));
assertEquals("5 key max 5 R2 [3]", -1, params.getColumnPos(2));
assertEquals("5 key max 5 R2 [4]", -2, params.getColumnPos(3));
@@ -659,32 +1114,158 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [6] [4] [5]
- // [3] [1] [2]
- public void testLayout6KeyMax5M0() {
- MoreKeysKeyboardParams params = createParams(6, 5, XPOS_M0);
- assertEquals("6 key columns", 3, params.mNumColumns);
- assertEquals("6 key rows", 2, params.mNumRows);
- assertEquals("6 key left", 1, params.mLeftKeys);
- assertEquals("6 key right", 2, params.mRightKeys);
- assertEquals("6 key [1]", 0, params.getColumnPos(0));
- assertEquals("6 key [2]", 1, params.getColumnPos(1));
- assertEquals("6 key [3]", -1, params.getColumnPos(2));
- assertEquals("6 key [4]", 0, params.getColumnPos(3));
- assertEquals("6 key [5]", 1, params.getColumnPos(4));
- assertEquals("6 key [6]", -1, params.getColumnPos(5));
- assertEquals("6 key adjust", 0, params.mTopRowAdjustment);
- assertEquals("6 key default", WIDTH * 1, params.getDefaultKeyCoordX());
+ // [3] <1> [2]
+ public void testLayout6KeyMax4M0() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_M0);
+ assertEquals("6 key max 4 M0 columns", 3, params.mNumColumns);
+ assertEquals("6 key max 4 M0 rows", 2, params.mNumRows);
+ assertEquals("6 key max 4 M0 left", 1, params.mLeftKeys);
+ assertEquals("6 key max 4 M0 right", 2, params.mRightKeys);
+ assertEquals("6 key max 4 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key max 4 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key max 4 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("6 key max 4 M0 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key max 4 M0 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key max 4 M0 [6]", -1, params.getColumnPos(5));
+ assertEquals("6 key max 4 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key max 4 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
// |[4] [5] [6]
- // |[1] [2] [3]
+ // |<1> [2] [3]
+ public void testLayout6KeyMax4L0() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L0);
+ assertEquals("6 key max 4 L0 columns", 3, params.mNumColumns);
+ assertEquals("6 key max 4 L0 rows", 2, params.mNumRows);
+ assertEquals("6 key max 4 L0 left", 0, params.mLeftKeys);
+ assertEquals("6 key max 4 L0 right", 3, params.mRightKeys);
+ assertEquals("6 key max 4 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key max 4 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key max 4 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("6 key max 4 L0 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key max 4 L0 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key max 4 L0 [6]", 2, params.getColumnPos(5));
+ assertEquals("6 key max 4 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key max 4 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [4] [5] [6]
+ // |___ <1> [2] [3]
+ public void testLayout6KeyMax4L1() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L1);
+ assertEquals("6 key max 4 L1 columns", 3, params.mNumColumns);
+ assertEquals("6 key max 4 L1 rows", 2, params.mNumRows);
+ assertEquals("6 key max 4 L1 left", 0, params.mLeftKeys);
+ assertEquals("6 key max 4 L1 right", 3, params.mRightKeys);
+ assertEquals("6 key max 4 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key max 4 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key max 4 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("6 key max 4 L1 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key max 4 L1 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key max 4 L1 [6]", 2, params.getColumnPos(5));
+ assertEquals("6 key max 4 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key max 4 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [6] [4] [5]
+ // |___ [3] <1> [2]
+ public void testLayout6KeyMax4L2() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_L2);
+ assertEquals("6 key max 4 L2 columns", 3, params.mNumColumns);
+ assertEquals("6 key max 4 L2 rows", 2, params.mNumRows);
+ assertEquals("6 key max 4 L2 left", 1, params.mLeftKeys);
+ assertEquals("6 key max 4 L2 right", 2, params.mRightKeys);
+ assertEquals("6 key max 4 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key max 4 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key max 4 L2 [3]", -1, params.getColumnPos(2));
+ assertEquals("6 key max 4 L2 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key max 4 L2 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key max 4 L2 [6]", -1, params.getColumnPos(5));
+ assertEquals("6 key max 4 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key max 4 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [5] [4]|
+ // [3] [2] <1>|
+ public void testLayout6KeyMax4R0() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R0);
+ assertEquals("6 key max 4 R0 columns", 3, params.mNumColumns);
+ assertEquals("6 key max 4 R0 rows", 2, params.mNumRows);
+ assertEquals("6 key max 4 R0 left", 2, params.mLeftKeys);
+ assertEquals("6 key max 4 R0 right", 1, params.mRightKeys);
+ assertEquals("6 key max 4 R0 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key max 4 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("6 key max 4 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("6 key max 4 R0 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key max 4 R0 [5]", -1, params.getColumnPos(4));
+ assertEquals("6 key max 4 R0 [6]", -2, params.getColumnPos(5));
+ assertEquals("6 key max 4 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key max 4 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [5] [4] ___|
+ // [3] [2] <1> ___|
+ public void testLayout6KeyMax4R1() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R1);
+ assertEquals("6 key max 4 R1 columns", 3, params.mNumColumns);
+ assertEquals("6 key max 4 R1 rows", 2, params.mNumRows);
+ assertEquals("6 key max 4 R1 left", 2, params.mLeftKeys);
+ assertEquals("6 key max 4 R1 right", 1, params.mRightKeys);
+ assertEquals("6 key max 4 R1 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key max 4 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("6 key max 4 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("6 key max 4 R1 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key max 4 R1 [5]", -1, params.getColumnPos(4));
+ assertEquals("6 key max 4 R1 [6]", -2, params.getColumnPos(5));
+ assertEquals("6 key max 4 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key max 4 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [4] [5] ___|
+ // [3] <1> [2] ___|
+ public void testLayout6KeyMax4R2() {
+ MoreKeysKeyboardParams params = createParams(6, 4, XPOS_R2);
+ assertEquals("6 key max 4 R2 columns", 3, params.mNumColumns);
+ assertEquals("6 key max 4 R2 rows", 2, params.mNumRows);
+ assertEquals("6 key max 4 R2 left", 1, params.mLeftKeys);
+ assertEquals("6 key max 4 R2 right", 2, params.mRightKeys);
+ assertEquals("6 key max 4 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key max 4 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key max 4 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("6 key max 4 R2 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key max 4 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key max 4 R2 [6]", -1, params.getColumnPos(5));
+ assertEquals("6 key max 4 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key max 4 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [6] [4] [5]
+ // [3] <1> [2]
+ public void testLayout6KeyMax5M0() {
+ MoreKeysKeyboardParams params = createParams(6, 5, XPOS_M0);
+ assertEquals("6 key max 5 M0 columns", 3, params.mNumColumns);
+ assertEquals("6 key max 5 M0 rows", 2, params.mNumRows);
+ assertEquals("6 key max 5 M0 left", 1, params.mLeftKeys);
+ assertEquals("6 key max 5 M0 right", 2, params.mRightKeys);
+ assertEquals("6 key max 5 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("6 key max 5 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("6 key max 5 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("6 key max 5 M0 [4]", 0, params.getColumnPos(3));
+ assertEquals("6 key max 5 M0 [5]", 1, params.getColumnPos(4));
+ assertEquals("6 key max 5 M0 [6]", -1, params.getColumnPos(5));
+ assertEquals("6 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("6 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[4] [5] [6]
+ // |<1> [2] [3]
public void testLayout6KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L0);
assertEquals("6 key max 5 L0 columns", 3, params.mNumColumns);
assertEquals("6 key max 5 L0 rows", 2, params.mNumRows);
assertEquals("6 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("6 key max 5 L0 right", 3, params.mRightKeys);
- assertEquals("6 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("6 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("6 key max 5 L0 [2]", 1, params.getColumnPos(1));
assertEquals("6 key max 5 L0 [3]", 2, params.getColumnPos(2));
assertEquals("6 key max 5 L0 [4]", 0, params.getColumnPos(3));
@@ -695,14 +1276,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// |___ [4] [5] [6]
- // |___ [1] [2] [3]
+ // |___ <1> [2] [3]
public void testLayout6KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L1);
assertEquals("6 key max 5 L1 columns", 3, params.mNumColumns);
assertEquals("6 key max 5 L1 rows", 2, params.mNumRows);
assertEquals("6 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("6 key max 5 L1 right", 3, params.mRightKeys);
- assertEquals("6 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("6 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("6 key max 5 L1 [2]", 1, params.getColumnPos(1));
assertEquals("6 key max 5 L1 [3]", 2, params.getColumnPos(2));
assertEquals("6 key max 5 L1 [4]", 0, params.getColumnPos(3));
@@ -713,14 +1294,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// |___ [6] [4] [5]
- // |___ [3] [1] [2]
+ // |___ [3] <1> [2]
public void testLayout6KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(6, 5, XPOS_L2);
assertEquals("6 key max 5 L2 columns", 3, params.mNumColumns);
assertEquals("6 key max 5 L2 rows", 2, params.mNumRows);
assertEquals("6 key max 5 L2 left", 1, params.mLeftKeys);
assertEquals("6 key max 5 L2 right", 2, params.mRightKeys);
- assertEquals("6 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("6 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("6 key max 5 L2 [2]", 1, params.getColumnPos(1));
assertEquals("6 key max 5 L2 [3]", -1, params.getColumnPos(2));
assertEquals("6 key max 5 L2 [4]", 0, params.getColumnPos(3));
@@ -731,14 +1312,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [6] [5] [4]|
- // [3] [2] [1]|
+ // [3] [2] <1>|
public void testLayout6KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R0);
assertEquals("6 key max 5 R0 columns", 3, params.mNumColumns);
assertEquals("6 key max 5 R0 rows", 2, params.mNumRows);
assertEquals("6 key max 5 R0 left", 2, params.mLeftKeys);
assertEquals("6 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("6 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("6 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("6 key max 5 R0 [2]", -1, params.getColumnPos(1));
assertEquals("6 key max 5 R0 [3]", -2, params.getColumnPos(2));
assertEquals("6 key max 5 R0 [4]", 0, params.getColumnPos(3));
@@ -749,14 +1330,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [6] [5] [4] ___|
- // [3] [2] [1] ___|
+ // [3] [2] <1> ___|
public void testLayout6KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R1);
assertEquals("6 key max 5 R1 columns", 3, params.mNumColumns);
assertEquals("6 key max 5 R1 rows", 2, params.mNumRows);
assertEquals("6 key max 5 R1 left", 2, params.mLeftKeys);
assertEquals("6 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("6 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("6 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("6 key max 5 R1 [2]", -1, params.getColumnPos(1));
assertEquals("6 key max 5 R1 [3]", -2, params.getColumnPos(2));
assertEquals("6 key max 5 R1 [4]", 0, params.getColumnPos(3));
@@ -767,14 +1348,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [6] [4] [5] ___|
- // [3] [1] [2] ___|
+ // [3] <1> [2] ___|
public void testLayout6KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(6, 5, XPOS_R2);
assertEquals("6 key max 5 R2 columns", 3, params.mNumColumns);
assertEquals("6 key max 5 R2 rows", 2, params.mNumRows);
assertEquals("6 key max 5 R2 left", 1, params.mLeftKeys);
assertEquals("6 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("6 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("6 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("6 key max 5 R2 [2]", 1, params.getColumnPos(1));
assertEquals("6 key max 5 R2 [3]", -1, params.getColumnPos(2));
assertEquals("6 key max 5 R2 [4]", 0, params.getColumnPos(3));
@@ -784,147 +1365,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("6 key max 5 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [7] [5] [6]
- // [3] [1] [2] [4]
- public void testLayout7KeyMax5M0() {
- MoreKeysKeyboardParams params = createParams(7, 5, XPOS_M0);
- assertEquals("7 key columns", 4, params.mNumColumns);
- assertEquals("7 key rows", 2, params.mNumRows);
- assertEquals("7 key left", 1, params.mLeftKeys);
- assertEquals("7 key right", 3, params.mRightKeys);
- assertEquals("7 key [1]", 0, params.getColumnPos(0));
- assertEquals("7 key [2]", 1, params.getColumnPos(1));
- assertEquals("7 key [3]", -1, params.getColumnPos(2));
- assertEquals("7 key [4]", 2, params.getColumnPos(3));
- assertEquals("7 key [5]", 0, params.getColumnPos(4));
- assertEquals("7 key [6]", 1, params.getColumnPos(5));
- assertEquals("7 key [7]", -1, params.getColumnPos(6));
- assertEquals("7 key adjust", 1, params.mTopRowAdjustment);
- assertEquals("7 key default", WIDTH * 1, params.getDefaultKeyCoordX());
- }
-
- // | [5] [6] [7]
- // |[1] [2] [3] [4]
- public void testLayout7KeyMax5L0() {
- MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L0);
- assertEquals("7 key max 5 L0 columns", 4, params.mNumColumns);
- assertEquals("7 key max 5 L0 rows", 2, params.mNumRows);
- assertEquals("7 key max 5 L0 left", 0, params.mLeftKeys);
- assertEquals("7 key max 5 L0 right", 4, params.mRightKeys);
- assertEquals("7 key max 5 L0 [1]", 0, params.getColumnPos(0));
- assertEquals("7 key max 5 L0 [2]", 1, params.getColumnPos(1));
- assertEquals("7 key max 5 L0 [3]", 2, params.getColumnPos(2));
- assertEquals("7 key max 5 L0 [4]", 3, params.getColumnPos(3));
- assertEquals("7 key max 5 L0 [5]", 0, params.getColumnPos(4));
- assertEquals("7 key max 5 L0 [6]", 1, params.getColumnPos(5));
- assertEquals("7 key max 5 L0 [7]", 2, params.getColumnPos(6));
- assertEquals("7 key max 5 L0 adjust", 1, params.mTopRowAdjustment);
- assertEquals("7 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
- }
-
- // |___ [5] [6] [7]
- // |___ [1] [2] [3] [4]
- public void testLayout7KeyMax5L1() {
- MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L1);
- assertEquals("7 key max 5 L1 columns", 4, params.mNumColumns);
- assertEquals("7 key max 5 L1 rows", 2, params.mNumRows);
- assertEquals("7 key max 5 L1 left", 0, params.mLeftKeys);
- assertEquals("7 key max 5 L1 right", 4, params.mRightKeys);
- assertEquals("7 key max 5 L1 [1]", 0, params.getColumnPos(0));
- assertEquals("7 key max 5 L1 [2]", 1, params.getColumnPos(1));
- assertEquals("7 key max 5 L1 [3]", 2, params.getColumnPos(2));
- assertEquals("7 key max 5 L1 [4]", 3, params.getColumnPos(3));
- assertEquals("7 key max 5 L1 [5]", 0, params.getColumnPos(4));
- assertEquals("7 key max 5 L1 [6]", 1, params.getColumnPos(5));
- assertEquals("7 key max 5 L1 [7]", 2, params.getColumnPos(6));
- assertEquals("7 key max 5 L1 adjust", 1, params.mTopRowAdjustment);
- assertEquals("7 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
- }
-
- // |___ [7] [5] [6]
- // |___ [3] [1] [2] [4]
- public void testLayout7KeyMax5L2() {
- MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L2);
- assertEquals("7 key max 5 L2 columns", 4, params.mNumColumns);
- assertEquals("7 key max 5 L2 rows", 2, params.mNumRows);
- assertEquals("7 key max 5 L2 left", 1, params.mLeftKeys);
- assertEquals("7 key max 5 L2 right", 3, params.mRightKeys);
- assertEquals("7 key max 5 L2 [1]", 0, params.getColumnPos(0));
- assertEquals("7 key max 5 L2 [2]", 1, params.getColumnPos(1));
- assertEquals("7 key max 5 L2 [3]", -1, params.getColumnPos(2));
- assertEquals("7 key max 5 L2 [4]", 2, params.getColumnPos(3));
- assertEquals("7 key max 5 L2 [5]", 0, params.getColumnPos(4));
- assertEquals("7 key max 5 L2 [6]", 1, params.getColumnPos(5));
- assertEquals("7 key max 5 L2 [7]", -1, params.getColumnPos(6));
- assertEquals("7 key max 5 L2 adjust", 1, params.mTopRowAdjustment);
- assertEquals("7 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
- }
-
- // [7] [6] [5] |
- // [4] [3] [2] [1]|
- public void testLayout7KeyMax5R0() {
- MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R0);
- assertEquals("7 key max 5 R0 columns", 4, params.mNumColumns);
- assertEquals("7 key max 5 R0 rows", 2, params.mNumRows);
- assertEquals("7 key max 5 R0 left", 3, params.mLeftKeys);
- assertEquals("7 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("7 key max 5 R0 [1]", 0, params.getColumnPos(0));
- assertEquals("7 key max 5 R0 [2]", -1, params.getColumnPos(1));
- assertEquals("7 key max 5 R0 [3]", -2, params.getColumnPos(2));
- assertEquals("7 key max 5 R0 [4]", -3, params.getColumnPos(3));
- assertEquals("7 key max 5 R0 [5]", 0, params.getColumnPos(4));
- assertEquals("7 key max 5 R0 [6]", -1, params.getColumnPos(5));
- assertEquals("7 key max 5 R0 [7]", -2, params.getColumnPos(6));
- assertEquals("7 key max 5 R0 adjust", -1, params.mTopRowAdjustment);
- assertEquals("7 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
- }
-
- // [7] [6] [5] ___|
- // [4] [3] [2] [1] ___|
- public void testLayout7KeyMax5R1() {
- MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R1);
- assertEquals("7 key max 5 R1 columns", 4, params.mNumColumns);
- assertEquals("7 key max 5 R1 rows", 2, params.mNumRows);
- assertEquals("7 key max 5 R1 left", 3, params.mLeftKeys);
- assertEquals("7 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("7 key max 5 R1 [1]", 0, params.getColumnPos(0));
- assertEquals("7 key max 5 R1 [2]", -1, params.getColumnPos(1));
- assertEquals("7 key max 5 R1 [3]", -2, params.getColumnPos(2));
- assertEquals("7 key max 5 R1 [4]", -3, params.getColumnPos(3));
- assertEquals("7 key max 5 R1 [5]", 0, params.getColumnPos(4));
- assertEquals("7 key max 5 R1 [6]", -1, params.getColumnPos(5));
- assertEquals("7 key max 5 R1 [7]", -2, params.getColumnPos(6));
- assertEquals("7 key max 5 R1 adjust", -1, params.mTopRowAdjustment);
- assertEquals("7 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
- }
-
- // [7] [5] [6] ___|
- // [4] [3] [1] [2] ___|
- public void testLayout7KeyMax5R2() {
- MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R2);
- assertEquals("7 key max 5 R2 columns", 4, params.mNumColumns);
- assertEquals("7 key max 5 R2 rows", 2, params.mNumRows);
- assertEquals("7 key max 5 R2 left", 2, params.mLeftKeys);
- assertEquals("7 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("7 key max 5 R2 [1]", 0, params.getColumnPos(0));
- assertEquals("7 key max 5 R2 [2]", 1, params.getColumnPos(1));
- assertEquals("7 key max 5 R2 [3]", -1, params.getColumnPos(2));
- assertEquals("7 key max 5 R2 [4]", -2, params.getColumnPos(3));
- assertEquals("7 key max 5 R2 [5]", 0, params.getColumnPos(4));
- assertEquals("7 key max 5 R2 [6]", 1, params.getColumnPos(5));
- assertEquals("7 key max 5 R2 [7]", -1, params.getColumnPos(6));
- assertEquals("7 key max 5 R2 adjust", -1, params.mTopRowAdjustment);
- assertEquals("7 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
- }
-
- // |[1] [2] [3] [4] [5] [6] [7] ___ ___ ___|
+ // |<1> [2] [3] [4] [5] [6] [7] ___ ___ ___|
public void testLayout7KeyMax7L0() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L0);
assertEquals("7 key max 7 L0 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 L0 rows", 1, params.mNumRows);
assertEquals("7 key max 7 L0 left", 0, params.mLeftKeys);
assertEquals("7 key max 7 L0 right", 7, params.mRightKeys);
- assertEquals("7 key max 7 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 L0 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 L0 [2]", 1, params.getColumnPos(1));
assertEquals("7 key max 7 L0 [3]", 2, params.getColumnPos(2));
assertEquals("7 key max 7 L0 [4]", 3, params.getColumnPos(3));
@@ -935,14 +1383,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [1] [2] [3] [4] [5] [6] [7] ___ ___|
+ // |___ <1> [2] [3] [4] [5] [6] [7] ___ ___|
public void testLayout7KeyMax7L1() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L1);
assertEquals("7 key max 7 L1 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 L1 rows", 1, params.mNumRows);
assertEquals("7 key max 7 L1 left", 0, params.mLeftKeys);
assertEquals("7 key max 7 L1 right", 7, params.mRightKeys);
- assertEquals("7 key max 7 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 L1 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 L1 [2]", 1, params.getColumnPos(1));
assertEquals("7 key max 7 L1 [3]", 2, params.getColumnPos(2));
assertEquals("7 key max 7 L1 [4]", 3, params.getColumnPos(3));
@@ -953,14 +1401,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [3] [1] [2] [4] [5] [6] [7] ___ ___|
+ // |___ [3] <1> [2] [4] [5] [6] [7] ___ ___|
public void testLayout7KeyMax7L2() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L2);
assertEquals("7 key max 7 L2 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 L2 rows", 1, params.mNumRows);
assertEquals("7 key max 7 L2 left", 1, params.mLeftKeys);
assertEquals("7 key max 7 L2 right", 6, params.mRightKeys);
- assertEquals("7 key max 7 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 L2 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 L2 [2]", 1, params.getColumnPos(1));
assertEquals("7 key max 7 L2 [3]", -1, params.getColumnPos(2));
assertEquals("7 key max 7 L2 [4]", 2, params.getColumnPos(3));
@@ -971,14 +1419,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // |___ [5] [3] [1] [2] [4] [6] [7] ___ ___|
+ // |___ [5] [3] <1> [2] [4] [6] [7] ___ ___|
public void testLayout7KeyMax7L3() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_L3);
assertEquals("7 key max 7 L3 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 L3 rows", 1, params.mNumRows);
assertEquals("7 key max 7 L3 left", 2, params.mLeftKeys);
assertEquals("7 key max 7 L3 right", 5, params.mRightKeys);
- assertEquals("7 key max 7 L3 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 L3 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 L3 [2]", 1, params.getColumnPos(1));
assertEquals("7 key max 7 L3 [3]", -1, params.getColumnPos(2));
assertEquals("7 key max 7 L3 [4]", 2, params.getColumnPos(3));
@@ -989,14 +1437,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 L3 default", WIDTH * 2, params.getDefaultKeyCoordX());
}
- // |___ [7] [5] [3] [1] [2] [4] [6] ___ ___|
+ // |___ [7] [5] [3] <1> [2] [4] [6] ___ ___|
public void testLayout7KeyMax7M0() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M0);
assertEquals("7 key max 7 M0 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 M0 rows", 1, params.mNumRows);
assertEquals("7 key max 7 M0 left", 3, params.mLeftKeys);
assertEquals("7 key max 7 M0 right", 4, params.mRightKeys);
- assertEquals("7 key max 7 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 M0 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 M0 [2]", 1, params.getColumnPos(1));
assertEquals("7 key max 7 M0 [3]", -1, params.getColumnPos(2));
assertEquals("7 key max 7 M0 [4]", 2, params.getColumnPos(3));
@@ -1007,14 +1455,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 M0 default", WIDTH * 3, params.getDefaultKeyCoordX());
}
- // |___ ___ [7] [5] [3] [1] [2] [4] [6] ___|
+ // |___ ___ [7] [5] [3] <1> [2] [4] [6] ___|
public void testLayout7KeyMax7M1() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_M1);
assertEquals("7 key max 7 M1 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 M1 rows", 1, params.mNumRows);
assertEquals("7 key max 7 M1 left", 3, params.mLeftKeys);
assertEquals("7 key max 7 M1 right", 4, params.mRightKeys);
- assertEquals("7 key max 7 M1 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 M1 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 M1 [2]", 1, params.getColumnPos(1));
assertEquals("7 key max 7 M1 [3]", -1, params.getColumnPos(2));
assertEquals("7 key max 7 M1 [4]", 2, params.getColumnPos(3));
@@ -1025,14 +1473,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 M1 default", WIDTH * 3, params.getDefaultKeyCoordX());
}
- // |___ ___ [7] [6] [5] [3] [1] [2] [4] ___|
+ // |___ ___ [7] [6] [5] [3] <1> [2] [4] ___|
public void testLayout7KeyMax7R3() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R3);
assertEquals("7 key max 7 R3 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 R3 rows", 1, params.mNumRows);
assertEquals("7 key max 7 R3 left", 4, params.mLeftKeys);
assertEquals("7 key max 7 R3 right", 3, params.mRightKeys);
- assertEquals("7 key max 7 R3 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 R3 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 R3 [2]", 1, params.getColumnPos(1));
assertEquals("7 key max 7 R3 [3]", -1, params.getColumnPos(2));
assertEquals("7 key max 7 R3 [4]", 2, params.getColumnPos(3));
@@ -1043,14 +1491,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 R3 default", WIDTH * 4, params.getDefaultKeyCoordX());
}
- // |___ ___ [7] [6] [5] [4] [3] [1] [2] ___|
+ // |___ ___ [7] [6] [5] [4] [3] <1> [2] ___|
public void testLayout7KeyMax7R2() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R2);
assertEquals("7 key max 7 R2 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 R2 rows", 1, params.mNumRows);
assertEquals("7 key max 7 R2 left", 5, params.mLeftKeys);
assertEquals("7 key max 7 R2 right", 2, params.mRightKeys);
- assertEquals("7 key max 7 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 R2 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 R2 [2]", 1, params.getColumnPos(1));
assertEquals("7 key max 7 R2 [3]", -1, params.getColumnPos(2));
assertEquals("7 key max 7 R2 [4]", -2, params.getColumnPos(3));
@@ -1061,14 +1509,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 R2 default", WIDTH * 5, params.getDefaultKeyCoordX());
}
- // |___ ___ [7] [6] [5] [4] [3] [2] [1] ___|
+ // |___ ___ [7] [6] [5] [4] [3] [2] <1> ___|
public void testLayout7KeyMax7R1() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R1);
assertEquals("7 key max 7 R1 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 R1 rows", 1, params.mNumRows);
assertEquals("7 key max 7 R1 left", 6, params.mLeftKeys);
assertEquals("7 key max 7 R1 right", 1, params.mRightKeys);
- assertEquals("7 key max 7 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 R1 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 R1 [2]", -1, params.getColumnPos(1));
assertEquals("7 key max 7 R1 [3]", -2, params.getColumnPos(2));
assertEquals("7 key max 7 R1 [4]", -3, params.getColumnPos(3));
@@ -1079,14 +1527,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 R1 default", WIDTH * 6, params.getDefaultKeyCoordX());
}
- // |___ ___ [7] [6] [5] [4] [3] [2] [1]|
+ // |___ ___ [7] [6] [5] [4] [3] [2] <1>|
public void testLayout7KeyMax7R0() {
MoreKeysKeyboardParams params = createParams(7, 7, XPOS_R0);
assertEquals("7 key max 7 R0 columns", 7, params.mNumColumns);
assertEquals("7 key max 7 R0 rows", 1, params.mNumRows);
assertEquals("7 key max 7 R0 left", 6, params.mLeftKeys);
assertEquals("7 key max 7 R0 right", 1, params.mRightKeys);
- assertEquals("7 key max 7 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("7 key max 7 R0 <1>", 0, params.getColumnPos(0));
assertEquals("7 key max 7 R0 [2]", -1, params.getColumnPos(1));
assertEquals("7 key max 7 R0 [3]", -2, params.getColumnPos(2));
assertEquals("7 key max 7 R0 [4]", -3, params.getColumnPos(3));
@@ -1097,15 +1545,288 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("7 key max 7 R0 default", WIDTH * 6, params.getDefaultKeyCoordX());
}
+ // [5] [6] [7]
+ // [3] <1> [2] [4]
+ public void testLayout7KeyMax5M0() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_M0);
+ assertEquals("7 key max 5 M0 columns", 4, params.mNumColumns);
+ assertEquals("7 key max 5 M0 rows", 2, params.mNumRows);
+ assertEquals("7 key max 5 M0 left", 1, params.mLeftKeys);
+ assertEquals("7 key max 5 M0 right", 3, params.mRightKeys);
+ assertEquals("7 key max 5 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 5 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 5 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key max 5 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("7 key max 5 M0 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key max 5 M0 [6]", 1, params.getColumnPos(5));
+ assertEquals("7 key max 5 M0 [7]", 2, params.getColumnPos(6));
+ assertEquals("7 key max 5 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("7 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[5] [6] [7]
+ // |<1> [2] [3] [4]
+ public void testLayout7KeyMax5L0() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L0);
+ assertEquals("7 key max 5 L0 columns", 4, params.mNumColumns);
+ assertEquals("7 key max 5 L0 rows", 2, params.mNumRows);
+ assertEquals("7 key max 5 L0 left", 0, params.mLeftKeys);
+ assertEquals("7 key max 5 L0 right", 4, params.mRightKeys);
+ assertEquals("7 key max 5 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 5 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 5 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key max 5 L0 [4]", 3, params.getColumnPos(3));
+ assertEquals("7 key max 5 L0 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key max 5 L0 [6]", 1, params.getColumnPos(5));
+ assertEquals("7 key max 5 L0 [7]", 2, params.getColumnPos(6));
+ assertEquals("7 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5] [6] [7]
+ // |___ <1> [2] [3] [4]
+ public void testLayout7KeyMax5L1() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L1);
+ assertEquals("7 key max 5 L1 columns", 4, params.mNumColumns);
+ assertEquals("7 key max 5 L1 rows", 2, params.mNumRows);
+ assertEquals("7 key max 5 L1 left", 0, params.mLeftKeys);
+ assertEquals("7 key max 5 L1 right", 4, params.mRightKeys);
+ assertEquals("7 key max 5 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 5 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 5 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key max 5 L1 [4]", 3, params.getColumnPos(3));
+ assertEquals("7 key max 5 L1 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key max 5 L1 [6]", 1, params.getColumnPos(5));
+ assertEquals("7 key max 5 L1 [7]", 2, params.getColumnPos(6));
+ assertEquals("7 key max 5 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [5] [6] [7]
+ // |___ [3] <1> [2] [4]
+ public void testLayout7KeyMax5L2() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_L2);
+ assertEquals("7 key max 5 L2 columns", 4, params.mNumColumns);
+ assertEquals("7 key max 5 L2 rows", 2, params.mNumRows);
+ assertEquals("7 key max 5 L2 left", 1, params.mLeftKeys);
+ assertEquals("7 key max 5 L2 right", 3, params.mRightKeys);
+ assertEquals("7 key max 5 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 5 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 5 L2 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key max 5 L2 [4]", 2, params.getColumnPos(3));
+ assertEquals("7 key max 5 L2 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key max 5 L2 [6]", 1, params.getColumnPos(5));
+ assertEquals("7 key max 5 L2 [7]", 2, params.getColumnPos(6));
+ assertEquals("7 key max 5 L2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("7 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [7] [6] [5]|
+ // [4] [3] [2] <1>|
+ public void testLayout7KeyMax5R0() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R0);
+ assertEquals("7 key max 5 R0 columns", 4, params.mNumColumns);
+ assertEquals("7 key max 5 R0 rows", 2, params.mNumRows);
+ assertEquals("7 key max 5 R0 left", 3, params.mLeftKeys);
+ assertEquals("7 key max 5 R0 right", 1, params.mRightKeys);
+ assertEquals("7 key max 5 R0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 5 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("7 key max 5 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("7 key max 5 R0 [4]", -3, params.getColumnPos(3));
+ assertEquals("7 key max 5 R0 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key max 5 R0 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key max 5 R0 [7]", -2, params.getColumnPos(6));
+ assertEquals("7 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 5 R0 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [7] [6] [5] ___|
+ // [4] [3] [2] <1> ___|
+ public void testLayout7KeyMax5R1() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R1);
+ assertEquals("7 key max 5 R1 columns", 4, params.mNumColumns);
+ assertEquals("7 key max 5 R1 rows", 2, params.mNumRows);
+ assertEquals("7 key max 5 R1 left", 3, params.mLeftKeys);
+ assertEquals("7 key max 5 R1 right", 1, params.mRightKeys);
+ assertEquals("7 key max 5 R1 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 5 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("7 key max 5 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("7 key max 5 R1 [4]", -3, params.getColumnPos(3));
+ assertEquals("7 key max 5 R1 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key max 5 R1 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key max 5 R1 [7]", -2, params.getColumnPos(6));
+ assertEquals("7 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 5 R1 default", WIDTH * 3, params.getDefaultKeyCoordX());
+ }
+
+ // [7] [5] [6] ___|
+ // [4] [3] <1> [2] ___|
+ public void testLayout7KeyMax5R2() {
+ MoreKeysKeyboardParams params = createParams(7, 5, XPOS_R2);
+ assertEquals("7 key max 5 R2 columns", 4, params.mNumColumns);
+ assertEquals("7 key max 5 R2 rows", 2, params.mNumRows);
+ assertEquals("7 key max 5 R2 left", 2, params.mLeftKeys);
+ assertEquals("7 key max 5 R2 right", 2, params.mRightKeys);
+ assertEquals("7 key max 5 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 5 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 5 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key max 5 R2 [4]", -2, params.getColumnPos(3));
+ assertEquals("7 key max 5 R2 [5]", 0, params.getColumnPos(4));
+ assertEquals("7 key max 5 R2 [6]", 1, params.getColumnPos(5));
+ assertEquals("7 key max 5 R2 [7]", -1, params.getColumnPos(6));
+ assertEquals("7 key max 5 R2 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("7 key max 5 R2 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [7]
+ // [6] [4] [5]
+ // [3] <1> [2]
+ public void testLayout7KeyMax3M0() {
+ MoreKeysKeyboardParams params = createParams(7, 3, XPOS_M0);
+ assertEquals("7 key max 3 M0 columns", 3, params.mNumColumns);
+ assertEquals("7 key max 3 M0 rows", 3, params.mNumRows);
+ assertEquals("7 key max 3 M0 left", 1, params.mLeftKeys);
+ assertEquals("7 key max 3 M0 right", 2, params.mRightKeys);
+ assertEquals("7 key max 3 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 3 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 3 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key max 3 M0 [4]", 0, params.getColumnPos(3));
+ assertEquals("7 key max 3 M0 [5]", 1, params.getColumnPos(4));
+ assertEquals("7 key max 3 M0 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key max 3 M0 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key max 3 M0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 3 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // |[7]
+ // |[4] [5] [6]
+ // |<1> [2] [3]
+ public void testLayout7KeyMax3L0() {
+ MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L0);
+ assertEquals("7 key max 3 L0 columns", 3, params.mNumColumns);
+ assertEquals("7 key max 3 L0 rows", 3, params.mNumRows);
+ assertEquals("7 key max 3 L0 left", 0, params.mLeftKeys);
+ assertEquals("7 key max 3 L0 right", 3, params.mRightKeys);
+ assertEquals("7 key max 3 L0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 3 L0 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 3 L0 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key max 3 L0 [4]", 0, params.getColumnPos(3));
+ assertEquals("7 key max 3 L0 [5]", 1, params.getColumnPos(4));
+ assertEquals("7 key max 3 L0 [6]", 2, params.getColumnPos(5));
+ assertEquals("7 key max 3 L0 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key max 3 L0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 3 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [7]
+ // |___ [4] [5] [6]
+ // |___ <1> [2] [3]
+ public void testLayout7KeyMax3L1() {
+ MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L1);
+ assertEquals("7 key max 3 L1 columns", 3, params.mNumColumns);
+ assertEquals("7 key max 3 L1 rows", 3, params.mNumRows);
+ assertEquals("7 key max 3 L1 left", 0, params.mLeftKeys);
+ assertEquals("7 key max 3 L1 right", 3, params.mRightKeys);
+ assertEquals("7 key max 3 L1 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 3 L1 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 3 L1 [3]", 2, params.getColumnPos(2));
+ assertEquals("7 key max 3 L1 [4]", 0, params.getColumnPos(3));
+ assertEquals("7 key max 3 L1 [5]", 1, params.getColumnPos(4));
+ assertEquals("7 key max 3 L1 [6]", 2, params.getColumnPos(5));
+ assertEquals("7 key max 3 L1 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key max 3 L1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 3 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
+ }
+
+ // |___ [7]
+ // |___ [6] [4] [5]
+ // |___ [3] <1> [2]
+ public void testLayout7KeyMax3L2() {
+ MoreKeysKeyboardParams params = createParams(7, 3, XPOS_L2);
+ assertEquals("7 key max 3 L2 columns", 3, params.mNumColumns);
+ assertEquals("7 key max 3 L2 rows", 3, params.mNumRows);
+ assertEquals("7 key max 3 L2 left", 1, params.mLeftKeys);
+ assertEquals("7 key max 3 L2 right", 2, params.mRightKeys);
+ assertEquals("7 key max 3 L2 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 3 L2 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 3 L2 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key max 3 L2 [4]", 0, params.getColumnPos(3));
+ assertEquals("7 key max 3 L2 [5]", 1, params.getColumnPos(4));
+ assertEquals("7 key max 3 L2 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key max 3 L2 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key max 3 L2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 3 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
+ // [7]|
+ // [6] [5] [4]|
+ // [3] [2] <1>|
+ public void testLayout7KeyMax3R0() {
+ MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R0);
+ assertEquals("7 key max 3 R0 columns", 3, params.mNumColumns);
+ assertEquals("7 key max 3 R0 rows", 3, params.mNumRows);
+ assertEquals("7 key max 3 R0 left", 2, params.mLeftKeys);
+ assertEquals("7 key max 3 R0 right", 1, params.mRightKeys);
+ assertEquals("7 key max 3 R0 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 3 R0 [2]", -1, params.getColumnPos(1));
+ assertEquals("7 key max 3 R0 [3]", -2, params.getColumnPos(2));
+ assertEquals("7 key max 3 R0 [4]", 0, params.getColumnPos(3));
+ assertEquals("7 key max 3 R0 [5]", -1, params.getColumnPos(4));
+ assertEquals("7 key max 3 R0 [6]", -2, params.getColumnPos(5));
+ assertEquals("7 key max 3 R0 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key max 3 R0 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 3 R0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [7] ___|
+ // [6] [5] [4] ___|
+ // [3] [2] <1> ___|
+ public void testLayout7KeyMax3R1() {
+ MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R1);
+ assertEquals("7 key max 3 R1 columns", 3, params.mNumColumns);
+ assertEquals("7 key max 3 R1 rows", 3, params.mNumRows);
+ assertEquals("7 key max 3 R1 left", 2, params.mLeftKeys);
+ assertEquals("7 key max 3 R1 right", 1, params.mRightKeys);
+ assertEquals("7 key max 3 R1 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 3 R1 [2]", -1, params.getColumnPos(1));
+ assertEquals("7 key max 3 R1 [3]", -2, params.getColumnPos(2));
+ assertEquals("7 key max 3 R1 [4]", 0, params.getColumnPos(3));
+ assertEquals("7 key max 3 R1 [5]", -1, params.getColumnPos(4));
+ assertEquals("7 key max 3 R1 [6]", -2, params.getColumnPos(5));
+ assertEquals("7 key max 3 R1 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key max 3 R1 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 3 R1 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
+
+ // [7] ___|
+ // [6] [4] [5] ___|
+ // [3] <1> [2] ___|
+ public void testLayout7KeyMax3R2() {
+ MoreKeysKeyboardParams params = createParams(7, 3, XPOS_R2);
+ assertEquals("7 key max 3 R2 columns", 3, params.mNumColumns);
+ assertEquals("7 key max 3 R2 rows", 3, params.mNumRows);
+ assertEquals("7 key max 3 R2 left", 1, params.mLeftKeys);
+ assertEquals("7 key max 3 R2 right", 2, params.mRightKeys);
+ assertEquals("7 key max 3 R2 <1>", 0, params.getColumnPos(0));
+ assertEquals("7 key max 3 R2 [2]", 1, params.getColumnPos(1));
+ assertEquals("7 key max 3 R2 [3]", -1, params.getColumnPos(2));
+ assertEquals("7 key max 3 R2 [4]", 0, params.getColumnPos(3));
+ assertEquals("7 key max 3 R2 [5]", 1, params.getColumnPos(4));
+ assertEquals("7 key max 3 R2 [6]", -1, params.getColumnPos(5));
+ assertEquals("7 key max 3 R2 [7]", 0, params.getColumnPos(6));
+ assertEquals("7 key max 3 R2 adjust", 0, params.mTopRowAdjustment);
+ assertEquals("7 key max 3 R2 default", WIDTH * 1, params.getDefaultKeyCoordX());
+ }
+
// [7] [5] [6] [8]
- // [3] [1] [2] [4]
+ // [3] <1> [2] [4]
public void testLayout8KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(8, 5, XPOS_M0);
assertEquals("8 key max 5 M0 columns", 4, params.mNumColumns);
assertEquals("8 key max 5 M0 rows", 2, params.mNumRows);
assertEquals("8 key max 5 M0 left", 1, params.mLeftKeys);
assertEquals("8 key max 5 M0 right", 3, params.mRightKeys);
- assertEquals("8 key max 5 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("8 key max 5 M0 <1>", 0, params.getColumnPos(0));
assertEquals("8 key max 5 M0 [2]", 1, params.getColumnPos(1));
assertEquals("8 key max 5 M0 [3]", -1, params.getColumnPos(2));
assertEquals("8 key max 5 M0 [4]", 2, params.getColumnPos(3));
@@ -1118,14 +1839,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// |[5] [6] [7] [8]
- // |[1] [2] [3] [4]
+ // |<1> [2] [3] [4]
public void testLayout8KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L0);
assertEquals("8 key max 5 L0 columns", 4, params.mNumColumns);
assertEquals("8 key max 5 L0 rows", 2, params.mNumRows);
assertEquals("8 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("8 key max 5 L0 right", 4, params.mRightKeys);
- assertEquals("8 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("8 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("8 key max 5 L0 [2]", 1, params.getColumnPos(1));
assertEquals("8 key max 5 L0 [3]", 2, params.getColumnPos(2));
assertEquals("8 key max 5 L0 [4]", 3, params.getColumnPos(3));
@@ -1138,14 +1859,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// |___ [5] [6] [7] [8]
- // |___ [1] [2] [3] [4]
+ // |___ <1> [2] [3] [4]
public void testLayout8KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L1);
assertEquals("8 key max 5 L1 columns", 4, params.mNumColumns);
assertEquals("8 key max 5 L1 rows", 2, params.mNumRows);
assertEquals("8 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("8 key max 5 L1 right", 4, params.mRightKeys);
- assertEquals("8 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("8 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("8 key max 5 L1 [2]", 1, params.getColumnPos(1));
assertEquals("8 key max 5 L1 [3]", 2, params.getColumnPos(2));
assertEquals("8 key max 5 L1 [4]", 3, params.getColumnPos(3));
@@ -1158,14 +1879,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// |___ [7] [5] [6] [8]
- // |___ [3] [1] [2] [4]
+ // |___ [3] <1> [2] [4]
public void testLayout8KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(8, 5, XPOS_L2);
assertEquals("8 key max 5 L2 columns", 4, params.mNumColumns);
assertEquals("8 key max 5 L2 rows", 2, params.mNumRows);
assertEquals("8 key max 5 L2 left", 1, params.mLeftKeys);
assertEquals("8 key max 5 L2 right", 3, params.mRightKeys);
- assertEquals("8 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("8 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("8 key max 5 L2 [2]", 1, params.getColumnPos(1));
assertEquals("8 key max 5 L2 [3]", -1, params.getColumnPos(2));
assertEquals("8 key max 5 L2 [4]", 2, params.getColumnPos(3));
@@ -1178,14 +1899,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [8] [7] [6] [5]|
- // [4] [3] [2] [1]|
+ // [4] [3] [2] <1>|
public void testLayout8KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R0);
assertEquals("8 key max 5 R0 columns", 4, params.mNumColumns);
assertEquals("8 key max 5 R0 rows", 2, params.mNumRows);
assertEquals("8 key max 5 R0 left", 3, params.mLeftKeys);
assertEquals("8 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("8 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("8 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("8 key max 5 R0 [2]", -1, params.getColumnPos(1));
assertEquals("8 key max 5 R0 [3]", -2, params.getColumnPos(2));
assertEquals("8 key max 5 R0 [4]", -3, params.getColumnPos(3));
@@ -1198,14 +1919,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [8] [7] [6] [5] ___|
- // [4] [3] [2] [1] ___|
+ // [4] [3] [2] <1> ___|
public void testLayout8KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R1);
assertEquals("8 key max 5 R1 columns", 4, params.mNumColumns);
assertEquals("8 key max 5 R1 rows", 2, params.mNumRows);
assertEquals("8 key max 5 R1 left", 3, params.mLeftKeys);
assertEquals("8 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("8 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("8 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("8 key max 5 R1 [2]", -1, params.getColumnPos(1));
assertEquals("8 key max 5 R1 [3]", -2, params.getColumnPos(2));
assertEquals("8 key max 5 R1 [4]", -3, params.getColumnPos(3));
@@ -1218,14 +1939,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [8] [7] [5] [6] ___|
- // [4] [3] [1] [2] ___|
+ // [4] [3] <1> [2] ___|
public void testLayout8KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(8, 5, XPOS_R2);
assertEquals("8 key max 5 R2 columns", 4, params.mNumColumns);
assertEquals("8 key max 5 R2 rows", 2, params.mNumRows);
assertEquals("8 key max 5 R2 left", 2, params.mLeftKeys);
assertEquals("8 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("8 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("8 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("8 key max 5 R2 [2]", 1, params.getColumnPos(1));
assertEquals("8 key max 5 R2 [3]", -1, params.getColumnPos(2));
assertEquals("8 key max 5 R2 [4]", -2, params.getColumnPos(3));
@@ -1238,14 +1959,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [8] [6] [7] [9]
- // [5] [3] [1] [2] [4]
+ // [5] [3] <1> [2] [4]
public void testLayout9KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(9, 5, XPOS_M0);
assertEquals("9 key max 5 M0 columns", 5, params.mNumColumns);
assertEquals("9 key max 5 M0 rows", 2, params.mNumRows);
assertEquals("9 key max 5 M0 left", 2, params.mLeftKeys);
assertEquals("9 key max 5 M0 right", 3, params.mRightKeys);
- assertEquals("9 key max 5 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("9 key max 5 M0 <1>", 0, params.getColumnPos(0));
assertEquals("9 key max 5 M0 [2]", 1, params.getColumnPos(1));
assertEquals("9 key max 5 M0 [3]", -1, params.getColumnPos(2));
assertEquals("9 key max 5 M0 [4]", 2, params.getColumnPos(3));
@@ -1258,15 +1979,15 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("9 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
}
- // | [6] [7] [8] [9]
- // |[1] [2] [3] [4] [5]
+ // |[6] [7] [8] [9]
+ // |<1> [2] [3] [4] [5]
public void testLayout9KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L0);
assertEquals("9 key max 5 L0 columns", 5, params.mNumColumns);
assertEquals("9 key max 5 L0 rows", 2, params.mNumRows);
assertEquals("9 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("9 key max 5 L0 right", 5, params.mRightKeys);
- assertEquals("9 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("9 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("9 key max 5 L0 [2]", 1, params.getColumnPos(1));
assertEquals("9 key max 5 L0 [3]", 2, params.getColumnPos(2));
assertEquals("9 key max 5 L0 [4]", 3, params.getColumnPos(3));
@@ -1275,19 +1996,19 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("9 key max 5 L0 [7]", 1, params.getColumnPos(6));
assertEquals("9 key max 5 L0 [8]", 2, params.getColumnPos(7));
assertEquals("9 key max 5 L0 [9]", 3, params.getColumnPos(8));
- assertEquals("9 key max 5 L0 adjust", 1, params.mTopRowAdjustment);
+ assertEquals("9 key max 5 L0 adjust", 0, params.mTopRowAdjustment);
assertEquals("9 key max 5 L0 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [6] [7] [8] [9]
- // |___ [1] [2] [3] [4] [5]
+ // |___ [6] [7] [8] [9]
+ // |___ <1> [2] [3] [4] [5]
public void testLayout9KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L1);
assertEquals("9 key max 5 L1 columns", 5, params.mNumColumns);
assertEquals("9 key max 5 L1 rows", 2, params.mNumRows);
assertEquals("9 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("9 key max 5 L1 right", 5, params.mRightKeys);
- assertEquals("9 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("9 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("9 key max 5 L1 [2]", 1, params.getColumnPos(1));
assertEquals("9 key max 5 L1 [3]", 2, params.getColumnPos(2));
assertEquals("9 key max 5 L1 [4]", 3, params.getColumnPos(3));
@@ -1296,40 +2017,40 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("9 key max 5 L1 [7]", 1, params.getColumnPos(6));
assertEquals("9 key max 5 L1 [8]", 2, params.getColumnPos(7));
assertEquals("9 key max 5 L1 [9]", 3, params.getColumnPos(8));
- assertEquals("9 key max 5 L1 adjust",1, params.mTopRowAdjustment);
+ assertEquals("9 key max 5 L1 adjust",0, params.mTopRowAdjustment);
assertEquals("9 key max 5 L1 default", WIDTH * 0, params.getDefaultKeyCoordX());
}
- // |___ [8] [6] [7] [9]
- // |___ [3] [1] [2] [4] [5]
+ // |___ [6] [7] [8] [9]
+ // |___ [3] <1> [2] [4] [5]
public void testLayout9KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(9, 5, XPOS_L2);
assertEquals("9 key max 5 L2 columns", 5, params.mNumColumns);
assertEquals("9 key max 5 L2 rows", 2, params.mNumRows);
assertEquals("9 key max 5 L2 left", 1, params.mLeftKeys);
assertEquals("9 key max 5 L2 right", 4, params.mRightKeys);
- assertEquals("9 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("9 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("9 key max 5 L2 [2]", 1, params.getColumnPos(1));
assertEquals("9 key max 5 L2 [3]", -1, params.getColumnPos(2));
assertEquals("9 key max 5 L2 [4]", 2, params.getColumnPos(3));
assertEquals("9 key max 5 L2 [5]", 3, params.getColumnPos(4));
assertEquals("9 key max 5 L2 [6]", 0, params.getColumnPos(5));
assertEquals("9 key max 5 L2 [7]", 1, params.getColumnPos(6));
- assertEquals("9 key max 5 L2 [8]", -1, params.getColumnPos(7));
- assertEquals("9 key max 5 L2 [9]", 2, params.getColumnPos(8));
- assertEquals("9 key max 5 L2 adjust", 1, params.mTopRowAdjustment);
+ assertEquals("9 key max 5 L2 [8]", 2, params.getColumnPos(7));
+ assertEquals("9 key max 5 L2 [9]", 3, params.getColumnPos(8));
+ assertEquals("9 key max 5 L2 adjust", -1, params.mTopRowAdjustment);
assertEquals("9 key max 5 L2 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
- // [9] [8] [7] [6] |
- // [5] [4] [3] [2] [1]|
+ // [9] [8] [7] [6]|
+ // [5] [4] [3] [2] <1>|
public void testLayout9KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R0);
assertEquals("9 key max 5 R0 columns", 5, params.mNumColumns);
assertEquals("9 key max 5 R0 rows", 2, params.mNumRows);
assertEquals("9 key max 5 R0 left", 4, params.mLeftKeys);
assertEquals("9 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("9 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("9 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("9 key max 5 R0 [2]", -1, params.getColumnPos(1));
assertEquals("9 key max 5 R0 [3]", -2, params.getColumnPos(2));
assertEquals("9 key max 5 R0 [4]", -3, params.getColumnPos(3));
@@ -1338,19 +2059,19 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("9 key max 5 R0 [7]", -1, params.getColumnPos(6));
assertEquals("9 key max 5 R0 [8]", -2, params.getColumnPos(7));
assertEquals("9 key max 5 R0 [9]", -3, params.getColumnPos(8));
- assertEquals("9 key max 5 R0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("9 key max 5 R0 adjust", 0, params.mTopRowAdjustment);
assertEquals("9 key max 5 R0 default", WIDTH * 4, params.getDefaultKeyCoordX());
}
- // [9] [8] [7] [6] ___|
- // [5] [4] [3] [2] [1] ___|
+ // [9] [8] [7] [6] ___|
+ // [5] [4] [3] [2] <1> ___|
public void testLayout9KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R1);
assertEquals("9 key max 5 R1 columns", 5, params.mNumColumns);
assertEquals("9 key max 5 R1 rows", 2, params.mNumRows);
assertEquals("9 key max 5 R1 left", 4, params.mLeftKeys);
assertEquals("9 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("9 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("9 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("9 key max 5 R1 [2]", -1, params.getColumnPos(1));
assertEquals("9 key max 5 R1 [3]", -2, params.getColumnPos(2));
assertEquals("9 key max 5 R1 [4]", -3, params.getColumnPos(3));
@@ -1359,19 +2080,19 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("9 key max 5 R1 [7]", -1, params.getColumnPos(6));
assertEquals("9 key max 5 R1 [8]", -2, params.getColumnPos(7));
assertEquals("9 key max 5 R1 [9]", -3, params.getColumnPos(8));
- assertEquals("9 key max 5 R1 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("9 key max 5 R1 adjust", 0, params.mTopRowAdjustment);
assertEquals("9 key max 5 R1 default", WIDTH * 4, params.getDefaultKeyCoordX());
}
// [9] [8] [6] [7] ___|
- // [5] [4] [3] [1] [2] ___|
+ // [5] [4] [3] <1> [2] ___|
public void testLayout9KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(9, 5, XPOS_R2);
assertEquals("9 key max 5 R2 columns", 5, params.mNumColumns);
assertEquals("9 key max 5 R2 rows", 2, params.mNumRows);
assertEquals("9 key max 5 R2 left", 3, params.mLeftKeys);
assertEquals("9 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("9 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("9 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("9 key max 5 R2 [2]", 1, params.getColumnPos(1));
assertEquals("9 key max 5 R2 [3]", -1, params.getColumnPos(2));
assertEquals("9 key max 5 R2 [4]", -2, params.getColumnPos(3));
@@ -1385,14 +2106,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [A] [8] [6] [7] [9]
- // [5] [3] [1] [2] [4]
+ // [5] [3] <1> [2] [4]
public void testLayout10KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(10, 5, XPOS_M0);
assertEquals("10 key max 5 M0 columns", 5, params.mNumColumns);
assertEquals("10 key max 5 M0 rows", 2, params.mNumRows);
assertEquals("10 key max 5 M0 left", 2, params.mLeftKeys);
assertEquals("10 key max 5 M0 right", 3, params.mRightKeys);
- assertEquals("10 key max 5 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("10 key max 5 M0 <1>", 0, params.getColumnPos(0));
assertEquals("10 key max 5 M0 [2]", 1, params.getColumnPos(1));
assertEquals("10 key max 5 M0 [3]", -1, params.getColumnPos(2));
assertEquals("10 key max 5 M0 [4]", 2, params.getColumnPos(3));
@@ -1407,14 +2128,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// |[6] [7] [8] [9] [A]
- // |[1] [2] [3] [4] [5]
+ // |<1> [2] [3] [4] [5]
public void testLayout10KeyMax5L0() {
MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L0);
assertEquals("10 key max 5 L0 columns", 5, params.mNumColumns);
assertEquals("10 key max 5 L0 rows", 2, params.mNumRows);
assertEquals("10 key max 5 L0 left", 0, params.mLeftKeys);
assertEquals("10 key max 5 L0 right", 5, params.mRightKeys);
- assertEquals("10 key max 5 L0 [1]", 0, params.getColumnPos(0));
+ assertEquals("10 key max 5 L0 <1>", 0, params.getColumnPos(0));
assertEquals("10 key max 5 L0 [2]", 1, params.getColumnPos(1));
assertEquals("10 key max 5 L0 [3]", 2, params.getColumnPos(2));
assertEquals("10 key max 5 L0 [4]", 3, params.getColumnPos(3));
@@ -1429,14 +2150,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// |___ [6] [7] [8] [9] [A]
- // |___ [1] [2] [3] [4] [5]
+ // |___ <1> [2] [3] [4] [5]
public void testLayout10KeyMax5L1() {
MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L1);
assertEquals("10 key max 5 L1 columns", 5, params.mNumColumns);
assertEquals("10 key max 5 L1 rows", 2, params.mNumRows);
assertEquals("10 key max 5 L1 left", 0, params.mLeftKeys);
assertEquals("10 key max 5 L1 right", 5, params.mRightKeys);
- assertEquals("10 key max 5 L1 [1]", 0, params.getColumnPos(0));
+ assertEquals("10 key max 5 L1 <1>", 0, params.getColumnPos(0));
assertEquals("10 key max 5 L1 [2]", 1, params.getColumnPos(1));
assertEquals("10 key max 5 L1 [3]", 2, params.getColumnPos(2));
assertEquals("10 key max 5 L1 [4]", 3, params.getColumnPos(3));
@@ -1451,14 +2172,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// |___ [8] [6] [7] [9] [A]
- // |___ [3] [1] [2] [4] [5]
+ // |___ [3] <1> [2] [4] [5]
public void testLayout10KeyMax5L2() {
MoreKeysKeyboardParams params = createParams(10, 5, XPOS_L2);
assertEquals("10 key max 5 L2 columns", 5, params.mNumColumns);
assertEquals("10 key max 5 L2 rows", 2, params.mNumRows);
assertEquals("10 key max 5 L2 left", 1, params.mLeftKeys);
assertEquals("10 key max 5 L2 right", 4, params.mRightKeys);
- assertEquals("10 key max 5 L2 [1]", 0, params.getColumnPos(0));
+ assertEquals("10 key max 5 L2 <1>", 0, params.getColumnPos(0));
assertEquals("10 key max 5 L2 [2]", 1, params.getColumnPos(1));
assertEquals("10 key max 5 L2 [3]", -1, params.getColumnPos(2));
assertEquals("10 key max 5 L2 [4]", 2, params.getColumnPos(3));
@@ -1473,14 +2194,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [A] [9] [8] [7] [6]|
- // [5] [4] [3] [2] [1]|
+ // [5] [4] [3] [2] <1>|
public void testLayout10KeyMax5R0() {
MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R0);
assertEquals("10 key max 5 R0 columns", 5, params.mNumColumns);
assertEquals("10 key max 5 R0 rows", 2, params.mNumRows);
assertEquals("10 key max 5 R0 left", 4, params.mLeftKeys);
assertEquals("10 key max 5 R0 right", 1, params.mRightKeys);
- assertEquals("10 key max 5 R0 [1]", 0, params.getColumnPos(0));
+ assertEquals("10 key max 5 R0 <1>", 0, params.getColumnPos(0));
assertEquals("10 key max 5 R0 [2]", -1, params.getColumnPos(1));
assertEquals("10 key max 5 R0 [3]", -2, params.getColumnPos(2));
assertEquals("10 key max 5 R0 [4]", -3, params.getColumnPos(3));
@@ -1495,14 +2216,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [A] [9] [8] [7] [6] ___|
- // [5] [4] [3] [2] [1] ___|
+ // [5] [4] [3] [2] <1> ___|
public void testLayout10KeyMax5R1() {
MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R1);
assertEquals("10 key max 5 R1 columns", 5, params.mNumColumns);
assertEquals("10 key max 5 R1 rows", 2, params.mNumRows);
assertEquals("10 key max 5 R1 left", 4, params.mLeftKeys);
assertEquals("10 key max 5 R1 right", 1, params.mRightKeys);
- assertEquals("10 key max 5 R1 [1]", 0, params.getColumnPos(0));
+ assertEquals("10 key max 5 R1 <1>", 0, params.getColumnPos(0));
assertEquals("10 key max 5 R1 [2]", -1, params.getColumnPos(1));
assertEquals("10 key max 5 R1 [3]", -2, params.getColumnPos(2));
assertEquals("10 key max 5 R1 [4]", -3, params.getColumnPos(3));
@@ -1517,14 +2238,14 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
}
// [A] [9] [8] [6] [7] ___|
- // [5] [4] [3] [1] [2] ___|
+ // [5] [4] [3] <1> [2] ___|
public void testLayout10KeyMax5R2() {
MoreKeysKeyboardParams params = createParams(10, 5, XPOS_R2);
assertEquals("10 key max 5 R2 columns", 5, params.mNumColumns);
assertEquals("10 key max 5 R2 rows", 2, params.mNumRows);
assertEquals("10 key max 5 R2 left", 3, params.mLeftKeys);
assertEquals("10 key max 5 R2 right", 2, params.mRightKeys);
- assertEquals("10 key max 5 R2 [1]", 0, params.getColumnPos(0));
+ assertEquals("10 key max 5 R2 <1>", 0, params.getColumnPos(0));
assertEquals("10 key max 5 R2 [2]", 1, params.getColumnPos(1));
assertEquals("10 key max 5 R2 [3]", -1, params.getColumnPos(2));
assertEquals("10 key max 5 R2 [4]", -2, params.getColumnPos(3));
@@ -1538,16 +2259,16 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("10 key max 5 R2 default", WIDTH * 3, params.getDefaultKeyCoordX());
}
- // [B] [9] [A]
+ // [9] [A] [B]
// [7] [5] [6] [8]
- // [3] [1] [2] [4]
+ // [3] <1> [2] [4]
public void testLayout11KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(11, 5, XPOS_M0);
assertEquals("11 key max 5 M0 columns", 4, params.mNumColumns);
assertEquals("11 key max 5 M0 rows", 3, params.mNumRows);
assertEquals("11 key max 5 M0 left", 1, params.mLeftKeys);
assertEquals("11 key max 5 M0 right", 3, params.mRightKeys);
- assertEquals("11 key max 5 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("11 key max 5 M0 <1>", 0, params.getColumnPos(0));
assertEquals("11 key max 5 M0 [2]", 1, params.getColumnPos(1));
assertEquals("11 key max 5 M0 [3]", -1, params.getColumnPos(2));
assertEquals("11 key max 5 M0 [4]", 2, params.getColumnPos(3));
@@ -1557,21 +2278,21 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("11 key max 5 M0 [8]", 2, params.getColumnPos(7));
assertEquals("11 key max 5 M0 [9]", 0, params.getColumnPos(8));
assertEquals("11 key max 5 M0 [A]", 1, params.getColumnPos(9));
- assertEquals("11 key max 5 M0 [B]", -1, params.getColumnPos(10));
- assertEquals("11 key max 5 M0 adjust", 1, params.mTopRowAdjustment);
+ assertEquals("11 key max 5 M0 [B]", 2, params.getColumnPos(10));
+ assertEquals("11 key max 5 M0 adjust", -1, params.mTopRowAdjustment);
assertEquals("11 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
// [B] [9] [A] [C]
// [7] [5] [6] [8]
- // [3] [1] [2] [4]
+ // [3] <1> [2] [4]
public void testLayout12KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(12, 5, XPOS_M0);
assertEquals("12 key max 5 M0 columns", 4, params.mNumColumns);
assertEquals("12 key max 5 M0 rows", 3, params.mNumRows);
assertEquals("12 key max 5 M0 left", 1, params.mLeftKeys);
assertEquals("12 key max 5 M0 right", 3, params.mRightKeys);
- assertEquals("12 key max 5 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("12 key max 5 M0 <1>", 0, params.getColumnPos(0));
assertEquals("12 key max 5 M0 [2]", 1, params.getColumnPos(1));
assertEquals("12 key max 5 M0 [3]", -1, params.getColumnPos(2));
assertEquals("12 key max 5 M0 [4]", 2, params.getColumnPos(3));
@@ -1587,17 +2308,16 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("12 key max 5 M0 default", WIDTH * 1, params.getDefaultKeyCoordX());
}
-
// [D] [B] [C]
// [A] [8] [6] [7] [9]
- // [5] [3] [1] [2] [4]
+ // [5] [3] <1> [2] [4]
public void testLayout13KeyMax5M0() {
MoreKeysKeyboardParams params = createParams(13, 5, XPOS_M0);
assertEquals("13 key max 5 M0 columns", 5, params.mNumColumns);
assertEquals("13 key max 5 M0 rows", 3, params.mNumRows);
assertEquals("13 key max 5 M0 left", 2, params.mLeftKeys);
assertEquals("13 key max 5 M0 right", 3, params.mRightKeys);
- assertEquals("13 key max 5 M0 [1]", 0, params.getColumnPos(0));
+ assertEquals("13 key max 5 M0 <1>", 0, params.getColumnPos(0));
assertEquals("13 key max 5 M0 [2]", 1, params.getColumnPos(1));
assertEquals("13 key max 5 M0 [3]", -1, params.getColumnPos(2));
assertEquals("13 key max 5 M0 [4]", 2, params.getColumnPos(3));
@@ -1613,4 +2333,31 @@ public class MoreKeysKeyboardBuilderTests extends AndroidTestCase {
assertEquals("13 key max 5 M0 adjust", 0, params.mTopRowAdjustment);
assertEquals("13 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
}
+
+ // [D] [B] [C] [E]
+ // [A] [8] [6] [7] [9]
+ // [5] [3] <1> [2] [4]
+ public void testLayout14KeyMax5M0() {
+ MoreKeysKeyboardParams params = createParams(14, 5, XPOS_M0);
+ assertEquals("13 key max 5 M0 columns", 5, params.mNumColumns);
+ assertEquals("13 key max 5 M0 rows", 3, params.mNumRows);
+ assertEquals("13 key max 5 M0 left", 2, params.mLeftKeys);
+ assertEquals("13 key max 5 M0 right", 3, params.mRightKeys);
+ assertEquals("13 key max 5 M0 <1>", 0, params.getColumnPos(0));
+ assertEquals("13 key max 5 M0 [2]", 1, params.getColumnPos(1));
+ assertEquals("13 key max 5 M0 [3]", -1, params.getColumnPos(2));
+ assertEquals("13 key max 5 M0 [4]", 2, params.getColumnPos(3));
+ assertEquals("13 key max 5 M0 [5]", -2, params.getColumnPos(4));
+ assertEquals("13 key max 5 M0 [6]", 0, params.getColumnPos(5));
+ assertEquals("13 key max 5 M0 [7]", 1, params.getColumnPos(6));
+ assertEquals("13 key max 5 M0 [8]", -1, params.getColumnPos(7));
+ assertEquals("13 key max 5 M0 [9]", 2, params.getColumnPos(8));
+ assertEquals("13 key max 5 M0 [A]", -2, params.getColumnPos(9));
+ assertEquals("13 key max 5 M0 [B]", 0, params.getColumnPos(10));
+ assertEquals("13 key max 5 M0 [C]", 1, params.getColumnPos(11));
+ assertEquals("13 key max 5 M0 [D]", -1, params.getColumnPos(12));
+ assertEquals("13 key max 5 M0 [E]", 2, params.getColumnPos(13));
+ assertEquals("13 key max 5 M0 adjust", -1, params.mTopRowAdjustment);
+ assertEquals("13 key max 5 M0 default", WIDTH * 2, params.getDefaultKeyCoordX());
+ }
}
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTests.java
index 07f5848b2..3fc2b021a 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTests.java
@@ -280,6 +280,34 @@ public class KeySpecParserTests extends AndroidTestCase {
}
}
+ public void testEmptyEntry() {
+ assertMoreKeys("null more keys and null additons",
+ null,
+ null,
+ null);
+ assertMoreKeys("null more keys and empty additons",
+ null,
+ new String[0],
+ null);
+ assertMoreKeys("empty more keys and null additons",
+ new String[0],
+ null,
+ null);
+ assertMoreKeys("empty more keys and empty additons",
+ new String[0],
+ new String[0],
+ null);
+
+ assertMoreKeys("filter out empty more keys",
+ new String[] { null, "a", "", "b", null },
+ null,
+ new String[] { "a", "b" });
+ assertMoreKeys("filter out empty additons",
+ new String[] { "a", "%", "b", "%", "c", "%", "d" },
+ new String[] { null, "A", "", "B", null },
+ new String[] { "a", "A", "b", "B", "c", "d" });
+ }
+
public void testInsertAdditionalMoreKeys() {
// Escaped marker.
assertMoreKeys("escaped marker",
@@ -289,11 +317,11 @@ public class KeySpecParserTests extends AndroidTestCase {
// 0 more key.
assertMoreKeys("null & null", null, null, null);
- assertMoreKeys("null & 1 additional",
+ assertMoreKeys("null & 1 additon",
null,
new String[] { "1" },
new String[] { "1" });
- assertMoreKeys("null & 2 additionals",
+ assertMoreKeys("null & 2 additons",
null,
new String[] { "1", "2" },
new String[] { "1", "2" });
@@ -327,29 +355,29 @@ public class KeySpecParserTests extends AndroidTestCase {
new String[] { "1", "2", "A", "B" });
// 1 marker.
- assertMoreKeys("1 more key & 1 additional & marker at head",
+ assertMoreKeys("1 more key & 1 additon & marker at head",
new String[] { "%", "A" },
new String[] { "1" },
new String[] { "1", "A" });
- assertMoreKeys("1 more key & 1 additional & marker at tail",
+ assertMoreKeys("1 more key & 1 additon & marker at tail",
new String[] { "A", "%" },
new String[] { "1" },
new String[] { "A", "1" });
- assertMoreKeys("2 more keys & 1 additional & marker at middle",
+ assertMoreKeys("2 more keys & 1 additon & marker at middle",
new String[] { "A", "%", "B" },
new String[] { "1" },
new String[] { "A", "1", "B" });
// 1 marker & excess additional more keys.
- assertMoreKeys("1 more key & 2 additionals & marker at head",
+ assertMoreKeys("1 more key & 2 additons & marker at head",
new String[] { "%", "A", "B" },
new String[] { "1", "2" },
new String[] { "1", "A", "B", "2" });
- assertMoreKeys("1 more key & 2 additionals & marker at tail",
+ assertMoreKeys("1 more key & 2 additons & marker at tail",
new String[] { "A", "B", "%" },
new String[] { "1", "2" },
new String[] { "A", "B", "1", "2" });
- assertMoreKeys("2 more keys & 2 additionals & marker at middle",
+ assertMoreKeys("2 more keys & 2 additons & marker at middle",
new String[] { "A", "%", "B" },
new String[] { "1", "2" },
new String[] { "A", "1", "B", "2" });
@@ -384,32 +412,32 @@ public class KeySpecParserTests extends AndroidTestCase {
new String[] { "1", "2" },
new String[] { "A", "1", "B", "2" });
- // 2 markers & excess additional keys.
- assertMoreKeys("0 more key & 2 addtional & 2 markers",
+ // 2 markers & excess additional more keys.
+ assertMoreKeys("0 more key & 2 additons & 2 markers",
new String[] { "%", "%" },
new String[] { "1", "2", "3" },
new String[] { "1", "2", "3" });
- assertMoreKeys("1 more key & 2 addtional & 2 markers at head",
+ assertMoreKeys("1 more key & 2 additons & 2 markers at head",
new String[] { "%", "%", "A" },
new String[] { "1", "2", "3" },
new String[] { "1", "2", "A", "3" });
- assertMoreKeys("1 more key & 2 addtional & 2 markers at tail",
+ assertMoreKeys("1 more key & 2 additons & 2 markers at tail",
new String[] { "A", "%", "%" },
new String[] { "1", "2", "3" },
new String[] { "A", "1", "2", "3" });
- assertMoreKeys("2 more keys & 2 addtional & 2 markers at middle",
+ assertMoreKeys("2 more keys & 2 additons & 2 markers at middle",
new String[] { "A", "%", "%", "B" },
new String[] { "1", "2", "3" },
new String[] { "A", "1", "2", "B", "3" });
- assertMoreKeys("2 more keys & 2 addtional & 2 markers at head & middle",
+ assertMoreKeys("2 more keys & 2 additons & 2 markers at head & middle",
new String[] { "%", "A", "%", "B" },
new String[] { "1", "2", "3" },
new String[] { "1", "A", "2", "B", "3" });
- assertMoreKeys("2 more keys & 2 addtional & 2 markers at head & tail",
+ assertMoreKeys("2 more keys & 2 additons & 2 markers at head & tail",
new String[] { "%", "A", "B", "%" },
new String[] { "1", "2", "3" },
new String[] { "1", "A", "B", "2", "3" });
- assertMoreKeys("2 more keys & 2 addtional & 2 markers at middle & tail",
+ assertMoreKeys("2 more keys & 2 additons & 2 markers at middle & tail",
new String[] { "A", "%", "B", "%" },
new String[] { "1", "2", "3" },
new String[] { "A", "1", "B", "2", "3" });
@@ -437,31 +465,31 @@ public class KeySpecParserTests extends AndroidTestCase {
new String[] { "A", "B" });
// Excess markers.
- assertMoreKeys("0 more key & 1 addtional & excess marker",
+ assertMoreKeys("0 more key & 1 additon & excess marker",
new String[] { "%", "%" },
new String[] { "1" },
new String[] { "1" });
- assertMoreKeys("1 more key & 1 addtional & excess marker at head",
+ assertMoreKeys("1 more key & 1 additon & excess marker at head",
new String[] { "%", "%", "A" },
new String[] { "1" },
new String[] { "1", "A" });
- assertMoreKeys("1 more key & 1 addtional & excess marker at tail",
+ assertMoreKeys("1 more key & 1 additon & excess marker at tail",
new String[] { "A", "%", "%" },
new String[] { "1" },
new String[] { "A", "1" });
- assertMoreKeys("2 more keys & 1 addtional & excess marker at middle",
+ assertMoreKeys("2 more keys & 1 additon & excess marker at middle",
new String[] { "A", "%", "%", "B" },
new String[] { "1" },
new String[] { "A", "1", "B" });
- assertMoreKeys("2 more keys & 1 addtional & excess markers",
+ assertMoreKeys("2 more keys & 1 additon & excess markers",
new String[] { "%", "A", "%", "B", "%" },
new String[] { "1" },
new String[] { "1", "A", "B" });
- assertMoreKeys("2 more keys & 2 addtionals & excess markers",
+ assertMoreKeys("2 more keys & 2 additons & excess markers",
new String[] { "%", "A", "%", "B", "%" },
new String[] { "1", "2" },
new String[] { "1", "A", "2", "B" });
- assertMoreKeys("2 more keys & 3 addtionals & excess markers",
+ assertMoreKeys("2 more keys & 3 additons & excess markers",
new String[] { "%", "A", "%", "%", "B", "%" },
new String[] { "1", "2", "3" },
new String[] { "1", "A", "2", "3", "B" });