// automatically run the same test cases in the Validation Test Plan import java.awt.*; import java.applet.*; public class StockTest { public StockTest( // called by StockApplet when Test button is pushed // must have access to applet to set fields and textarea to print StockApplet applet, TextArea ta, TextField acctField, TextField firstField, TextField lastField, TextField idField, TextField phoneField, TextField passField, TextField cashField, TextField stockField, TextField sharesField, TextField priceField) { ta.append("---------------------------------------------------------------\n"); ta.append("BEGIN: AUTOMATED TEST \n"); ta.append("---------------------------------------------------------------\n"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 1 | Investor ID: jones | First: John \n"); ta.append(" | Password: jones | Last: Jones \n"); ta.append(" | push Login | Account: 1000 \n"); ta.append(" | | Phone: 510-111-1111 \n"); ta.append("---------------------------------------------------------------\n"); // set the fields in the applet, call doAction just like a button push // let applet do the usual calls to StockReport idField.setText("jones"); passField.setText("jones"); applet.doAction("Login"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 2 | push Pending Orders | Pending Orders: 2 \n"); ta.append(" | push Transactions | Transactions: 4 \n"); ta.append(" | push Portfolio | Cash: 1000.00 \n"); ta.append(" | | Net Worth: 4040.00 \n"); ta.append("---------------------------------------------------------------\n"); applet.doAction("Pending Orders"); applet.doAction("Transactions"); applet.doAction("Portfolio"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 3 | Cash: 1000 | \n"); ta.append(" | push Deposit | \n"); ta.append(" | Cash: 500 | \n"); ta.append(" | push Withdraw | \n"); ta.append(" | push Portfolio | Cash: 1500.00 \n"); ta.append("---------------------------------------------------------------\n"); cashField.setText("1000"); applet.doAction("Deposit"); cashField.setText("500"); applet.doAction("Withdraw"); applet.doAction("Portfolio"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 4 | Stock: INTC | Min SELL: 21.00 \n"); ta.append(" | push Quote | Max BUY: 19.00 \n"); ta.append(" | Cash: 1000 | Last Sale: 20.00 \n"); ta.append("---------------------------------------------------------------\n"); stockField.setText("INTC"); applet.doAction("Quote"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 5 | Stock: INTC | Outstanding Order: 100 sh \n"); ta.append(" | Shares: 100 | \n"); ta.append(" | Price: 19.50 | \n"); ta.append(" | push Buy | \n"); ta.append("---------------------------------------------------------------\n"); stockField.setText("INTC"); sharesField.setText("100"); priceField.setText("19.50"); applet.doAction("Buy"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 6 | Price: 22 | Sale completed: 75 sh \n"); ta.append(" | push Buy | Outstanding Order: 25 sh \n"); ta.append("---------------------------------------------------------------\n"); priceField.setText("22"); applet.doAction("Buy"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 7 | Shares: 25 | Sale completed: 25 sh \n"); ta.append(" | Price: 23 | \n"); ta.append(" | push Buy | \n"); ta.append("---------------------------------------------------------------\n"); sharesField.setText("25"); priceField.setText("23"); applet.doAction("Buy"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 8 | Stock: IBM | Sale completed: 5 sh \n"); ta.append(" | Shares: 10 | Sale completed: 5 sh \n"); ta.append(" | Price: 82 | \n"); ta.append("---------------------------------------------------------------\n"); stockField.setText("IBM"); sharesField.setText("10"); priceField.setText("82"); applet.doAction("Sell"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 9 | push Pending Orders | Pending Orders: 4 \n"); ta.append(" | push Transactions | Transactions: 10 \n"); ta.append(" | push Portfolio | Cash: 95.00 \n"); ta.append(" | | Net Worth: 4595.00 \n"); ta.append("---------------------------------------------------------------\n"); applet.doAction("Pending Orders"); applet.doAction("Transactions"); applet.doAction("Portfolio"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 10| push New Account | Account: 1003 \n"); ta.append(" | Account: 1003 | Cash: 0.00 \n"); ta.append(" | push Chg Acct | Net Worth: 0.00 \n"); ta.append(" | push Portfolio | \n"); ta.append("---------------------------------------------------------------\n"); applet.doAction("New Account"); acctField.setText("1003"); applet.doAction("Chg Acct"); applet.doAction("Portfolio"); ta.append("---------------------------------------------------------------\n"); ta.append("TEST: 11| Investor ID: james | Account: 1004 \n"); ta.append(" | First: Henry | Cash: 0.00 \n"); ta.append(" | Last: James | Net Worth: 0.00 \n"); ta.append(" | Phone: 510-444-4444 | \n"); ta.append(" | push New Investor | \n"); ta.append(" | push Portfolio | \n"); ta.append("---------------------------------------------------------------\n"); idField.setText("james"); //passField.setText("james"); firstField.setText("Henry"); lastField.setText("James"); phoneField.setText("510-444-4444"); applet.doAction("New Investor"); applet.doAction("Portfolio"); ta.append("---------------------------------------------------------------\n"); ta.append("END: AUTOMATED TEST \n"); ta.append("---------------------------------------------------------------\n"); } }