public void ReverseSubsequences() { KnotHash kh = new KnotHash(); int[] a = { 0, 1, 2, 3, 4 }; kh.ReverseSubsequence(a, 0, 3); Assert.Equal(new int[] { 2, 1, 0, 3, 4 }, a); int[] b = { 2, 1, 0, 3, 4 }; kh.ReverseSubsequence(b, 3, 4); Assert.Equal(new int[] { 4, 3, 0, 1, 2 }, b); int[] c = { 4, 3, 0, 1, 2 }; kh.ReverseSubsequence(c, 3, 1); Assert.Equal(new int[] { 4, 3, 0, 1, 2 }, c); int[] d = { 4, 3, 0, 1, 2 }; kh.ReverseSubsequence(d, 1, 5); Assert.Equal(new int[] { 3, 4, 2, 1, 0 }, d); }