InsertSort { public static void sort(Comparable[] a) { int N = a.length; for (int i = 0; i < N; i++) { for (int j = i; j > 0 && Utils.less(a[j], a[j - 1]); j--) { Utils.exch(a, j, j - 1); } assert Utils.isSorted(a, 0, i); } assert Utils.isSorted(a); }  static void mysort(Comparable[] a); static void sort(Comparable[] a);  }
@Test public void sort1() { Integer[] sortIntegerArray = { 1, 2, 5, 4, 3 }; Integer[] resultArray = { 1, 2, 3, 4, 5 }; InsertSort.sort(sortIntegerArray); Assert.assertArrayEquals(sortIntegerArray, resultArray); }
@Test public void sort2() { Integer[] sortIntegerArray = { 7, 6, 5, 4, 3 }; Integer[] resultArray = { 3, 4, 5, 6, 7 }; InsertSort.sort(sortIntegerArray); Assert.assertArrayEquals(sortIntegerArray, resultArray); }