public void SiftDownTest() { int[] array = new int[] { 11, 5, 33, 65, 10, 653, 14, 3, 16, 5, 4 }; BinaryHeapHelper.SiftDown(1, array, 11); if (array[1] != 5) { Assert.Fail(); } BinaryHeapHelper.SiftDown(2, array, 11); if (array[2] != 14 || array[6] != 33) { Assert.Fail(); } BinaryHeapHelper.SiftDown(0, array, 11); if (array[0] != 5 || array[1] != 10 || array[4] != 4 || array[10] != 11) { Assert.Fail(); } array = new int[] { 11, 5, 33, 65, 10, 653, 14, 3, 16, 5, 4, 1, 1, 1 }; BinaryHeapHelper.SiftDown(2, array, 11); if (array[2] != 14 || array[6] != 33) { Assert.Fail(); } }