Test-Driving The Wallet Class¶
Depends on Wallet/WalletTest
This lab requires the Wallet and WalletTest classes that we worked on, so you can pull the latest code from the repository and start from there, or you can copy the Wallet.java and WalletTest.java files from the source code repository and add them to your project.
Goal¶
Add a bet method to the Wallet class using test-driven development.
TDD Steps¶
Follow the Predictive TDD steps as described in this presentation, starting at slide #8.
Behavior¶
Add a method bet that takes an int as the bet amount, e.g., the method should look like:
public void bet(int amount)
Test-drive these behaviors¶
-
Ensure that betting an amount reduces the balance correctly by validating against
balance() -
Ensure that placing multiple bets reduces the balance correctly
-
Ensure that betting the full balance of the wallet causes
isEmpty()to continue to work correctly -
What should happen if you bet too much money (more than the balance)? Implement this if you have time.