CS 3500 Assignment #6 Assigned: Tuesday, 9 October 2012 Due: Tuesday, 16 October 2012 The purpose of this assignment is: * To construct black-box tests from a formal specification. * To emphasize the distinction between clients and implementors. * To illustrate some of the problems that arise when modules are written by separate teams of programmers. Working in teams of three students (except for a small number of two-student teams), you will write a black-box test program for the FListString ADT that was specified in assignment #3. Collaboration between students who are not on the same team is forbidden for this assignment. Your team is responsible for keeping its code hidden from all other students. Your team will submit exactly one memo and exactly one test program. Your team should turn in those two things before the start of class on the due date by doing both of the following: 1. Turn in a paper copy of a written memo that conveys the following information: A. The names of all students on your team. B. For each of the 10 implementations you are assigned to test (see below), list at least one of the bugs that your black-box tests discovered in that implementation. If your tests found no bugs, write "No errors found." 2. Submit your TestFListString.java file using a CCIS Linux machine and the /net/course/cs3500vkpf12/submit6 script. Your TestFListString.java file should begin with a block comment that lists 1. All of your names, as you want the instructor to write them. 2. All of your email addresses. 3. Any remarks you wish to make to the instructor. Part of your grade will depend on the quality of your written memo, part will depend upon how well your black-box tests find bugs, and part will depend upon the correctness of your code, the quality of its tests, and its readability (including comments and indentation). As always, part of your grade will depend on how well you follow the procedure above for submitting your work. Late assignments may be discounted, and very late assignments may be discarded. -------------------------------------------------- Your assignment is to write the code for a single file, TestFListString.java, that defines a public class TestFListString that defines a public static void main(String[]) method that, when called with any array of strings, performs black-box testing of any and all implementations of the FListString ADT specified in assignment #3. (Note: Your main method should probably just ignore the array of strings that it receives as an argument, since you cannot rely on the number of strings or their content.) The implementations you are assigned to test are among those found in the /course/cs3500wc/Assignments/A6/ directory. To test these files, you will probably have to rename each of them to FMap.java. --------------------------------------------------