This is my current ide code for 2 classes.
“import java.util.ArrayList;

public class BinarySearchSequence {

public static ArrayList<Integer> binarySearchIndexSequence(int num, int[] numArray) {

ArrayList<Integer> sequence = new ArrayList<Integer>();

// Complete your code here
int left = 0;
int right = numArray.length - 1;

while (left <= right) {
int mid = left + (right - left) / 2;
sequence.add(mid);

if (numArray[mid] == num) {
break;
} else if (numArray[mid] < num) {
left = mid + 1;
} else {
right = mid - 1;
}
}

return sequence;
}
}

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
boolean assertEnable = false;
assert assertEnable=true;

if(!assertEnable) {
System.out.println(“Enable assertion before the test”);
}else {
System.out.println(“Assertion Enabled”);
test();
}
}

private static void test() {

int[] numArray = { 1,2,3,4,5,6,7,8,9,10 };


try {
ArrayList<Integer> sequence = BinarySearchSequence.binarySearchIndexSequence(1, numArray);
int[] expected1 = {4,1,0};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected1)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(2, numArray);
int[] expected2 = {4,1};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected2)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(3, numArray);
int[] expected3 = {4,1,2};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected3)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(4, numArray);
int[] expected4 = {4,1,2,3};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected4)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(5, numArray);
int[] expected5 = {4};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected5)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(6, numArray);
int[] expected6 = {4,7,5};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected6)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(7, numArray);
int[] expected7 = {4,7,5,6};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected7)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(8, numArray);
int[] expected8 = {4,7};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected8)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(9, numArray);
int[] expected9 = {4,7,8};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected9)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(10, numArray);
int[] expected10 = {4,7,8,9};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected10)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(-1, numArray);
int[] expected11 = {4,1,0,-1};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected11)==true;

sequence = BinarySearchSequence.binarySearchIndexSequence(11, numArray);
int[] expected12 = {4,7,8,9,-1};
assert checkIfTwoArraysHaveTheSameContent(sequence.toArray(),expected12)==true;

System.out.println(“Test case passed”);
}catch(AssertionError ex) {
System.out.println(“Test case failed”);
}
}


private static boolean checkIfTwoArraysHaveTheSameContent(Object[] nums1, int[] nums2) {

if(nums1.length!=nums2.length) {
return false;
}

boolean isSame = true;
for(int i=0;i<nums1.length;i++) {
int n1 = (Integer)nums1[i];
int n2 = nums2[i];
if(n1!=n2) {
isSame = false;
break;
}
}
return isSame;
}
}
”

These are the requirements " Implement a function binarySearchIndexSequence() that takes in an integer to search, an array of integers to search from and returns an ArrayList of integers that consists of the search index sequence of the binary search.
For example, for an integer array
int[] numArray = { 1,2,3,4,5,6,7,8,9,10 };
Function call
Returns
binarySearchIndexSequence
(1, numArray); 4 1 0
binarySearchIndexSequence
(2, numArray); 4 1
binarySearchIndexSequence
(3, numArray); 4 1 2
binarySearchIndexSequence
(4, numArray); 4 1 2 3
binarySearchIndexSequence
(5, numArray); 4
binarySearchIndexSequence
(6, numArray); 4 7 5
binarySearchIndexSequence
(7, numArray); 4 7 5 6
binarySearchIndexSequence
(8, numArray); 4 7
binarySearchIndexSequence
(9, numArray); 4 7 8
binarySearchIndexSequence
(10, numArray); 4 7 8 9
binarySearchIndexSequence
(-1, numArray); 4 1 0 -1
binarySearchIndexSequence
(11, numArray); 4 7 8 9 -1"

Edit only the binarysearchsequence code so that the output is assertion passed and test case enabled when running the test.java