@Test
public void testMultiPivots() {

    // more pivots than low split on first pass
    // multiple pivots, but more low data on second part of recursion
    int[] order = new int[30];
    double[] values = new double[30];
    for (int i = 0; i < 9; i++) {
        values[i] = i + 20 * (i % 2);
    }
    for (int i = 9; i < 20; i++) {
        values[i] = 10;
    }
    for (int i = 20; i < 30; i++) {
        values[i] = i - 20 * (i % 2);
    }
    values[29] = 29;
    values[24] = 25;
    values[26] = 25;
    Sort.sort(order, values);
    checkOrder(order, values);
}