Example #1
0
        public void SolveByBinarySearch_ForKeyOneAndRaiusOne_ShouldReturnMinusOneZeroAndOne()
        {
            var radiusOfReachability = new RadiusOfReachability();
            var expected             = new int[] { -1, 0, 1 };

            var actual = radiusOfReachability.SolveByBinarySearch(new int[] { -5, -2, -1, 0, 1, 2, 5 }, 0, 1);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Example #2
0
        public void SolveByBinarySearch_ForZeroRadius_ShouldReturnTheExactKeyPoint()
        {
            var radiusOfReachability = new RadiusOfReachability();
            var expected             = new int[] { 0 };

            var actual = radiusOfReachability.SolveByBinarySearch(new int[] { -5, -2, -1, 0, 1, 2, 5 }, 0, 0);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Example #3
0
        public void SolveByBinarySearch_ForRadiusReachingEveryPossibleValue_ShouldReturnThePassedArray()
        {
            var radiusOfReachability = new RadiusOfReachability();
            var expected             = new int[] { -5, -2, -1, 0, 1, 2, 5 };

            var actual = radiusOfReachability.SolveByBinarySearch(new int[] { -5, -2, -1, 0, 1, 2, 5 }, 0, 50);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }
Example #4
0
        public void SolveByBinarySearch_GeneralTest()
        {
            var radiusOfReachability = new RadiusOfReachability();
            var expected             = new int[] { -5, -2, -1, 0, 1 };

            var actual = radiusOfReachability.SolveByBinarySearch(new int[] { -5, -2, -1, 0, 1, 2, 5 }, -3, 4);

            Assert.IsTrue(expected.SequenceEqual(actual));
        }