Due date: 2/17 : NOON
Now that you have one kind of player ready to go, it is time to test it. Rigorously. To this end, we will conduct a "test fest." You will implement a test harness for players that reads test inputs from the standard file system and you will design test cases. Then we will run all test cases on all submissions. Your score depends on how well your players hold up and how well you design your test cases.
Task 1: Your task is to implement a test harness for your players. The test harness interacts with our test case administrator a via standard input and output. Each input and output message is an XML message, some simple/some complex. The following diagram demonstrates how the harness works:
Constraint: You may not modify your player's export
interface as you implement this test harness. You may change only its
imports: from the plain
Task 1a: The second part of this task is to develop test cases for your player. Create a file for each test case. Remember that due to the somewhat random nature of the player, writing test cases is non-trivial and, for some things that you might imagine, impossible.
POINTS: The base score for Task 1 is 30 points. We will run our own test administrator for all test harnesses on all test cases submitted. We will then tabulate and publish the results as a matrix with links to the test cases that your player passed and failed.
(1) You will receive an additional point for each test case that discovers an error in someone else's player. (2) You will lose one point for each error that someone else's test case reveals in your player, but (3) you will not receive fewer than 30 points.
Task 2:[POINTS: 5] Your second task is to design and implement a test case administrator. It reads a test case, starts up your test harness, and writes XML messages to standard output and listens for transmissions on standard input. Finally, it reads off the final done sent and determines whether this is the expected result according to the test case.
|last updated on Tue Jun 9 22:03:19 EDT 2009||generated with PLT Scheme|