Testing your code - We have provided you a client program,
Reverse.java, that uses the stack implementations you will write.
Getting Reverse.java to run and correctly reverse a sound file is fun,
and indicates that your stack implementations will compile and run. It
does NOT however imply that your stack implementations have been
thoroughly tested. Note that Reverse.java just uses your stacks in one
particular way: pushing a bunch of elements onto the stack and then
popping them all off. There are other ways that someone may want to
use your stack and other cases that are not necessarily tested by just
being able to successfully listen to secret.wav in reverse.
We will be testing your stack implementations more generally, and
you should too! A simple way to do this is to write a client class
that instantiates instances of your different stack implementations
and performs various operations. If you are familiar with JUnit you
are also welcome to write JUnit tests, but we will not be requiring
this for project 1. For project 1 you are not required to turn in
code you used for testing your files, but you are welcome to do so.
Doing so will help with answering question 2 in the writeup.