Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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 });
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
    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);
    }
Пример #7
0
            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);
            }