public void IsPeakElement_BoundaryCases()
        {
            var matrix = GetMatrix0();

            // The value 9 in position [0,0] is a peak
            Assert.AreEqual(true, PeakFinder2D.IsPeakElement(matrix, 0, 0));
        }
        public void FindGlobalMaxIndex()
        {
            var matrix = GetMatrix1();

            Assert.AreEqual(0, PeakFinder2D.FindGlobalColumnMaxIndex(matrix, 0).value);
            Assert.AreEqual(5, PeakFinder2D.FindGlobalColumnMaxIndex(matrix, 1).value);
            Assert.AreEqual(9, PeakFinder2D.FindGlobalColumnMaxIndex(matrix, 2).value);
            Assert.AreEqual(0, PeakFinder2D.FindGlobalColumnMaxIndex(matrix, 3).value);
            Assert.AreEqual(0, PeakFinder2D.FindGlobalColumnMaxIndex(matrix, 4).value);
            Assert.AreEqual(0, PeakFinder2D.FindGlobalColumnMaxIndex(matrix, 5).value);
            Assert.AreEqual(0, PeakFinder2D.FindGlobalColumnMaxIndex(matrix, 6).value);
        }
        public void IsPeakElement_NoBoundaryCases()
        {
            var matrix = GetMatrix0();

            // The value 9 in position [2,2] is a peak
            Assert.AreEqual(true, PeakFinder2D.IsPeakElement(matrix, 2, 2));

            // The value 6 in position [5,4] is a peak
            Assert.AreEqual(true, PeakFinder2D.IsPeakElement(matrix, 5, 4));

            // The value 9 in position [1, 5] is a peak
            Assert.AreEqual(true, PeakFinder2D.IsPeakElement(matrix, 1, 5));
        }
        public void FindPeakElement()
        {
            var matrix = GetMatrix2();

            Assert.AreEqual(21, PeakFinder2D.FindPeakElement(matrix, 0, matrix.Count - 1));
        }