@Test public void testSortWithValues() { long[] ids = new long[] {7, 4, 5, 8, 2, 9}; float[] valuef = new float[] {7.0f, 4.0f, 5.0f, 8.0f, 2.0f, 9.0f}; byte[] valuedat = new byte[4 * valuef.length]; FloatConverter floatConv = new FloatConverter(); for (int i = 0; i < valuef.length; i++) { byte[] tmp = new byte[4]; floatConv.setValue(tmp, valuef[i]); System.arraycopy(tmp, 0, valuedat, i * 4, 4); } Sorting.sortWithValues(ids, valuedat, 4); for (int i = 0; i < valuef.length; i++) { byte[] tmp = new byte[4]; System.arraycopy(valuedat, i * 4, tmp, 0, 4); float f = floatConv.getValue(tmp); assertEquals(ids[i] * 1.0f, f); assertTrue(i == 0 || ids[i] > ids[i - 1]); } }