Here are some test cases for BinarySearchInJava. In order to pass the search must be capable of determining whether a value is in the array, returning an index to the value if it is, and throwing an exception when asked to return an index to a value that is not in the array. I am interested in what XP might consider to be a proper set of tests for this. -- PhilGoodwin

 public class BinarySearchTest extends TestCase
 {
    int[] anArray = {1,2,3,4,6,7,8};

    BinarySearchTest( String name )
    {   super( name );
    }

    protected void setUp(){}

    public static Test suite()
    {   TestSuite suite= new TestSuite();
        suite.addTest(
            new BinarySearchTest("in array")
            {    protected void runTest() { this.testIsInArray(); }
            });
        suite.addTest(
            new BinarySearchTest("not in array")
            {    protected void runTest() { this.testNotInArray(); }
            });
        suite.addTest(
            new BinarySearchTest("throws")
            {    protected void runTest() { this.testThrows(); }
            });
        suite.addTest(
            new BinarySearchTest("doesn't throw")
            {    protected void runTest() { this.testThrowsNot(); }
            });
        return suite;
    }

    public void testNotInArray()
    {   BinarySearch failSearch = new BinarySearch( 5, anArray );
        assert( failSearch.targetIsInArray() == false );
    }

    public void testIsInArray()
    {   BinarySearch successSearch = new BinarySearch( 2, anArray );
        if( successSearch.targetIsInArray() )
        {   assert( "Target was not found in proper location",
                anArray[ successSearch.indexOfTarget() ] == 2 );
        }
        else
        {   fail( "Target wasn't found" );
        }
    }

    public void testThrows()
    {   try
        {   BinarySearch.findIndexOf( 5, anArray );
            fail("Exception not thrown");
        }
        catch(Exception e){}
    }

    public void testThrowsNot()
    {   try
        {   BinarySearch.findIndexOf( 4, anArray ); }
        catch(Exception e)
        {   fail("Exception thrown"); }
    }
 }

----
CategoryJava