Skip to content

Commit d251978

Browse files
committed
chore: file edits/ 4 tests still failing
1 parent d37b050 commit d251978

File tree

3 files changed

+41
-10
lines changed

3 files changed

+41
-10
lines changed

lesson_17/bank/bank_app/src/main/java/com/codedifferently/lesson17/bank/BankAtm.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,22 @@ public class BankAtm {
1212
private final Map<UUID, Customer> customerById = new HashMap<>();
1313
private final Map<String, CheckingAccount> accountByNumber = new HashMap<>();
1414

15-
public BusinessCheckingAccount createCheckingAccount(
16-
String accountNumber, Set<Customer> owners, double initialBalance) {
15+
public void addAccount(String accountNumber, Set<Customer> owners, double initialBalance) {
1716
boolean hasBusinessOwner = owners.stream().anyMatch(Customer::isBusiness);
1817

1918
if (hasBusinessOwner) {
20-
return new BusinessCheckingAccount(accountNumber, owners, initialBalance);
19+
accountByNumber.put(
20+
accountNumber, new BusinessCheckingAccount(accountNumber, owners, initialBalance));
2121
} else {
22-
return new BusinessCheckingAccount(accountNumber, owners, initialBalance);
22+
accountByNumber.put(
23+
accountNumber, new CheckingAccount(accountNumber, owners, initialBalance));
2324
}
2425
}
2526

27+
public Map<String, CheckingAccount> getAccountByNumber() {
28+
return accountByNumber;
29+
}
30+
2631
/**
2732
* Adds a checking account to the bank.
2833
*
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.codedifferently.lesson17.bank.exceptions;
2+
3+
public class IllegalArgumentException extends RuntimeException {
4+
5+
public IllegalArgumentException() {}
6+
7+
public IllegalArgumentException(String message) {
8+
super(message);
9+
}
10+
}

lesson_17/bank/bank_app/src/test/java/com/codedifferently/lesson17/bank/BankAtmTest.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,20 +112,36 @@ void testWithdrawFunds_AccountNotFound() {
112112
}
113113

114114
@Test
115-
void createCheckingAccount_withNoBusinessOwner_shouldReturnStandardCheckingAccount() {
115+
void addAccount_withNoBusinessOwner_shouldReturnStandardCheckingAccount() {
116+
String accountNumber = "123456789";
117+
double initialBalance = 100.0;
118+
116119
Set<Customer> owners = new HashSet<>();
117120
owners.add(new Customer(UUID.randomUUID(), "Individual Owner", false));
118121

119-
CheckingAccount account = bankAtm.createCheckingAccount("123456789", owners, 100.0);
120-
assertFalse(account instanceof BusinessCheckingAccount);
122+
bankAtm.addAccount(accountNumber, owners, initialBalance);
123+
CheckingAccount account = bankAtm.getAccountByNumber().get(accountNumber);
124+
125+
assertNotNull(account, "Account should be created and added to map.");
126+
assertFalse(
127+
account instanceof BusinessCheckingAccount,
128+
"Account should be a standard CheckingAccount.");
121129
}
122130

123131
@Test
124-
void createCheckingAccount_withBusinessOwner_shouldReturnBusinessCheckingAccount() {
132+
void addAccount_withBusinessOwner_shouldReturnBusinessCheckingAccount() {
133+
String accountNumber = "987654321";
134+
double initialBalance = 200.0;
135+
125136
Set<Customer> owners = new HashSet<>();
126137
owners.add(new Customer(UUID.randomUUID(), "Business Owner", true));
127138

128-
BusinessCheckingAccount account = bankAtm.createCheckingAccount("123456789", owners, 100.0);
129-
assertTrue(account instanceof BusinessCheckingAccount);
139+
bankAtm.addAccount(accountNumber, owners, initialBalance);
140+
141+
CheckingAccount account = bankAtm.getAccountByNumber().get(accountNumber);
142+
143+
assertNotNull(account, "Account should be created and added to map.");
144+
assertTrue(
145+
account instanceof BusinessCheckingAccount, "Account should be a BusinessCheckingAccount.");
130146
}
131147
}

0 commit comments

Comments
 (0)