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"); } } }