public static void FindIndex_ItemPresentInSpecificCase_IndexCorrect(int[] arr, int present)
        {
            var searcher = new FastSearcher();
            var index    = searcher.FindIndex(arr, present);

            Assert.AreEqual(present, arr[index]);
        }
        public static void FindIndex_ArrayOfDuplicatesItemMissing_ItemNotFoundExceptionThrown()
        {
            var searcher = new FastSearcher();
            var arr      = new int[1000];
            var missing  = 1;

            _ = Assert.Throws <ItemNotFoundException>(() => searcher.FindIndex(arr, missing));
        }
        public static void FindIndex_ItemBiggerThanAllMissing_ItemNotFoundExceptionThrown()
        {
            var searcher = new FastSearcher();
            var arr      = Helper.GetSortedArray(1000);
            var missing  = Helper.GetItemBiggerThanAllIn(arr);

            _ = Assert.Throws <ItemNotFoundException>(() => searcher.FindIndex(arr, missing));
        }
        public static void FindIndex_ItemPresent_IndexCorrect()
        {
            var searcher = new FastSearcher();
            var arr      = Helper.GetSortedArray(1000);
            var present  = Helper.GetItemIn(arr);
            var index    = searcher.FindIndex(arr, present);

            Assert.AreEqual(present, arr[index]);
        }
        public static void FindIndex_ArrayOfDuplicatesItemPresent_IndexCorrect()
        {
            var searcher = new FastSearcher();
            var arr      = new int[1000];
            var present  = 0;
            var index    = searcher.FindIndex(arr, present);

            Assert.AreEqual(0, arr[index]);
        }
        public static void FindIndex_ItemMissingInSpecificCase_ItemNotFoundExceptionThrown(int[] arr, int missing)
        {
            var searcher = new FastSearcher();

            _ = Assert.Throws <ItemNotFoundException>(() => searcher.FindIndex(arr, missing));
        }