public void MagicIndexAlgoWithDuplicates_WhenDuplicatesExist_MagicIndexExistsInTheSecondHalf_ReturnCorrectMagicIndex() { // Arrange var array = new int[] { -10, 0, 1, 2, 2, 7, 7, 8, 8, 20, 40 }; // Act var actual = MagicIndex.MagicIndexAlgoWithDuplicates(array); // Assert actual.Should().Be(8); }
public void MagicIndexAlgoWithDuplicates_WhenDuplicatesExist_ButNoMagicIndex_ReturnMinusOne() { // Arrange var array = new int[] { -10, 0, 0, 0, 1, 2, 3, 10, 10, 20, 40 }; // Act var actual = MagicIndex.MagicIndexAlgoWithDuplicates(array); // Assert actual.Should().Be(-1); }
public void MagicIndex_WhenMultipleMagicIndexesExist_ReturnOneCorrectIndex() { // Arrange var array = new int[] { -40, -10, -5, 0, 1, 2, 3, 7, 8, 20, 40 }; // Act var actual = MagicIndex.MagicIndexAlgo(array); // Assert actual.Should().BeOneOf(new int[] { 7, 8 }); }
public void MagicIndex_WhenMagicIndexExists_ReturnCorrectIndex_Case2() { // Arrange var array = new int[] { -40, -10, -5, 0, 1, 2, 3, 7, 10, 20, 40, 50, 100, 150, 160, 170 }; // Act var actual = MagicIndex.MagicIndexAlgo(array); // Assert actual.Should().Be(7); }
public void MagicIndex_WhenNoMagicIndexExists_ReturnMinusOne() { // Arrange var array = new int[] { 1, 2, 3, 4, 5, 6, 7 }; // Act var actual = MagicIndex.MagicIndexAlgo(array); // Assert actual.Should().Be(-1); }
static void Main() { Console.WriteLine("Hello, World!"); // int[] a={-2,-1,2,3,7}; int[] a = { -2, -1, 2, 3, 7 }; MagicIndex m = new MagicIndex(); m.CheckMagicIndex(a, 0, a.Length - 1); int[] b = { -2, -1, 0, 3, 7 }; m.CheckMagicIndex(b, 0, b.Length - 1); int[] c = { -2, -1, 0, 2, 4 }; m.CheckMagicIndex(c, 0, c.Length - 1); }
private static bool Check(byte[] bytes, MagicIndex magicIndex) { Debug.Assert(bytes != null); byte[] check = magicIndex == MagicIndex.RSA1 ? s_rsa1Check : s_rsa2Check; int index = (int)magicIndex; if (bytes.Length < index + check.Length) { return(false); } for (int i = 0; i < check.Length; i++) { if (bytes[i + index] != check[i]) { return(false); } } return(true); }