CS U370 Assignment #3 Spring 2008, Prof. Hafner Assigned: Friday, January 25 Due: Friday, February 8 The purpose of this assignment is: * To develop a program for Black Box unit testing You will complete an implementation in Java of a public RouteTester class that performs Black Box unit testing of the Route class from Assignment 2. The RouteTester class must contain a public method called "main" that initiates the test. The RouteTester class is to be in the default package (while the Route class is in the geography package, as stated in Assigment 2). To get full credit for this assignment, your RouteTester program must document each error found by printing a meaningful message. Before exiting your program must print a message with the following format: Total tests: " + nTests + " and Total errors: " + nErrors where nTests and nErrors are variables with the appropriate values. To get full credit on this assignment, your RouteTester program must be based on a systematic approach to Black Box unit testing, such as the one we learned in class. During the grading of your program, your RouteTester class will be invoked with several implementations of Route provided by your instructor, which you will not be permitted to see in advance; therefore your RouteTester program must depend ONLY on the interface of the Route class, not on its implementation. The Route implementations will be deliberately made to contain errors, and your grade will depend on how well you detect and report the errors. Collaboration between students is forbidden on this assignment. You are responsible for keeping your code hidden from all other students. Turn in your work on this assignment before 10 pm on the due date by submitting your RouteTester.java file using the course submission web site. The file should begin with a block comment that lists 1. Your name, as you want the instructor to write it. 2. Your email address. 3. Any remarks that you wish to make to the instructor. Part of your grade will depend on the quality and correctness of your code; part will depend on the readability of your code (comments and indentation), and part will depend on your following the procedure above for submitting your work. Late assignments may be discounted, and very late assignments may be discarded.