Added Order Agnostic Binary Search problem in Searches folder. (#3791)

* Added Order Agnostic Binary Search problem

* Update OrderAgnosticBinSearch.java

* Added JUnit Tests and removed redundant code.

* Made minor changes in JUnit Tests

* Removed tests for main folder and added docs.

* Added OrderAgnosticBinarySearchTest.java

* Renamed file to avoid errors.

* Updated the file to avoid build error
This commit is contained in:
Nishanth Chandra
2022-12-12 00:43:27 +05:30
committed by GitHub
parent 219ec7c223
commit 8ba295b1ad
2 changed files with 119 additions and 0 deletions

View File

@ -0,0 +1,72 @@
package com.thealgorithms.searches;
import com.thealgorithms.searches.OrderAgnosticBinarySearch;
import org.junit.jupiter.api.Test;
import java.util.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class OrderAgnosticBinarySearchTest {
@Test
//valid Test Case
public void ElementInMiddle() {
int[] arr = {10, 20, 30, 40, 50};
int answer = OrderAgnosticBinarySearch.BinSearchAlgo(arr, 0, arr.length - 1, 30);
System.out.println(answer);
int expected = 2;
assertEquals(expected, answer);
}
@Test
//valid Test Case
public void RightHalfDescOrder() {
int[] arr = {50, 40, 30, 20, 10};
int answer = OrderAgnosticBinarySearch.BinSearchAlgo(arr, 0, arr.length - 1, 10);
System.out.println(answer);
int expected = 4;
assertEquals(expected, answer);
}
@Test
//valid test case
public void LeftHalfDescOrder() {
int[] arr = {50, 40, 30, 20, 10};
int answer = OrderAgnosticBinarySearch.BinSearchAlgo(arr, 0, arr.length - 1, 50);
System.out.println(answer);
int expected = 0;
assertEquals(expected, answer);
}
@Test
//valid test case
public void RightHalfAscOrder() {
int[] arr = {10, 20, 30, 40, 50};
int answer = OrderAgnosticBinarySearch.BinSearchAlgo(arr, 0, arr.length - 1, 50);
System.out.println(answer);
int expected = 4;
assertEquals(expected, answer);
}
@Test
//valid test case
public void LeftHalfAscOrder() {
int[] arr = {10, 20, 30, 40, 50};
int answer = OrderAgnosticBinarySearch.BinSearchAlgo(arr, 0, arr.length - 1, 10);
System.out.println(answer);
int expected = 0;
assertEquals(expected, answer);
}
@Test
//valid test case
public void ElementNotFound() {
int[] arr = {10, 20, 30, 40, 50};
int answer = OrderAgnosticBinarySearch.BinSearchAlgo(arr, 0, arr.length - 1, 100);
System.out.println(answer);
int expected = -1;
assertEquals(expected, answer);
}
}