WalletTest.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package cz.davza.studentadventure.objects;
  2. import org.junit.jupiter.api.Test;
  3. import static org.junit.jupiter.api.Assertions.*;
  4. class WalletTest {
  5. @Test
  6. void startsWithGivenAmount() {
  7. Wallet wallet = new Wallet(50);
  8. assertEquals(50, wallet.getMoney());
  9. }
  10. @Test
  11. void earnMoneyIncreasesBalance() {
  12. Wallet wallet = new Wallet(10);
  13. wallet.earnMoney(20);
  14. assertEquals(30, wallet.getMoney());
  15. }
  16. @Test
  17. void spendMoneyReducesBalance() {
  18. Wallet wallet = new Wallet(50);
  19. boolean result = wallet.spendMoney(20);
  20. assertTrue(result);
  21. assertEquals(30, wallet.getMoney());
  22. }
  23. @Test
  24. void spendMoneyReturnsFalseWhenInsufficient() {
  25. Wallet wallet = new Wallet(10);
  26. boolean result = wallet.spendMoney(20);
  27. assertFalse(result);
  28. }
  29. @Test
  30. void balanceUnchangedAfterFailedSpend() {
  31. Wallet wallet = new Wallet(10);
  32. wallet.spendMoney(20);
  33. assertEquals(10, wallet.getMoney());
  34. }
  35. @Test
  36. void spendExactBalanceSucceeds() {
  37. Wallet wallet = new Wallet(20);
  38. assertTrue(wallet.spendMoney(20));
  39. assertEquals(0, wallet.getMoney());
  40. }
  41. @Test
  42. void defaultConstructorStartsAtZero() {
  43. Wallet wallet = new Wallet();
  44. assertEquals(0, wallet.getMoney());
  45. }
  46. }