// Set up two accounts BankAccountTester myAccount = new BankAccountTester(); BankAccountTester urAccount = new BankAccountTester(500.00); // Simulate month one double monthOneBucks = 100.00; double expect = 0.00; myAccount.deposit(monthOneBucks); myAccount.withdraw( monthOneBucks/2.0); expect = monthOneBucks/2.0; System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); myAccount.deposit(urAccount.getBalance()); expect = expect + 500.00; System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); urAccount.deposit( urAccount.getBalance() ); expect = 500.00 * 2.0; System.out.println("Expecting urAccount balance to be " + expect); System.out.println("It is " +urAccount.getBalance()); myAccount.withdraw(50.00); expect = 500.00; System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); myAccount.withdraw(50.00); expect = 450.00; System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); myAccount.withdraw(50.00); expect = 400.00; System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); // test deductMonthly Charge myAccount.deductMonthlyCharge(); expect = 400.00 - 2 * 1.50; // 6 transactions this month System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); urAccount.deductMonthlyCharge(); expect = 1000.00 - 0*1.5; // < 4 trasactions this month System.out.println("Expecting urAccount balance to be " + expect); System.out.println("It is " +urAccount.getBalance()); // Simulate month two double monthTwoBucks = 100.00; expect = 0.00; myAccount.deposit(100.0); myAccount.withdraw( monthOneBucks/10.0); expect = 497.0 - 10; System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); myAccount.deposit(urAccount.getBalance()); expect = expect + 1000.00; System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); urAccount.deposit( urAccount.getBalance() ); expect = 1000.00 * 2.0; System.out.println("Expecting urAccount balance to be " + expect); System.out.println("It is " +urAccount.getBalance()); // test deductMonthly Charge myAccount.deductMonthlyCharge(); expect = 1487.00 - 0 * 1.5; // < 5 transactions this month System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); urAccount.deductMonthlyCharge(); expect = 2000.00 - 0*1.5; // < 5 trasactions this month System.out.println("Expecting urAccount balance to be " + expect); System.out.println("It is " +urAccount.getBalance()); // Simulate month three double monthThreeBucks = 100.00; expect = 0.0; myAccount.withdraw(monthThreeBucks * 5.0); myAccount.withdraw(monthThreeBucks); myAccount.withdraw(monthThreeBucks); myAccount.withdraw(monthThreeBucks); myAccount.withdraw(monthThreeBucks); myAccount.withdraw(monthThreeBucks); expect = 487.00; System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); urAccount.withdraw(monthThreeBucks * 5.0); urAccount.withdraw(monthThreeBucks * 5.0); urAccount.withdraw(monthThreeBucks * 5.0); urAccount.withdraw(monthThreeBucks); urAccount.withdraw(monthThreeBucks); urAccount.withdraw(monthThreeBucks); urAccount.withdraw(monthThreeBucks); urAccount.withdraw(monthThreeBucks - 3.00); expect = 3.00; System.out.println("Expecting urAccount balance to be " + expect); System.out.println("It is " +urAccount.getBalance()); // test deductMonthly Charge myAccount.deductMonthlyCharge(); expect = 487.00 - 2 * 1.5; // 6 transactions this month System.out.println("Expecting myAccount balance to be " + expect); System.out.println("It is " +myAccount.getBalance()); urAccount.deductMonthlyCharge(); // -- we may have a problem here -- // -- does your software allow a negative balance?? expect = 3.00 - 4*1.5; // 8 trasactions this month System.out.println("Expecting urAccount balance to be " + expect); System.out.println("It is " +urAccount.getBalance());