aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/inputmethod/latin/InputPointersTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/inputmethod/latin/InputPointersTests.java')
-rw-r--r--tests/src/com/android/inputmethod/latin/InputPointersTests.java209
1 files changed, 136 insertions, 73 deletions
diff --git a/tests/src/com/android/inputmethod/latin/InputPointersTests.java b/tests/src/com/android/inputmethod/latin/InputPointersTests.java
index 5095f9606..1a47cddf4 100644
--- a/tests/src/com/android/inputmethod/latin/InputPointersTests.java
+++ b/tests/src/com/android/inputmethod/latin/InputPointersTests.java
@@ -55,14 +55,22 @@ public class InputPointersTests extends AndroidTestCase {
final InputPointers src = new InputPointers(DEFAULT_CAPACITY);
final int limit = src.getXCoordinates().length * 2 + 10;
for (int i = 0; i < limit; i++) {
- src.addPointer(i, i * 2, i * 3, i * 4);
+ final int x = i;
+ final int y = i * 2;
+ final int pointerId = i * 3;
+ final int time = i * 4;
+ src.addPointer(x, y, pointerId, time);
assertEquals("size after add " + i, i + 1, src.getPointerSize());
}
for (int i = 0; i < limit; i++) {
- assertEquals("xCoordinates at " + i, i, src.getXCoordinates()[i]);
- assertEquals("yCoordinates at " + i, i * 2, src.getYCoordinates()[i]);
- assertEquals("pointerIds at " + i, i * 3, src.getPointerIds()[i]);
- assertEquals("times at " + i, i * 4, src.getTimes()[i]);
+ final int x = i;
+ final int y = i * 2;
+ final int pointerId = i * 3;
+ final int time = i * 4;
+ assertEquals("xCoordinates at " + i, x, src.getXCoordinates()[i]);
+ assertEquals("yCoordinates at " + i, y, src.getYCoordinates()[i]);
+ assertEquals("pointerIds at " + i, pointerId, src.getPointerIds()[i]);
+ assertEquals("times at " + i, time, src.getTimes()[i]);
}
}
@@ -70,14 +78,22 @@ public class InputPointersTests extends AndroidTestCase {
final InputPointers src = new InputPointers(DEFAULT_CAPACITY);
final int limit = 1000, step = 100;
for (int i = 0; i < limit; i += step) {
- src.addPointer(i, i, i * 2, i * 3, i * 4);
+ final int x = i;
+ final int y = i * 2;
+ final int pointerId = i * 3;
+ final int time = i * 4;
+ src.addPointerAt(i, x, y, pointerId, time);
assertEquals("size after add at " + i, i + 1, src.getPointerSize());
}
for (int i = 0; i < limit; i += step) {
- assertEquals("xCoordinates at " + i, i, src.getXCoordinates()[i]);
- assertEquals("yCoordinates at " + i, i * 2, src.getYCoordinates()[i]);
- assertEquals("pointerIds at " + i, i * 3, src.getPointerIds()[i]);
- assertEquals("times at " + i, i * 4, src.getTimes()[i]);
+ final int x = i;
+ final int y = i * 2;
+ final int pointerId = i * 3;
+ final int time = i * 4;
+ assertEquals("xCoordinates at " + i, x, src.getXCoordinates()[i]);
+ assertEquals("yCoordinates at " + i, y, src.getYCoordinates()[i]);
+ assertEquals("pointerIds at " + i, pointerId, src.getPointerIds()[i]);
+ assertEquals("times at " + i, time, src.getTimes()[i]);
}
}
@@ -85,7 +101,11 @@ public class InputPointersTests extends AndroidTestCase {
final InputPointers src = new InputPointers(DEFAULT_CAPACITY);
final int limit = src.getXCoordinates().length * 2 + 10;
for (int i = 0; i < limit; i++) {
- src.addPointer(i, i * 2, i * 3, i * 4);
+ final int x = i;
+ final int y = i * 2;
+ final int pointerId = i * 3;
+ final int time = i * 4;
+ src.addPointer(x, y, pointerId, time);
}
final InputPointers dst = new InputPointers(DEFAULT_CAPACITY);
dst.set(src);
@@ -100,7 +120,11 @@ public class InputPointersTests extends AndroidTestCase {
final InputPointers src = new InputPointers(DEFAULT_CAPACITY);
final int limit = 100;
for (int i = 0; i < limit; i++) {
- src.addPointer(i, i * 2, i * 3, i * 4);
+ final int x = i;
+ final int y = i * 2;
+ final int pointerId = i * 3;
+ final int time = i * 4;
+ src.addPointer(x, y, pointerId, time);
}
final InputPointers dst = new InputPointers(DEFAULT_CAPACITY);
dst.copy(src);
@@ -121,106 +145,135 @@ public class InputPointersTests extends AndroidTestCase {
}
public void testAppend() {
- final InputPointers src = new InputPointers(DEFAULT_CAPACITY);
- final int srcLen = 100;
- for (int i = 0; i < srcLen; i++) {
- src.addPointer(i, i * 2, i * 3, i * 4);
- }
- final int dstLen = 50;
+ final int dstLength = 50;
final InputPointers dst = new InputPointers(DEFAULT_CAPACITY);
- for (int i = 0; i < dstLen; i++) {
- final int value = -i - 1;
- dst.addPointer(value * 4, value * 3, value * 2, value);
+ for (int i = 0; i < dstLength; i++) {
+ final int x = i * 4;
+ final int y = i * 3;
+ final int pointerId = i * 2;
+ final int time = i;
+ dst.addPointer(x, y, pointerId, time);
}
final InputPointers dstCopy = new InputPointers(DEFAULT_CAPACITY);
dstCopy.copy(dst);
- dst.append(src, 0, 0);
- assertEquals("size after append zero", dstLen, dst.getPointerSize());
+ final ResizableIntArray srcXCoords = new ResizableIntArray(DEFAULT_CAPACITY);
+ final ResizableIntArray srcYCoords = new ResizableIntArray(DEFAULT_CAPACITY);
+ final ResizableIntArray srcPointerIds = new ResizableIntArray(DEFAULT_CAPACITY);
+ final ResizableIntArray srcTimes = new ResizableIntArray(DEFAULT_CAPACITY);
+ final int srcLength = 100;
+ final int srcPointerId = 10;
+ for (int i = 0; i < srcLength; i++) {
+ final int x = i;
+ final int y = i * 2;
+ // The time value must be larger than <code>dst</code>.
+ final int time = i * 4 + dstLength;
+ srcXCoords.add(x);
+ srcYCoords.add(y);
+ srcPointerIds.add(srcPointerId);
+ srcTimes.add(time);
+ }
+
+ final int startPos = 0;
+ dst.append(srcPointerId, srcTimes, srcXCoords, srcYCoords,
+ startPos, 0 /* length */);
+ assertEquals("size after append zero", dstLength, dst.getPointerSize());
assertIntArrayEquals("xCoordinates after append zero",
- dstCopy.getXCoordinates(), 0, dst.getXCoordinates(), 0, dstLen);
+ dstCopy.getXCoordinates(), startPos, dst.getXCoordinates(), startPos, dstLength);
assertIntArrayEquals("yCoordinates after append zero",
- dstCopy.getYCoordinates(), 0, dst.getYCoordinates(), 0, dstLen);
+ dstCopy.getYCoordinates(), startPos, dst.getYCoordinates(), startPos, dstLength);
assertIntArrayEquals("pointerIds after append zero",
- dstCopy.getPointerIds(), 0, dst.getPointerIds(), 0, dstLen);
+ dstCopy.getPointerIds(), startPos, dst.getPointerIds(), startPos, dstLength);
assertIntArrayEquals("times after append zero",
- dstCopy.getTimes(), 0, dst.getTimes(), 0, dstLen);
+ dstCopy.getTimes(), startPos, dst.getTimes(), startPos, dstLength);
- dst.append(src, 0, srcLen);
- assertEquals("size after append", dstLen + srcLen, dst.getPointerSize());
+ dst.append(srcPointerId, srcTimes, srcXCoords, srcYCoords,
+ startPos, srcLength);
+ assertEquals("size after append", dstLength + srcLength, dst.getPointerSize());
assertTrue("primitive length after append",
- dst.getPointerIds().length >= dstLen + srcLen);
+ dst.getPointerIds().length >= dstLength + srcLength);
assertIntArrayEquals("original xCoordinates values after append",
- dstCopy.getXCoordinates(), 0, dst.getXCoordinates(), 0, dstLen);
+ dstCopy.getXCoordinates(), startPos, dst.getXCoordinates(), startPos, dstLength);
assertIntArrayEquals("original yCoordinates values after append",
- dstCopy.getYCoordinates(), 0, dst.getYCoordinates(), 0, dstLen);
+ dstCopy.getYCoordinates(), startPos, dst.getYCoordinates(), startPos, dstLength);
assertIntArrayEquals("original pointerIds values after append",
- dstCopy.getPointerIds(), 0, dst.getPointerIds(), 0, dstLen);
+ dstCopy.getPointerIds(), startPos, dst.getPointerIds(), startPos, dstLength);
assertIntArrayEquals("original times values after append",
- dstCopy.getTimes(), 0, dst.getTimes(), 0, dstLen);
+ dstCopy.getTimes(), startPos, dst.getTimes(), startPos, dstLength);
assertIntArrayEquals("appended xCoordinates values after append",
- src.getXCoordinates(), 0, dst.getXCoordinates(), dstLen, srcLen);
+ srcXCoords.getPrimitiveArray(), startPos, dst.getXCoordinates(),
+ dstLength, srcLength);
assertIntArrayEquals("appended yCoordinates values after append",
- src.getYCoordinates(), 0, dst.getYCoordinates(), dstLen, srcLen);
+ srcYCoords.getPrimitiveArray(), startPos, dst.getYCoordinates(),
+ dstLength, srcLength);
assertIntArrayEquals("appended pointerIds values after append",
- src.getPointerIds(), 0, dst.getPointerIds(), dstLen, srcLen);
+ srcPointerIds.getPrimitiveArray(), startPos, dst.getPointerIds(),
+ dstLength, srcLength);
assertIntArrayEquals("appended times values after append",
- src.getTimes(), 0, dst.getTimes(), dstLen, srcLen);
+ srcTimes.getPrimitiveArray(), startPos, dst.getTimes(), dstLength, srcLength);
}
public void testAppendResizableIntArray() {
- final int srcLen = 100;
+ final int dstLength = 50;
+ final InputPointers dst = new InputPointers(DEFAULT_CAPACITY);
+ for (int i = 0; i < dstLength; i++) {
+ final int x = i * 4;
+ final int y = i * 3;
+ final int pointerId = i * 2;
+ final int time = i;
+ dst.addPointer(x, y, pointerId, time);
+ }
+ final InputPointers dstCopy = new InputPointers(DEFAULT_CAPACITY);
+ dstCopy.copy(dst);
+
+ final int srcLength = 100;
final int srcPointerId = 1;
- final int[] srcPointerIds = new int[srcLen];
+ final int[] srcPointerIds = new int[srcLength];
Arrays.fill(srcPointerIds, srcPointerId);
final ResizableIntArray srcTimes = new ResizableIntArray(DEFAULT_CAPACITY);
final ResizableIntArray srcXCoords = new ResizableIntArray(DEFAULT_CAPACITY);
final ResizableIntArray srcYCoords= new ResizableIntArray(DEFAULT_CAPACITY);
- for (int i = 0; i < srcLen; i++) {
- srcTimes.add(i * 2);
- srcXCoords.add(i * 3);
- srcYCoords.add(i * 4);
+ for (int i = 0; i < srcLength; i++) {
+ // The time value must be larger than <code>dst</code>.
+ final int time = i * 2 + dstLength;
+ final int x = i * 3;
+ final int y = i * 4;
+ srcTimes.add(time);
+ srcXCoords.add(x);
+ srcYCoords.add(y);
}
- final int dstLen = 50;
- final InputPointers dst = new InputPointers(DEFAULT_CAPACITY);
- for (int i = 0; i < dstLen; i++) {
- final int value = -i - 1;
- dst.addPointer(value * 4, value * 3, value * 2, value);
- }
- final InputPointers dstCopy = new InputPointers(DEFAULT_CAPACITY);
- dstCopy.copy(dst);
dst.append(srcPointerId, srcTimes, srcXCoords, srcYCoords, 0, 0);
- assertEquals("size after append zero", dstLen, dst.getPointerSize());
+ assertEquals("size after append zero", dstLength, dst.getPointerSize());
assertIntArrayEquals("xCoordinates after append zero",
- dstCopy.getXCoordinates(), 0, dst.getXCoordinates(), 0, dstLen);
+ dstCopy.getXCoordinates(), 0, dst.getXCoordinates(), 0, dstLength);
assertIntArrayEquals("yCoordinates after append zero",
- dstCopy.getYCoordinates(), 0, dst.getYCoordinates(), 0, dstLen);
+ dstCopy.getYCoordinates(), 0, dst.getYCoordinates(), 0, dstLength);
assertIntArrayEquals("pointerIds after append zero",
- dstCopy.getPointerIds(), 0, dst.getPointerIds(), 0, dstLen);
+ dstCopy.getPointerIds(), 0, dst.getPointerIds(), 0, dstLength);
assertIntArrayEquals("times after append zero",
- dstCopy.getTimes(), 0, dst.getTimes(), 0, dstLen);
+ dstCopy.getTimes(), 0, dst.getTimes(), 0, dstLength);
- dst.append(srcPointerId, srcTimes, srcXCoords, srcYCoords, 0, srcLen);
- assertEquals("size after append", dstLen + srcLen, dst.getPointerSize());
+ dst.append(srcPointerId, srcTimes, srcXCoords, srcYCoords, 0, srcLength);
+ assertEquals("size after append", dstLength + srcLength, dst.getPointerSize());
assertTrue("primitive length after append",
- dst.getPointerIds().length >= dstLen + srcLen);
+ dst.getPointerIds().length >= dstLength + srcLength);
assertIntArrayEquals("original xCoordinates values after append",
- dstCopy.getXCoordinates(), 0, dst.getXCoordinates(), 0, dstLen);
+ dstCopy.getXCoordinates(), 0, dst.getXCoordinates(), 0, dstLength);
assertIntArrayEquals("original yCoordinates values after append",
- dstCopy.getYCoordinates(), 0, dst.getYCoordinates(), 0, dstLen);
+ dstCopy.getYCoordinates(), 0, dst.getYCoordinates(), 0, dstLength);
assertIntArrayEquals("original pointerIds values after append",
- dstCopy.getPointerIds(), 0, dst.getPointerIds(), 0, dstLen);
+ dstCopy.getPointerIds(), 0, dst.getPointerIds(), 0, dstLength);
assertIntArrayEquals("original times values after append",
- dstCopy.getTimes(), 0, dst.getTimes(), 0, dstLen);
+ dstCopy.getTimes(), 0, dst.getTimes(), 0, dstLength);
assertIntArrayEquals("appended xCoordinates values after append",
- srcXCoords.getPrimitiveArray(), 0, dst.getXCoordinates(), dstLen, srcLen);
+ srcXCoords.getPrimitiveArray(), 0, dst.getXCoordinates(), dstLength, srcLength);
assertIntArrayEquals("appended yCoordinates values after append",
- srcYCoords.getPrimitiveArray(), 0, dst.getYCoordinates(), dstLen, srcLen);
+ srcYCoords.getPrimitiveArray(), 0, dst.getYCoordinates(), dstLength, srcLength);
assertIntArrayEquals("appended pointerIds values after append",
- srcPointerIds, 0, dst.getPointerIds(), dstLen, srcLen);
+ srcPointerIds, 0, dst.getPointerIds(), dstLength, srcLength);
assertIntArrayEquals("appended times values after append",
- srcTimes.getPrimitiveArray(), 0, dst.getTimes(), dstLen, srcLen);
+ srcTimes.getPrimitiveArray(), 0, dst.getTimes(), dstLength, srcLength);
}
// TODO: Consolidate this method with
@@ -250,14 +303,24 @@ public class InputPointersTests extends AndroidTestCase {
final int limit = 100;
final int shiftAmount = 20;
for (int i = 0; i < limit; i++) {
- src.addPointer(i, i * 2, i * 3, i * 4);
+ final int x = i;
+ final int y = i * 2;
+ final int pointerId = i * 3;
+ final int time = i * 4;
+ src.addPointer(x, y, pointerId, time);
}
src.shift(shiftAmount);
+ assertEquals("length after shift", src.getPointerSize(), limit - shiftAmount);
for (int i = 0; i < limit - shiftAmount; ++i) {
- assertEquals("xCoordinates at " + i, i + shiftAmount, src.getXCoordinates()[i]);
- assertEquals("yCoordinates at " + i, (i + shiftAmount) * 2, src.getYCoordinates()[i]);
- assertEquals("pointerIds at " + i, (i + shiftAmount) * 3, src.getPointerIds()[i]);
- assertEquals("times at " + i, (i + shiftAmount) * 4, src.getTimes()[i]);
+ final int oldIndex = i + shiftAmount;
+ final int x = oldIndex;
+ final int y = oldIndex * 2;
+ final int pointerId = oldIndex * 3;
+ final int time = oldIndex * 4;
+ assertEquals("xCoordinates at " + i, x, src.getXCoordinates()[i]);
+ assertEquals("yCoordinates at " + i, y, src.getYCoordinates()[i]);
+ assertEquals("pointerIds at " + i, pointerId, src.getPointerIds()[i]);
+ assertEquals("times at " + i, time, src.getTimes()[i]);
}
}
}