Skip to content

Commit d4c1a21

Browse files
committed
Feat: fix; MoneyOrderTest/MoneyOrder.java files, toString method and depositFunds
1 parent ab6daa1 commit d4c1a21

File tree

2 files changed

+35
-7
lines changed

2 files changed

+35
-7
lines changed

lesson_17/bank/bank_app/src/main/java/com/codedifferently/lesson17/bank/exceptions/MoneyOrder.java

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,57 @@
11
package com.codedifferently.lesson17.bank.exceptions;
22

33
import com.codedifferently.lesson17.bank.Check;
4-
import com.codedifferently.lesson17.bank.CheckingAccount;
54

65
public class MoneyOrder extends Check {
76

8-
public MoneyOrder(String checkNumber, double amount, CheckingAccount account) {
7+
public MoneyOrder(
8+
String checkNumber,
9+
double amount,
10+
com.codedifferently.lesson17.bank.CheckingAccount account) {
911
super(checkNumber, amount, account);
1012
if (amount < 0) {
1113
throw new IllegalArgumentException("MoneyOrder amount must be positive");
1214
}
1315
account.withdraw(amount);
1416
}
1517

16-
@Override
1718
/**
1819
* Deposits the check into an account.
1920
*
2021
* @param toAccount The account to deposit the check into.
2122
*/
2223
public void depositFunds(CheckingAccount toAccount) {
2324
if (getIsVoided()) {
24-
throw new CheckVoidedException("MoneyOrder is voided");
25+
throw new UnsupportedOperationException("MoneyOrder is voided");
2526
}
2627
toAccount.withdraw(getAmount());
2728
((CheckingAccount) getAccount()).withdraw(getAmount());
28-
toAccount.deposit(getAmount());
29+
((CheckingAccount) toAccount).deposit(getAmount());
2930
voidCheck();
3031
}
3132

33+
public class CheckingAccount {
34+
private String accountNumber;
35+
36+
public CheckingAccount(String accountNumber) {
37+
this.accountNumber = accountNumber;
38+
}
39+
40+
public void withdraw(double amount) {
41+
// TODO Auto-generated method stub
42+
throw new UnsupportedOperationException("Unimplemented method 'withdraw'");
43+
}
44+
45+
public void deposit(double amount) {
46+
// TODO Auto-generated method stub
47+
throw new UnsupportedOperationException("Unimplemented method 'deposit'");
48+
}
49+
50+
public String getAccountNumber() {
51+
return this.accountNumber;
52+
}
53+
}
54+
3255
@Override
3356
public String toString() {
3457
return "MoneyOrder{"

lesson_17/bank/bank_app/src/test/java/com/codedifferently/lesson17/bank/exceptions/MoneyOrderTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
import static org.assertj.core.api.Assertions.assertThat;
44
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
5+
import org.junit.jupiter.api.BeforeEach;
6+
import org.junit.jupiter.api.Test;
57

68
import com.codedifferently.lesson17.bank.Check;
79
import com.codedifferently.lesson17.bank.CheckingAccount;
8-
import org.junit.jupiter.api.BeforeEach;
9-
import org.junit.jupiter.api.Test;
1010

1111
class MoneyOrderTest<account2> {
1212

@@ -67,6 +67,11 @@ void testEquals() {
6767

6868
@Test
6969
void testToString() {
70+
// Arrange
71+
CheckingAccount account = new CheckingAccount("123456789", null, 0);
72+
MoneyOrder classUnderTest = new MoneyOrder("123456789", 50.0, account);
73+
// Act
74+
String result = classUnderTest.toString();
7075
// Assert
7176
assertThat(classUnderTest.toString())
7277
.isEqualTo("MoneyOrder{checkNumber='123456789', amount=50.0, account=123456789}");

0 commit comments

Comments
 (0)