public void testReverse() {
testReverse(new long[]{}, new long[]{});
testReverse(new long[]{4, 4, 1, 2, 2, 2, 3, 3, 3, 3}, new long[]{3, 3, 3, 3, 2, 2, 2, 1, 4, 4});
testReverse(new long[]{4, 4, 1, 2, 2, 2, 0, 0, 0, 0}, new long[]{0, 0, 0, 0, 2, 2, 2, 1, 4, 4});
testReverse(new long[]{2, 4, 4, 5, 5, 5, 7, 7, 7, 7}, new long[]{7, 7, 7, 7, 5, 5, 5, 4, 4, 2});
testReverse(new long[]{2, 2, 3, 3, 3}, new long[]{3, 3, 3, 2, 2});
testReverse(new long[]{1, 1, 1}, new long[]{1, 1, 1});
testReverse(new long[]{1, 1, 0}, new long[]{0, 1, 1});
testReverse(new long[]{0}, new long[]{0});
testReverse(new long[]{0, 1, 3, 6, 10, 15, 21, 28, 36}, new long[]{36, 28, 21, 15, 10, 6, 3, 1, 0});
testReverse(new long[]{0, 1, 3, 6, 10, 15, 21, 28, 36}, new long[]{36, 28, 21, 15, 10, 6, 3, 1, 0});
testReverse(new long[]{0, 0, 1, 2, 2, 2, 3, 3, 3, 3}, new long[]{3, 3, 3, 3, 2, 2, 2, 1, 0, 0});
testReverse(new long[]{0, 0, 1, 2, 2, 2, 0, 0, 0, 0}, new long[]{0, 0, 0, 0, 2, 2, 2, 1, 0, 0});
testReverse(new long[]{0, 0, 0}, new long[]{0, 0, 0});
testReverse(new long[]{0, 0, 0, 1, 1}, new long[]{1, 1, 0, 0, 0});
testReverse(new long[]{0, 0, 0, 0, 1, 1, 0}, new long[]{0, 1, 1, 0, 0, 0, 0});
for (WritableLongList list:
createWritableLongLists(generateRandomLongArray(20, SORTED_UNIQUE, 200).toNativeArray())) {
list.reverse();
for (int i = 1; i < list.size(); i++) {
assertFalse(list.get(i - 1) <= list.get(i));
}
}
}