Exercise Automatic Testing

In your group:
Earlier, we figured out how to unit test the stack object, and test how the calculator object calls the stack object. Come up with a plan to do automated testing of the calculator object.
[You do not have to generate the actual full set of tests, but it should be very clear from your plan, how the testing will proceed.]

Every time a change is made in the program, ALL testing MUST be re-run, which is why we are doing automated testing.  (In the making of the original program, every time a new feature was added, more was added to the list of automated tests.)

The calculator program is designed to be run by a web interface.  
However, the internal functioning, is a Java program, worked by inputting characters.
Each 'key' on the calculator generated a single character when it was pressed.

It is NOT necessary to understand the workings of the calculator object, as this is black box testing (of the character interface). Just to give you an idea, a sampling of character keys as used by the calculator project can be seen below. So, when the Java program reads 'R', it calculates the square root of what is in the accumulator.

(It also inputs algebraic expressions and converts them to reverse polish for execution, but that is beyond the scope of this assignment.)

Individual work:
Your group just discussed how to do automated testing of the calculator object, which treats characters as a key press of a calculator.  (It uses two stack objects which you did unit testing for, before.)

Assume the calculator object works, as demonstrated by the automated testing plan your group came up with.  Now come up with a plan to test the web interface, which works by sending a character to the Java program, each time a Web button is pressed.

// 0..9, + - * / . ( ) = ! act as expected
 private char chs='~';
 private char clear='\\';
//statistical functions omitted for simplicity //memory functions omitted for simplicity
// geometric functions omitted for simplicity
//power functions
 private char LOGyX='L'; 
 private char rootx='R'; 
 private char YtoX='P';  			 
 private char round='e';	
 private char trunc='r';
 private char div='u';
 private char mod='v';
 private char percent='I';
 private char reciprocal='M';
 private char abs='U';