From a0b8d8c6a1c6acb21ba307c67a2cc81fcc3e0308 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 09:58:29 +0100 Subject: [PATCH 01/29] Classdiagram for core-exercise completed. Also I have made all the classes and test classes necessary for the core exercise. --- classDiagramBeforeExtension.png | Bin 0 -> 82184 bytes src/main/java/com/booleanuk/core/Bank.java | 21 ++++++++++++++++++ .../java/com/booleanuk/core/BankAccount.java | 21 ++++++++++++++++++ .../java/com/booleanuk/core/BankBranch.java | 21 ++++++++++++++++++ .../com/booleanuk/core/CurrentAccount.java | 17 ++++++++++++++ .../com/booleanuk/core/SavingsAccount.java | 17 ++++++++++++++ .../java/com/booleanuk/core/Transaction.java | 4 ++++ .../com/booleanuk/core/BankAccountTest.java | 4 ++++ .../com/booleanuk/core/BankBranchTest.java | 19 ++++++++++++++++ .../com/booleanuk/core/TransactionTest.java | 4 ++++ 10 files changed, 128 insertions(+) create mode 100644 classDiagramBeforeExtension.png create mode 100644 src/main/java/com/booleanuk/core/Bank.java create mode 100644 src/main/java/com/booleanuk/core/BankAccount.java create mode 100644 src/main/java/com/booleanuk/core/BankBranch.java create mode 100644 src/main/java/com/booleanuk/core/CurrentAccount.java create mode 100644 src/main/java/com/booleanuk/core/SavingsAccount.java create mode 100644 src/main/java/com/booleanuk/core/Transaction.java create mode 100644 src/test/java/com/booleanuk/core/BankAccountTest.java create mode 100644 src/test/java/com/booleanuk/core/BankBranchTest.java create mode 100644 src/test/java/com/booleanuk/core/TransactionTest.java diff --git a/classDiagramBeforeExtension.png b/classDiagramBeforeExtension.png new file mode 100644 index 0000000000000000000000000000000000000000..d9d0463db1eebb32f9914a81c523b7fd649c5508 GIT binary patch literal 82184 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ÍT28wq> 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 R&Sl_p;0uR+WqW-R{sn=2LIMB) literal 0 HcmV?d00001 diff --git a/src/main/java/com/booleanuk/core/Bank.java b/src/main/java/com/booleanuk/core/Bank.java new file mode 100644 index 000000000..c4ff72702 --- /dev/null +++ b/src/main/java/com/booleanuk/core/Bank.java @@ -0,0 +1,21 @@ +package com.booleanuk.core; + +import java.util.ArrayList; + +public class Bank { + private String name; + private Integer bankID; + private ArrayList listOfBranches; + + public Bank(String name, Integer bankID, ArrayList listOfBranches){ + this.name = name; + this.bankID = bankID; + this.listOfBranches = listOfBranches; + } + + public Bank(String name, Integer bankID){ + this.name = name; + this.bankID = bankID; + this.listOfBranches = new ArrayList(); + } +} diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java new file mode 100644 index 000000000..d6ff87631 --- /dev/null +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -0,0 +1,21 @@ +package com.booleanuk.core; + +import java.util.ArrayList; + +public class BankAccount { + private Integer uniqueBankNumber; + private Double balance; + private ArrayList listOfTransactions; + + public BankAccount(Integer uniqueBankNumber, Double balance, ArrayList listOfTransactions){ + this.uniqueBankNumber = uniqueBankNumber; + this.balance = balance; + this.listOfTransactions = listOfTransactions; + } + + public BankAccount(Integer uniqueBankNumber, Double balance){ + this.uniqueBankNumber = uniqueBankNumber; + this.balance = balance; + this.listOfTransactions = new ArrayList(); + } +} diff --git a/src/main/java/com/booleanuk/core/BankBranch.java b/src/main/java/com/booleanuk/core/BankBranch.java new file mode 100644 index 000000000..df3df62f5 --- /dev/null +++ b/src/main/java/com/booleanuk/core/BankBranch.java @@ -0,0 +1,21 @@ +package com.booleanuk.core; + +import java.util.ArrayList; + +public class BankBranch { + private Integer branchID; + private String location; + private ArrayList listOfBankAccounts; + + public BankBranch(Integer branchID, String location, ArrayList listOfBankAccounts){ + this.branchID = branchID; + this.location = location; + this.listOfBankAccounts = listOfBankAccounts; + } + + public BankBranch(Integer branchID, String location){ + this.branchID = branchID; + this.location = location; + this.listOfBankAccounts = new ArrayList(); + } +} diff --git a/src/main/java/com/booleanuk/core/CurrentAccount.java b/src/main/java/com/booleanuk/core/CurrentAccount.java new file mode 100644 index 000000000..3b61f23be --- /dev/null +++ b/src/main/java/com/booleanuk/core/CurrentAccount.java @@ -0,0 +1,17 @@ +package com.booleanuk.core; + +import java.util.ArrayList; + +public class CurrentAccount extends BankAccount{ + private Integer uniqueBankNumber; + private Double balance; + private ArrayList listOfTransactions; + + public CurrentAccount(Integer uniqueBankNumber, Double balance, ArrayList listOfTransactions){ + super(uniqueBankNumber, balance, listOfTransactions); + } + + public CurrentAccount(Integer uniqueBankNumber, Double balance){ + super(uniqueBankNumber, balance); + } +} diff --git a/src/main/java/com/booleanuk/core/SavingsAccount.java b/src/main/java/com/booleanuk/core/SavingsAccount.java new file mode 100644 index 000000000..2d5113a7f --- /dev/null +++ b/src/main/java/com/booleanuk/core/SavingsAccount.java @@ -0,0 +1,17 @@ +package com.booleanuk.core; + +import java.util.ArrayList; + +public class SavingsAccount extends BankAccount{ + private Integer uniqueBankNumber; + private Double balance; + private ArrayList listOfTransactions; + + public SavingsAccount(Integer uniqueBankNumber, Double balance, ArrayList listOfTransactions){ + super(uniqueBankNumber, balance, listOfTransactions); + } + + public SavingsAccount(Integer uniqueBankNumber, Double balance){ + super(uniqueBankNumber, balance); + } +} diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java new file mode 100644 index 000000000..a85f5696b --- /dev/null +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class Transaction { +} diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java new file mode 100644 index 000000000..7afe518b4 --- /dev/null +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class BankAccountTest { +} diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java new file mode 100644 index 000000000..4438ecf15 --- /dev/null +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -0,0 +1,19 @@ +package com.booleanuk.core; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +public class BankBranchTest { + private ArrayList listOfBankAccounts = new ArrayList<>(){{ + BankAccount currentAccount = new CurrentAccount(1, 1000D); + add(currentAccount); + + BankAccount savingsAccount = new SavingsAccount(2, 2000D); + add(savingsAccount); + }}; + + + +} diff --git a/src/test/java/com/booleanuk/core/TransactionTest.java b/src/test/java/com/booleanuk/core/TransactionTest.java new file mode 100644 index 000000000..e86fe8a45 --- /dev/null +++ b/src/test/java/com/booleanuk/core/TransactionTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class TransactionTest { +} From a7f9f3c93746a3e1e2d8aed5475838b05bee29e3 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 10:00:29 +0100 Subject: [PATCH 02/29] Test made for method addAccount() in BankBranch-class. --- src/test/java/com/booleanuk/core/BankBranchTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index 4438ecf15..01f9eac04 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -15,5 +15,13 @@ public class BankBranchTest { }}; + @Test + public void bankAccountIdExistsAlready(){ + BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); + BankAccount existingAccount = new CurrentAccount(1, 5000D); + + + Assertions.assertFalse(bankBranch.addAccount(existingAccount)); + } } From 6cc70a9eff0aa9e0691dc39cd1de8b77a69f955e Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 10:28:52 +0100 Subject: [PATCH 03/29] initial method for addAccount() in BankBranch-class completed. --- src/main/java/com/booleanuk/core/BankBranch.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/booleanuk/core/BankBranch.java b/src/main/java/com/booleanuk/core/BankBranch.java index df3df62f5..7f0de7170 100644 --- a/src/main/java/com/booleanuk/core/BankBranch.java +++ b/src/main/java/com/booleanuk/core/BankBranch.java @@ -18,4 +18,8 @@ public BankBranch(Integer branchID, String location){ this.location = location; this.listOfBankAccounts = new ArrayList(); } + + public boolean addAccount(BankAccount accountToAdd){ + return false; + } } From 74c568443e141de9930ca88ab8e677d752ea53a6 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 10:36:01 +0100 Subject: [PATCH 04/29] Added another Test for addAccount(). Method for addAccount() in BankBranch-class completed. --- src/main/java/com/booleanuk/core/BankAccount.java | 12 ++++++++++++ src/main/java/com/booleanuk/core/BankBranch.java | 8 +++++++- src/test/java/com/booleanuk/core/BankBranchTest.java | 9 ++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index d6ff87631..c15e761e5 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -18,4 +18,16 @@ public BankAccount(Integer uniqueBankNumber, Double balance){ this.balance = balance; this.listOfTransactions = new ArrayList(); } + + public Double getBalance() { + return balance; + } + + public Integer getUniqueBankNumber() { + return uniqueBankNumber; + } + + public ArrayList getListOfTransactions() { + return listOfTransactions; + } } diff --git a/src/main/java/com/booleanuk/core/BankBranch.java b/src/main/java/com/booleanuk/core/BankBranch.java index 7f0de7170..0185b87ef 100644 --- a/src/main/java/com/booleanuk/core/BankBranch.java +++ b/src/main/java/com/booleanuk/core/BankBranch.java @@ -20,6 +20,12 @@ public BankBranch(Integer branchID, String location){ } public boolean addAccount(BankAccount accountToAdd){ - return false; + for(BankAccount account : this.listOfBankAccounts){ + if(account.getUniqueBankNumber() == accountToAdd.getUniqueBankNumber()){ + return false; + } + } + this.listOfBankAccounts.add(accountToAdd); + return true; } } diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index 01f9eac04..7836a0198 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -20,8 +20,15 @@ public void bankAccountIdExistsAlready(){ BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); BankAccount existingAccount = new CurrentAccount(1, 5000D); - Assertions.assertFalse(bankBranch.addAccount(existingAccount)); } + @Test + public void bankAccountIdDontExists(){ + BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); + BankAccount newAccount = new CurrentAccount(3, 5000D); + + Assertions.assertTrue(bankBranch.addAccount(newAccount)); + } + } From aa42c32e167aadb82db5b089373afc9a244bf66e Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 10:48:18 +0100 Subject: [PATCH 05/29] Created the Transaction-class and populated the ArrayList listOfTransactions in the BankAccountTest-class --- .../java/com/booleanuk/core/Transaction.java | 12 ++++++++++++ .../com/booleanuk/core/BankAccountTest.java | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java index a85f5696b..b69023091 100644 --- a/src/main/java/com/booleanuk/core/Transaction.java +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -1,4 +1,16 @@ package com.booleanuk.core; +import java.time.LocalDate; +import java.time.LocalDateTime; + public class Transaction { + private LocalDateTime date; + private Double amount; + private String typeOfTransaction; + + public Transaction(LocalDateTime date, Double amount, String typeOfTransaction){ + this.date = date; + this.amount = amount; + this.typeOfTransaction = typeOfTransaction; + } } diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index 7afe518b4..bb2857f98 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -1,4 +1,22 @@ package com.booleanuk.core; +import java.time.LocalDateTime; +import java.util.ArrayList; + public class BankAccountTest { + private ArrayList listOfTransactions = new ArrayList<>(){{ + LocalDateTime dateTime1 = LocalDateTime.now(); + Transaction transaction1 = new Transaction(dateTime1, 200D, "Deposit"); + add(transaction1); + + LocalDateTime dateTime2 = dateTime1.plusHours(1); + Transaction transaction2 = new Transaction(dateTime2, 700D, "Deposit"); + add(transaction2); + + LocalDateTime dateTime3 = dateTime1.plusDays(2); + Transaction transaction3 = new Transaction(dateTime3, 900D, "Withdraw"); + add(transaction3); + }}; + + } From 4a997dc722d4ed3da1d711017fb2e972abdc4b0b Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:06:08 +0100 Subject: [PATCH 06/29] Added getters and setters for the transaction-class. Changed the constructor for the BankAccount class, thus I needed to update the constructor for CurrentAccount and SavingsAccount classes. --- src/main/java/com/booleanuk/core/BankAccount.java | 12 ++++++++---- src/main/java/com/booleanuk/core/CurrentAccount.java | 8 ++++---- src/main/java/com/booleanuk/core/SavingsAccount.java | 8 ++++---- src/main/java/com/booleanuk/core/Transaction.java | 12 ++++++++++++ 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index c15e761e5..cb2e8e26d 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -7,15 +7,19 @@ public class BankAccount { private Double balance; private ArrayList listOfTransactions; - public BankAccount(Integer uniqueBankNumber, Double balance, ArrayList listOfTransactions){ + public BankAccount(Integer uniqueBankNumber, ArrayList listOfTransactions){ this.uniqueBankNumber = uniqueBankNumber; - this.balance = balance; + + for(Transaction transaction : listOfTransactions){ + this.balance += transaction.getAmount(); + } + this.balance = Math.round(this.balance * 100.0) / 100.0; this.listOfTransactions = listOfTransactions; } - public BankAccount(Integer uniqueBankNumber, Double balance){ + public BankAccount(Integer uniqueBankNumber){ this.uniqueBankNumber = uniqueBankNumber; - this.balance = balance; + this.balance = 0D; this.listOfTransactions = new ArrayList(); } diff --git a/src/main/java/com/booleanuk/core/CurrentAccount.java b/src/main/java/com/booleanuk/core/CurrentAccount.java index 3b61f23be..c368fd53b 100644 --- a/src/main/java/com/booleanuk/core/CurrentAccount.java +++ b/src/main/java/com/booleanuk/core/CurrentAccount.java @@ -7,11 +7,11 @@ public class CurrentAccount extends BankAccount{ private Double balance; private ArrayList listOfTransactions; - public CurrentAccount(Integer uniqueBankNumber, Double balance, ArrayList listOfTransactions){ - super(uniqueBankNumber, balance, listOfTransactions); + public CurrentAccount(Integer uniqueBankNumber, ArrayList listOfTransactions){ + super(uniqueBankNumber, listOfTransactions); } - public CurrentAccount(Integer uniqueBankNumber, Double balance){ - super(uniqueBankNumber, balance); + public CurrentAccount(Integer uniqueBankNumber){ + super(uniqueBankNumber); } } diff --git a/src/main/java/com/booleanuk/core/SavingsAccount.java b/src/main/java/com/booleanuk/core/SavingsAccount.java index 2d5113a7f..846f1fea9 100644 --- a/src/main/java/com/booleanuk/core/SavingsAccount.java +++ b/src/main/java/com/booleanuk/core/SavingsAccount.java @@ -7,11 +7,11 @@ public class SavingsAccount extends BankAccount{ private Double balance; private ArrayList listOfTransactions; - public SavingsAccount(Integer uniqueBankNumber, Double balance, ArrayList listOfTransactions){ - super(uniqueBankNumber, balance, listOfTransactions); + public SavingsAccount(Integer uniqueBankNumber, ArrayList listOfTransactions){ + super(uniqueBankNumber, listOfTransactions); } - public SavingsAccount(Integer uniqueBankNumber, Double balance){ - super(uniqueBankNumber, balance); + public SavingsAccount(Integer uniqueBankNumber){ + super(uniqueBankNumber); } } diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java index b69023091..ad70dbf27 100644 --- a/src/main/java/com/booleanuk/core/Transaction.java +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -13,4 +13,16 @@ public Transaction(LocalDateTime date, Double amount, String typeOfTransaction){ this.amount = amount; this.typeOfTransaction = typeOfTransaction; } + + public LocalDateTime getDate() { + return date; + } + + public Double getAmount() { + return amount; + } + + public String getTypeOfTransaction() { + return typeOfTransaction; + } } From b3e982dbc422ca2e187bf9ceeaecb0070dad4e2b Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:07:33 +0100 Subject: [PATCH 07/29] Changed the constructor for the BankAccount class, thus I needed to update BankBranchTest where BankAccounts where instansiated --- src/test/java/com/booleanuk/core/BankBranchTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index 7836a0198..eb87f0c84 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -7,10 +7,10 @@ public class BankBranchTest { private ArrayList listOfBankAccounts = new ArrayList<>(){{ - BankAccount currentAccount = new CurrentAccount(1, 1000D); + BankAccount currentAccount = new CurrentAccount(1); add(currentAccount); - BankAccount savingsAccount = new SavingsAccount(2, 2000D); + BankAccount savingsAccount = new SavingsAccount(2); add(savingsAccount); }}; @@ -18,7 +18,7 @@ public class BankBranchTest { @Test public void bankAccountIdExistsAlready(){ BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); - BankAccount existingAccount = new CurrentAccount(1, 5000D); + BankAccount existingAccount = new CurrentAccount(1); Assertions.assertFalse(bankBranch.addAccount(existingAccount)); } @@ -26,7 +26,7 @@ public void bankAccountIdExistsAlready(){ @Test public void bankAccountIdDontExists(){ BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); - BankAccount newAccount = new CurrentAccount(3, 5000D); + BankAccount newAccount = new CurrentAccount(3); Assertions.assertTrue(bankBranch.addAccount(newAccount)); } From 51329e1e9373d07203d61ad1d9c56b5eb753238c Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:09:45 +0100 Subject: [PATCH 08/29] Test for makeDeposit() method completed. --- .../java/com/booleanuk/core/BankAccountTest.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index bb2857f98..b72b892ac 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -1,5 +1,8 @@ package com.booleanuk.core; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + import java.time.LocalDateTime; import java.util.ArrayList; @@ -14,9 +17,16 @@ public class BankAccountTest { add(transaction2); LocalDateTime dateTime3 = dateTime1.plusDays(2); - Transaction transaction3 = new Transaction(dateTime3, 900D, "Withdraw"); + Transaction transaction3 = new Transaction(dateTime3, 500D, "Withdraw"); add(transaction3); }}; + @Test + public void balanceIncreases(){ + BankAccount account = new CurrentAccount(1, listOfTransactions); + LocalDateTime dateTime = LocalDateTime.now(); + dateTime = dateTime.plusDays(4); + Assertions.assertEquals(600D, account.makeDeposit(200D, dateTime)); + } } From 83a31484cd5d1f56fe703faed43589387905b33d Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:13:31 +0100 Subject: [PATCH 09/29] makeDeposit() initial method completed. Needed to do a little adjustment to the constructor in BankAccount in order to not fail. --- src/main/java/com/booleanuk/core/BankAccount.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index cb2e8e26d..1b9032c5d 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -1,5 +1,6 @@ package com.booleanuk.core; +import java.time.LocalDateTime; import java.util.ArrayList; public class BankAccount { @@ -10,10 +11,12 @@ public class BankAccount { public BankAccount(Integer uniqueBankNumber, ArrayList listOfTransactions){ this.uniqueBankNumber = uniqueBankNumber; + Double totalBalance = 0D; for(Transaction transaction : listOfTransactions){ - this.balance += transaction.getAmount(); + totalBalance += transaction.getAmount(); } - this.balance = Math.round(this.balance * 100.0) / 100.0; + + this.balance = Math.round(totalBalance * 100.0) / 100.0; this.listOfTransactions = listOfTransactions; } @@ -34,4 +37,8 @@ public Integer getUniqueBankNumber() { public ArrayList getListOfTransactions() { return listOfTransactions; } + + public Double makeDeposit(Double amount, LocalDateTime dateTime){ + return 600D; + } } From f36a7c572d2b4f7bce51ac41a954b3c28974e159 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:23:44 +0100 Subject: [PATCH 10/29] makeDeposit() method completed. Added a "-" mark when populating the listOfTransactions in the BankAccountTest class so that the correct balance was calculated. Added an extra test to make sure that you cant deposit negative values. --- src/main/java/com/booleanuk/core/BankAccount.java | 7 ++++++- .../java/com/booleanuk/core/BankAccountTest.java | 13 +++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index 1b9032c5d..e5ed345fd 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -39,6 +39,11 @@ public ArrayList getListOfTransactions() { } public Double makeDeposit(Double amount, LocalDateTime dateTime){ - return 600D; + if((this.balance + amount) > this.balance){ + Transaction deposit = new Transaction(dateTime, amount, "Deposit"); + this.listOfTransactions.add(deposit); + this.balance += amount; + } + return this.balance; } } diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index b72b892ac..08aa9e12d 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -17,16 +17,25 @@ public class BankAccountTest { add(transaction2); LocalDateTime dateTime3 = dateTime1.plusDays(2); - Transaction transaction3 = new Transaction(dateTime3, 500D, "Withdraw"); + Transaction transaction3 = new Transaction(dateTime3, -500D, "Withdraw"); add(transaction3); }}; @Test - public void balanceIncreases(){ + public void balanceIncreasesWhenInputingValidAmount(){ BankAccount account = new CurrentAccount(1, listOfTransactions); LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); Assertions.assertEquals(600D, account.makeDeposit(200D, dateTime)); } + + @Test + public void balanceStaysTheSameWhenInputingNonValidAmount(){ + BankAccount account = new CurrentAccount(1, listOfTransactions); + LocalDateTime dateTime = LocalDateTime.now(); + dateTime = dateTime.plusDays(4); + + Assertions.assertEquals(400D, account.makeDeposit(-200D, dateTime)); + } } From e5b61f2a2d4e8959ff9efb4947050caf1377e9f9 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:25:58 +0100 Subject: [PATCH 11/29] Initial test made for makeWithDraw() method. --- src/test/java/com/booleanuk/core/BankAccountTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index 08aa9e12d..5215c7fb3 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -38,4 +38,13 @@ public void balanceStaysTheSameWhenInputingNonValidAmount(){ Assertions.assertEquals(400D, account.makeDeposit(-200D, dateTime)); } + + @Test + public void balanceDecreasesWhenInputingValidAmount(){ + BankAccount account = new CurrentAccount(1, listOfTransactions); + LocalDateTime dateTime = LocalDateTime.now(); + dateTime = dateTime.plusDays(4); + + Assertions.assertEquals(300D, account.makeWithDraw(100D, dateTime)); + } } From f56e60f6961b6c1068634aaafd031dd3c90fced8 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:26:55 +0100 Subject: [PATCH 12/29] Initial method makeWithDraw() completed. --- src/main/java/com/booleanuk/core/BankAccount.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index e5ed345fd..569df72c2 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -46,4 +46,8 @@ public Double makeDeposit(Double amount, LocalDateTime dateTime){ } return this.balance; } + + public Double makeWithDraw(Double amount, LocalDateTime dateTime){ + return 300D; + } } From 3856d1f96d38dd9124294bf542617c2578924c26 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:30:00 +0100 Subject: [PATCH 13/29] added another test for makeWithDraw(). --- .../java/com/booleanuk/core/BankAccountTest.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index 5215c7fb3..d80de6320 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -22,7 +22,7 @@ public class BankAccountTest { }}; @Test - public void balanceIncreasesWhenInputingValidAmount(){ + public void balanceIncreasesWhenDepositingValidAmount(){ BankAccount account = new CurrentAccount(1, listOfTransactions); LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); @@ -31,7 +31,7 @@ public void balanceIncreasesWhenInputingValidAmount(){ } @Test - public void balanceStaysTheSameWhenInputingNonValidAmount(){ + public void balanceStaysTheSameWhenDepositingNonValidAmount(){ BankAccount account = new CurrentAccount(1, listOfTransactions); LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); @@ -40,11 +40,20 @@ public void balanceStaysTheSameWhenInputingNonValidAmount(){ } @Test - public void balanceDecreasesWhenInputingValidAmount(){ + public void balanceDecreasesWhenWithdrawingValidAmount(){ BankAccount account = new CurrentAccount(1, listOfTransactions); LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); Assertions.assertEquals(300D, account.makeWithDraw(100D, dateTime)); } + + @Test + public void balanceStaysTheSameWhenWithdrawingNonValidAmount(){ + BankAccount account = new CurrentAccount(1, listOfTransactions); + LocalDateTime dateTime = LocalDateTime.now(); + dateTime = dateTime.plusDays(4); + + Assertions.assertEquals(400D, account.makeWithDraw(-100D, dateTime)); + } } From 97f7cc5a0c9d0beaa9c0fb55ecb60d68bd7cccac Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:34:53 +0100 Subject: [PATCH 14/29] method makeWithDraw() completed. Made a small error in the correspoding test, a "-" mark had changed place between the two tests. This was also fixed. --- src/main/java/com/booleanuk/core/BankAccount.java | 7 ++++++- src/test/java/com/booleanuk/core/BankAccountTest.java | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index 569df72c2..10919c6b1 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -48,6 +48,11 @@ public Double makeDeposit(Double amount, LocalDateTime dateTime){ } public Double makeWithDraw(Double amount, LocalDateTime dateTime){ - return 300D; + if((this.balance + amount) < this.balance){ + Transaction withdraw = new Transaction(dateTime, amount, "Withdraw"); + this.listOfTransactions.add(withdraw); + this.balance += amount; + } + return this.balance; } } diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index d80de6320..725ff21ce 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -45,7 +45,7 @@ public void balanceDecreasesWhenWithdrawingValidAmount(){ LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); - Assertions.assertEquals(300D, account.makeWithDraw(100D, dateTime)); + Assertions.assertEquals(300D, account.makeWithDraw(-100D, dateTime)); } @Test @@ -54,6 +54,6 @@ public void balanceStaysTheSameWhenWithdrawingNonValidAmount(){ LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); - Assertions.assertEquals(400D, account.makeWithDraw(-100D, dateTime)); + Assertions.assertEquals(400D, account.makeWithDraw(100D, dateTime)); } } From 89309ea596d14810904dc9b03801cb3523c806ac Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 11:57:13 +0100 Subject: [PATCH 15/29] Deleted the correctlyFormattedTransaction() from the classdiagram, thus also the testclass. This is because I needed access to the balance anyway to correctly format the strings that should be outputed in the generateBankStatement() method. --- classDiagramBeforeExtension.png | Bin 82184 -> 78894 bytes .../com/booleanuk/core/TransactionTest.java | 4 ---- 2 files changed, 4 deletions(-) delete mode 100644 src/test/java/com/booleanuk/core/TransactionTest.java diff --git a/classDiagramBeforeExtension.png b/classDiagramBeforeExtension.png index d9d0463db1eebb32f9914a81c523b7fd649c5508..2d0bc342b1a2bd034e939f1d30a056b4ac307b9f 100644 GIT binary patch literal 78894 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ÍT28wq> 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 R&Sl_p;0uR+WqW-R{sn=2LIMB) diff --git a/src/test/java/com/booleanuk/core/TransactionTest.java b/src/test/java/com/booleanuk/core/TransactionTest.java deleted file mode 100644 index e86fe8a45..000000000 --- a/src/test/java/com/booleanuk/core/TransactionTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.booleanuk.core; - -public class TransactionTest { -} From 0b65ddc2d33264739c2bf5427c3e76d5bd36d7e3 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 12:18:55 +0100 Subject: [PATCH 16/29] Realised that I could add "newBalance" to Transaction class when instantiating a new object, thus I would be able to format the transaction in the Transaction class. I changed the class diagram and also all the places where transactions are instansiated. --- classDiagramBeforeExtension.png | Bin 78894 -> 80041 bytes .../java/com/booleanuk/core/BankAccount.java | 4 ++-- .../java/com/booleanuk/core/Transaction.java | 4 +++- .../com/booleanuk/core/BankAccountTest.java | 6 +++--- .../com/booleanuk/core/TransactionTest.java | 4 ++++ 5 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 src/test/java/com/booleanuk/core/TransactionTest.java diff --git a/classDiagramBeforeExtension.png b/classDiagramBeforeExtension.png index 2d0bc342b1a2bd034e939f1d30a056b4ac307b9f..a7f2980c6d66862a2bbe4b82597d57cbfc5c104c 100644 GIT binary patch literal 80041 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 Ml+DR9^NZ1c0UxKe@c;k- literal 78894 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 getListOfTransactions() { public Double makeDeposit(Double amount, LocalDateTime dateTime){ if((this.balance + amount) > this.balance){ - Transaction deposit = new Transaction(dateTime, amount, "Deposit"); + Transaction deposit = new Transaction(dateTime, amount, "Deposit", (this.balance + amount)); this.listOfTransactions.add(deposit); this.balance += amount; } @@ -49,7 +49,7 @@ public Double makeDeposit(Double amount, LocalDateTime dateTime){ public Double makeWithDraw(Double amount, LocalDateTime dateTime){ if((this.balance + amount) < this.balance){ - Transaction withdraw = new Transaction(dateTime, amount, "Withdraw"); + Transaction withdraw = new Transaction(dateTime, amount, "Withdraw", (this.balance + amount)); this.listOfTransactions.add(withdraw); this.balance += amount; } diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java index ad70dbf27..a54eb5e22 100644 --- a/src/main/java/com/booleanuk/core/Transaction.java +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -7,11 +7,13 @@ public class Transaction { private LocalDateTime date; private Double amount; private String typeOfTransaction; + private Double newBalance; - public Transaction(LocalDateTime date, Double amount, String typeOfTransaction){ + public Transaction(LocalDateTime date, Double amount, String typeOfTransaction, Double newBalance){ this.date = date; this.amount = amount; this.typeOfTransaction = typeOfTransaction; + this.newBalance = newBalance; } public LocalDateTime getDate() { diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index 725ff21ce..ff54f3381 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -9,15 +9,15 @@ public class BankAccountTest { private ArrayList listOfTransactions = new ArrayList<>(){{ LocalDateTime dateTime1 = LocalDateTime.now(); - Transaction transaction1 = new Transaction(dateTime1, 200D, "Deposit"); + Transaction transaction1 = new Transaction(dateTime1, 200D, "Deposit", 200D); add(transaction1); LocalDateTime dateTime2 = dateTime1.plusHours(1); - Transaction transaction2 = new Transaction(dateTime2, 700D, "Deposit"); + Transaction transaction2 = new Transaction(dateTime2, 700D, "Deposit", 900D); add(transaction2); LocalDateTime dateTime3 = dateTime1.plusDays(2); - Transaction transaction3 = new Transaction(dateTime3, -500D, "Withdraw"); + Transaction transaction3 = new Transaction(dateTime3, -500D, "Withdraw", 400D); add(transaction3); }}; diff --git a/src/test/java/com/booleanuk/core/TransactionTest.java b/src/test/java/com/booleanuk/core/TransactionTest.java new file mode 100644 index 000000000..e86fe8a45 --- /dev/null +++ b/src/test/java/com/booleanuk/core/TransactionTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class TransactionTest { +} From 6a68e1983700fa3c3109350d3b91472b9bb53844 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 13:21:41 +0100 Subject: [PATCH 17/29] Added a getter for the newBalance in the Transaction class. I also made the tests for formatTransactionForBankStatement() in Transaction --- .../java/com/booleanuk/core/Transaction.java | 4 ++++ .../com/booleanuk/core/TransactionTest.java | 23 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java index a54eb5e22..28c7b7bcc 100644 --- a/src/main/java/com/booleanuk/core/Transaction.java +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -27,4 +27,8 @@ public Double getAmount() { public String getTypeOfTransaction() { return typeOfTransaction; } + + public Double getNewBalance() { + return newBalance; + } } diff --git a/src/test/java/com/booleanuk/core/TransactionTest.java b/src/test/java/com/booleanuk/core/TransactionTest.java index e86fe8a45..087eee1e4 100644 --- a/src/test/java/com/booleanuk/core/TransactionTest.java +++ b/src/test/java/com/booleanuk/core/TransactionTest.java @@ -1,4 +1,27 @@ package com.booleanuk.core; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.time.LocalDateTime; + public class TransactionTest { + @Test + public void correctFormattedTransactionCredit(){ + LocalDateTime dateTime = LocalDateTime.of(2024, 9, 7, 13, 24, 10); + Transaction transaction = new Transaction(dateTime, 200D, "Credit", 300D); + String correctlyFormattedTransaction = "2024-09-07 || 200 || || 200"; + + Assertions.assertEquals(correctlyFormattedTransaction, transaction.formatTransactionForBankStatement()); + } + + @Test + public void correctFormattedTransactionDebit(){ + LocalDateTime dateTime = LocalDateTime.of(2024, 9, 7, 13, 24, 10); + Transaction transaction = new Transaction(dateTime, 200D, "Debit", 300D); + String correctlyFormattedTransaction = "2024-09-07 || || 200 || 300"; + + + Assertions.assertEquals(correctlyFormattedTransaction, transaction.formatTransactionForBankStatement()); + } } From 248708a4fbd56f81361e12dbcf32bb6cc4cd378d Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 13:54:01 +0100 Subject: [PATCH 18/29] Completed formatTransactionForBankStatement() i Transaction --- src/main/java/com/booleanuk/core/Transaction.java | 14 ++++++++++++++ .../java/com/booleanuk/core/TransactionTest.java | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java index 28c7b7bcc..38bd80856 100644 --- a/src/main/java/com/booleanuk/core/Transaction.java +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -2,6 +2,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; public class Transaction { private LocalDateTime date; @@ -31,4 +32,17 @@ public String getTypeOfTransaction() { public Double getNewBalance() { return newBalance; } + + public String formatTransactionForBankStatement(){ + String formatedTransaction = ""; + + formatedTransaction = this.getDate().toString() + " || "; + if(this.getTypeOfTransaction().equals("Debit")){ + formatedTransaction += " || " + this.getAmount() + " || " + this.getNewBalance(); + } else if (this.getTypeOfTransaction().equals("Credit")) { + formatedTransaction += this.getAmount() + " || || " + this.getNewBalance(); + } + + return formatedTransaction; + } } diff --git a/src/test/java/com/booleanuk/core/TransactionTest.java b/src/test/java/com/booleanuk/core/TransactionTest.java index 087eee1e4..eada31d65 100644 --- a/src/test/java/com/booleanuk/core/TransactionTest.java +++ b/src/test/java/com/booleanuk/core/TransactionTest.java @@ -10,7 +10,7 @@ public class TransactionTest { public void correctFormattedTransactionCredit(){ LocalDateTime dateTime = LocalDateTime.of(2024, 9, 7, 13, 24, 10); Transaction transaction = new Transaction(dateTime, 200D, "Credit", 300D); - String correctlyFormattedTransaction = "2024-09-07 || 200 || || 200"; + String correctlyFormattedTransaction = "2024-09-07T13:24:10 || 200.0 || || 300.0"; Assertions.assertEquals(correctlyFormattedTransaction, transaction.formatTransactionForBankStatement()); } @@ -19,7 +19,7 @@ public void correctFormattedTransactionCredit(){ public void correctFormattedTransactionDebit(){ LocalDateTime dateTime = LocalDateTime.of(2024, 9, 7, 13, 24, 10); Transaction transaction = new Transaction(dateTime, 200D, "Debit", 300D); - String correctlyFormattedTransaction = "2024-09-07 || || 200 || 300"; + String correctlyFormattedTransaction = "2024-09-07T13:24:10 || || 200.0 || 300.0"; Assertions.assertEquals(correctlyFormattedTransaction, transaction.formatTransactionForBankStatement()); From b766d930e4718c58ad6a22da2e1ba13a0a9dcae3 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 14:08:40 +0100 Subject: [PATCH 19/29] Test made for generateBankStatements() in BankAccount --- .../java/com/booleanuk/core/Transaction.java | 4 ++-- .../com/booleanuk/core/BankAccountTest.java | 21 ++++++++++++++++--- .../com/booleanuk/core/TransactionTest.java | 4 ++-- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java index 38bd80856..dc648ec6c 100644 --- a/src/main/java/com/booleanuk/core/Transaction.java +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -37,9 +37,9 @@ public String formatTransactionForBankStatement(){ String formatedTransaction = ""; formatedTransaction = this.getDate().toString() + " || "; - if(this.getTypeOfTransaction().equals("Debit")){ + if(this.getTypeOfTransaction().equals("Withdraw")){ formatedTransaction += " || " + this.getAmount() + " || " + this.getNewBalance(); - } else if (this.getTypeOfTransaction().equals("Credit")) { + } else if (this.getTypeOfTransaction().equals("Deposit")) { formatedTransaction += this.getAmount() + " || || " + this.getNewBalance(); } diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index ff54f3381..1f759a03a 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -8,15 +8,15 @@ public class BankAccountTest { private ArrayList listOfTransactions = new ArrayList<>(){{ - LocalDateTime dateTime1 = LocalDateTime.now(); + LocalDateTime dateTime1 = LocalDateTime.of(2024, 9, 7, 13, 24, 10); Transaction transaction1 = new Transaction(dateTime1, 200D, "Deposit", 200D); add(transaction1); - LocalDateTime dateTime2 = dateTime1.plusHours(1); + LocalDateTime dateTime2 = LocalDateTime.of(2024, 11, 5, 10, 30, 8); Transaction transaction2 = new Transaction(dateTime2, 700D, "Deposit", 900D); add(transaction2); - LocalDateTime dateTime3 = dateTime1.plusDays(2); + LocalDateTime dateTime3 = LocalDateTime.of(2025, 1, 13, 13, 58, 10); Transaction transaction3 = new Transaction(dateTime3, -500D, "Withdraw", 400D); add(transaction3); }}; @@ -56,4 +56,19 @@ public void balanceStaysTheSameWhenWithdrawingNonValidAmount(){ Assertions.assertEquals(400D, account.makeWithDraw(100D, dateTime)); } + + + + + @Test + public void correctBankStatementsAreOutputed(){ + BankAccount account = new CurrentAccount(1, listOfTransactions); + String correctBankStatement = + "Date || Credit || Debit || Balance\n" + + "2025-01-13T13:58:10 || || 500.0 || 400.0\n" + + "2024-11-05T10:30:08 || 700.0 || || 900.0\n" + + "2024-09-07T13:24:10 || 700.0 || || 900.0\n"; + + Assertions.assertEquals(correctBankStatement, account.generateBankStatements()); + } } diff --git a/src/test/java/com/booleanuk/core/TransactionTest.java b/src/test/java/com/booleanuk/core/TransactionTest.java index eada31d65..6d4a7464d 100644 --- a/src/test/java/com/booleanuk/core/TransactionTest.java +++ b/src/test/java/com/booleanuk/core/TransactionTest.java @@ -9,7 +9,7 @@ public class TransactionTest { @Test public void correctFormattedTransactionCredit(){ LocalDateTime dateTime = LocalDateTime.of(2024, 9, 7, 13, 24, 10); - Transaction transaction = new Transaction(dateTime, 200D, "Credit", 300D); + Transaction transaction = new Transaction(dateTime, 200D, "Deposit", 300D); String correctlyFormattedTransaction = "2024-09-07T13:24:10 || 200.0 || || 300.0"; Assertions.assertEquals(correctlyFormattedTransaction, transaction.formatTransactionForBankStatement()); @@ -18,7 +18,7 @@ public void correctFormattedTransactionCredit(){ @Test public void correctFormattedTransactionDebit(){ LocalDateTime dateTime = LocalDateTime.of(2024, 9, 7, 13, 24, 10); - Transaction transaction = new Transaction(dateTime, 200D, "Debit", 300D); + Transaction transaction = new Transaction(dateTime, 200D, "Withdraw", 300D); String correctlyFormattedTransaction = "2024-09-07T13:24:10 || || 200.0 || 300.0"; From f2f74577311116afbe4db9bde32f2acffa9ac01f Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 14:33:40 +0100 Subject: [PATCH 20/29] Method generateBankStatements() in BankAccount completed. Noticed that I did my previous code with having the "amount" of a withdraw-transacting being negative. This caused problem with the generateBankStatements(), thus I changed it to be a positive number, resulting in changes needed elsewhere --- .../java/com/booleanuk/core/BankAccount.java | 22 +++++++++++++++---- .../com/booleanuk/core/BankAccountTest.java | 8 +++---- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index f1c1f132c..2e5e75168 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -13,7 +13,12 @@ public BankAccount(Integer uniqueBankNumber, ArrayList listOfTransa Double totalBalance = 0D; for(Transaction transaction : listOfTransactions){ - totalBalance += transaction.getAmount(); + if(transaction.getTypeOfTransaction().equals("Withdraw")){ + totalBalance -= transaction.getAmount(); + } + else { + totalBalance += transaction.getAmount(); + } } this.balance = Math.round(totalBalance * 100.0) / 100.0; @@ -48,11 +53,20 @@ public Double makeDeposit(Double amount, LocalDateTime dateTime){ } public Double makeWithDraw(Double amount, LocalDateTime dateTime){ - if((this.balance + amount) < this.balance){ - Transaction withdraw = new Transaction(dateTime, amount, "Withdraw", (this.balance + amount)); + if(amount > 0){ + Transaction withdraw = new Transaction(dateTime, amount, "Withdraw", (this.balance - amount)); this.listOfTransactions.add(withdraw); - this.balance += amount; + this.balance -= amount; } return this.balance; } + + public String generateBankStatements(){ + String correctBankStatement = "Date || Credit || Debit || Balance\n"; + System.out.println(this.listOfTransactions.size()); + for(int i = (this.listOfTransactions.size() - 1); i >= 0; i--){ + correctBankStatement += this.listOfTransactions.get(i).formatTransactionForBankStatement() + "\n"; + } + return correctBankStatement; + } } diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index 1f759a03a..58ac3d08d 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -17,7 +17,7 @@ public class BankAccountTest { add(transaction2); LocalDateTime dateTime3 = LocalDateTime.of(2025, 1, 13, 13, 58, 10); - Transaction transaction3 = new Transaction(dateTime3, -500D, "Withdraw", 400D); + Transaction transaction3 = new Transaction(dateTime3, 500D, "Withdraw", 400D); add(transaction3); }}; @@ -45,7 +45,7 @@ public void balanceDecreasesWhenWithdrawingValidAmount(){ LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); - Assertions.assertEquals(300D, account.makeWithDraw(-100D, dateTime)); + Assertions.assertEquals(300D, account.makeWithDraw(100D, dateTime)); } @Test @@ -54,7 +54,7 @@ public void balanceStaysTheSameWhenWithdrawingNonValidAmount(){ LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); - Assertions.assertEquals(400D, account.makeWithDraw(100D, dateTime)); + Assertions.assertEquals(400D, account.makeWithDraw(-100D, dateTime)); } @@ -67,7 +67,7 @@ public void correctBankStatementsAreOutputed(){ "Date || Credit || Debit || Balance\n" + "2025-01-13T13:58:10 || || 500.0 || 400.0\n" + "2024-11-05T10:30:08 || 700.0 || || 900.0\n" + - "2024-09-07T13:24:10 || 700.0 || || 900.0\n"; + "2024-09-07T13:24:10 || 200.0 || || 200.0\n"; Assertions.assertEquals(correctBankStatement, account.generateBankStatements()); } From eaa6a0a9bdc22326c27a34c8923f75e747c47f12 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 14:44:52 +0100 Subject: [PATCH 21/29] Test for the first extension where im updating my getter for this.balance so it it calculated every time it is called. --- .../java/com/booleanuk/core/BankAccountTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index 58ac3d08d..e02fe3995 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -71,4 +71,18 @@ public void correctBankStatementsAreOutputed(){ Assertions.assertEquals(correctBankStatement, account.generateBankStatements()); } + + + + + + // EXTENSION 1 + // Im updating my getter (getBalance()) so it is calculated whenever its called. + @Test + public void getterCalculateCorrectly(){ + BankAccount account = new CurrentAccount(1, listOfTransactions); + + Assertions.assertEquals(400, account.getBalance()); + } + } From 79800d58a4dc66288d6f3b126449c27033abd327 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 14:48:55 +0100 Subject: [PATCH 22/29] Completed Method for the first extension where im updating my getter for this.balance so it it calculated every time it is called. I also changed this.balance to this.getBalance() in the code in class BankAccount --- .../java/com/booleanuk/core/BankAccount.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index 2e5e75168..e85e5c1fc 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -32,7 +32,16 @@ public BankAccount(Integer uniqueBankNumber){ } public Double getBalance() { - return balance; + Double calculatedBalance = 0D; + for(Transaction transaction : listOfTransactions){ + if(transaction.getTypeOfTransaction().equals("Withdraw")){ + calculatedBalance -= transaction.getAmount(); + } + else { + calculatedBalance += transaction.getAmount(); + } + } + return calculatedBalance; } public Integer getUniqueBankNumber() { @@ -44,8 +53,8 @@ public ArrayList getListOfTransactions() { } public Double makeDeposit(Double amount, LocalDateTime dateTime){ - if((this.balance + amount) > this.balance){ - Transaction deposit = new Transaction(dateTime, amount, "Deposit", (this.balance + amount)); + if((this.getBalance() + amount) > this.getBalance()){ + Transaction deposit = new Transaction(dateTime, amount, "Deposit", (this.getBalance() + amount)); this.listOfTransactions.add(deposit); this.balance += amount; } @@ -54,7 +63,7 @@ public Double makeDeposit(Double amount, LocalDateTime dateTime){ public Double makeWithDraw(Double amount, LocalDateTime dateTime){ if(amount > 0){ - Transaction withdraw = new Transaction(dateTime, amount, "Withdraw", (this.balance - amount)); + Transaction withdraw = new Transaction(dateTime, amount, "Withdraw", (this.getBalance() - amount)); this.listOfTransactions.add(withdraw); this.balance -= amount; } From 2ae6ec50f36919ad82be82531422a3adfa83f39b Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 15:04:12 +0100 Subject: [PATCH 23/29] I already had a BankBranch class that have an Arraylist for extension 2, however I added "bankID" to the BankAccount class so that you could specify that BankAccounts thats added to the list belong to that specific BankBranch --- src/main/java/com/booleanuk/core/BankAccount.java | 15 +++++++++------ .../java/com/booleanuk/core/CurrentAccount.java | 9 +++++---- .../java/com/booleanuk/core/SavingsAccount.java | 9 +++++---- .../java/com/booleanuk/core/BankAccountTest.java | 12 ++++++------ .../java/com/booleanuk/core/BankBranchTest.java | 13 +++++++++---- 5 files changed, 34 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index e85e5c1fc..8a0a15754 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -4,12 +4,13 @@ import java.util.ArrayList; public class BankAccount { - private Integer uniqueBankNumber; + private Integer uniqueBankAccountNumber; private Double balance; private ArrayList listOfTransactions; + private Integer bankID; - public BankAccount(Integer uniqueBankNumber, ArrayList listOfTransactions){ - this.uniqueBankNumber = uniqueBankNumber; + public BankAccount(Integer uniqueBankAccountNumber, ArrayList listOfTransactions, Integer bankID){ + this.uniqueBankAccountNumber = uniqueBankAccountNumber; Double totalBalance = 0D; for(Transaction transaction : listOfTransactions){ @@ -23,12 +24,14 @@ public BankAccount(Integer uniqueBankNumber, ArrayList listOfTransa this.balance = Math.round(totalBalance * 100.0) / 100.0; this.listOfTransactions = listOfTransactions; + this.bankID = bankID; } - public BankAccount(Integer uniqueBankNumber){ - this.uniqueBankNumber = uniqueBankNumber; + public BankAccount(Integer uniqueBankAccountNumber, Integer bankID){ + this.uniqueBankAccountNumber = uniqueBankAccountNumber; this.balance = 0D; this.listOfTransactions = new ArrayList(); + this.bankID = bankID; } public Double getBalance() { @@ -45,7 +48,7 @@ public Double getBalance() { } public Integer getUniqueBankNumber() { - return uniqueBankNumber; + return uniqueBankAccountNumber; } public ArrayList getListOfTransactions() { diff --git a/src/main/java/com/booleanuk/core/CurrentAccount.java b/src/main/java/com/booleanuk/core/CurrentAccount.java index c368fd53b..b7f6fbb01 100644 --- a/src/main/java/com/booleanuk/core/CurrentAccount.java +++ b/src/main/java/com/booleanuk/core/CurrentAccount.java @@ -6,12 +6,13 @@ public class CurrentAccount extends BankAccount{ private Integer uniqueBankNumber; private Double balance; private ArrayList listOfTransactions; + private Integer bankID; - public CurrentAccount(Integer uniqueBankNumber, ArrayList listOfTransactions){ - super(uniqueBankNumber, listOfTransactions); + public CurrentAccount(Integer uniqueBankNumber, ArrayList listOfTransactions, Integer bankID){ + super(uniqueBankNumber, listOfTransactions, bankID); } - public CurrentAccount(Integer uniqueBankNumber){ - super(uniqueBankNumber); + public CurrentAccount(Integer uniqueBankNumber, Integer bankID){ + super(uniqueBankNumber, bankID); } } diff --git a/src/main/java/com/booleanuk/core/SavingsAccount.java b/src/main/java/com/booleanuk/core/SavingsAccount.java index 846f1fea9..def1e1d18 100644 --- a/src/main/java/com/booleanuk/core/SavingsAccount.java +++ b/src/main/java/com/booleanuk/core/SavingsAccount.java @@ -6,12 +6,13 @@ public class SavingsAccount extends BankAccount{ private Integer uniqueBankNumber; private Double balance; private ArrayList listOfTransactions; + private Integer bankID; - public SavingsAccount(Integer uniqueBankNumber, ArrayList listOfTransactions){ - super(uniqueBankNumber, listOfTransactions); + public SavingsAccount(Integer uniqueBankNumber, ArrayList listOfTransactions, Integer bankID){ + super(uniqueBankNumber, listOfTransactions, bankID); } - public SavingsAccount(Integer uniqueBankNumber){ - super(uniqueBankNumber); + public SavingsAccount(Integer uniqueBankNumber, Integer bankID){ + super(uniqueBankNumber, bankID); } } diff --git a/src/test/java/com/booleanuk/core/BankAccountTest.java b/src/test/java/com/booleanuk/core/BankAccountTest.java index e02fe3995..a7e0aee74 100644 --- a/src/test/java/com/booleanuk/core/BankAccountTest.java +++ b/src/test/java/com/booleanuk/core/BankAccountTest.java @@ -23,7 +23,7 @@ public class BankAccountTest { @Test public void balanceIncreasesWhenDepositingValidAmount(){ - BankAccount account = new CurrentAccount(1, listOfTransactions); + BankAccount account = new CurrentAccount(1, listOfTransactions, 1); LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); @@ -32,7 +32,7 @@ public void balanceIncreasesWhenDepositingValidAmount(){ @Test public void balanceStaysTheSameWhenDepositingNonValidAmount(){ - BankAccount account = new CurrentAccount(1, listOfTransactions); + BankAccount account = new CurrentAccount(1, listOfTransactions, 1); LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); @@ -41,7 +41,7 @@ public void balanceStaysTheSameWhenDepositingNonValidAmount(){ @Test public void balanceDecreasesWhenWithdrawingValidAmount(){ - BankAccount account = new CurrentAccount(1, listOfTransactions); + BankAccount account = new CurrentAccount(1, listOfTransactions, 1); LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); @@ -50,7 +50,7 @@ public void balanceDecreasesWhenWithdrawingValidAmount(){ @Test public void balanceStaysTheSameWhenWithdrawingNonValidAmount(){ - BankAccount account = new CurrentAccount(1, listOfTransactions); + BankAccount account = new CurrentAccount(1, listOfTransactions, 1); LocalDateTime dateTime = LocalDateTime.now(); dateTime = dateTime.plusDays(4); @@ -62,7 +62,7 @@ public void balanceStaysTheSameWhenWithdrawingNonValidAmount(){ @Test public void correctBankStatementsAreOutputed(){ - BankAccount account = new CurrentAccount(1, listOfTransactions); + BankAccount account = new CurrentAccount(1, listOfTransactions, 1); String correctBankStatement = "Date || Credit || Debit || Balance\n" + "2025-01-13T13:58:10 || || 500.0 || 400.0\n" + @@ -80,7 +80,7 @@ public void correctBankStatementsAreOutputed(){ // Im updating my getter (getBalance()) so it is calculated whenever its called. @Test public void getterCalculateCorrectly(){ - BankAccount account = new CurrentAccount(1, listOfTransactions); + BankAccount account = new CurrentAccount(1, listOfTransactions, 1); Assertions.assertEquals(400, account.getBalance()); } diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index eb87f0c84..ebce21237 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -7,10 +7,10 @@ public class BankBranchTest { private ArrayList listOfBankAccounts = new ArrayList<>(){{ - BankAccount currentAccount = new CurrentAccount(1); + BankAccount currentAccount = new CurrentAccount(1, 1); add(currentAccount); - BankAccount savingsAccount = new SavingsAccount(2); + BankAccount savingsAccount = new SavingsAccount(2, 1); add(savingsAccount); }}; @@ -18,7 +18,7 @@ public class BankBranchTest { @Test public void bankAccountIdExistsAlready(){ BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); - BankAccount existingAccount = new CurrentAccount(1); + BankAccount existingAccount = new CurrentAccount(1, 1); Assertions.assertFalse(bankBranch.addAccount(existingAccount)); } @@ -26,9 +26,14 @@ public void bankAccountIdExistsAlready(){ @Test public void bankAccountIdDontExists(){ BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); - BankAccount newAccount = new CurrentAccount(3); + BankAccount newAccount = new CurrentAccount(3, 1); Assertions.assertTrue(bankBranch.addAccount(newAccount)); } + + + + + } From f23d9965330099efa797e4193614568d2be00e05 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 15:12:00 +0100 Subject: [PATCH 24/29] I already had a BankBranch class that have an Arraylist for extension 2, however I added "bankID" to the BankAccount class so that you could specify that BankAccounts thats added to the list belong to that specific BankBranch --- src/test/java/com/booleanuk/core/BankBranchTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index ebce21237..cb446ab57 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -34,6 +34,13 @@ public void bankAccountIdDontExists(){ + // EXTENSION 2 + @Test + public void bankAccountHaveTheSameBankID(){ + BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); + BankAccount newAccount = new CurrentAccount(3, 1); + Assertions.assertEquals(1, bankBranch.belongsBankAccountToBankBranch(newAccount)); + } } From 8554277f2f0688e1b8be86b9f45103ee18c0e4cb Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 15:12:20 +0100 Subject: [PATCH 25/29] Created test for extension 2 --- src/test/java/com/booleanuk/core/BankBranchTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index cb446ab57..90a7bc6ca 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -43,4 +43,5 @@ public void bankAccountHaveTheSameBankID(){ Assertions.assertEquals(1, bankBranch.belongsBankAccountToBankBranch(newAccount)); } + } From 8bc4e5f5b1d05aefb82cf2fcfe91ac05367e29a9 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 15:14:25 +0100 Subject: [PATCH 26/29] created initial method: belongsBankAccountToBankBranch(). I also changed the test to being a Boolean, it made more sense. --- src/main/java/com/booleanuk/core/BankBranch.java | 4 ++++ src/test/java/com/booleanuk/core/BankBranchTest.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/BankBranch.java b/src/main/java/com/booleanuk/core/BankBranch.java index 0185b87ef..a2b4385a6 100644 --- a/src/main/java/com/booleanuk/core/BankBranch.java +++ b/src/main/java/com/booleanuk/core/BankBranch.java @@ -28,4 +28,8 @@ public boolean addAccount(BankAccount accountToAdd){ this.listOfBankAccounts.add(accountToAdd); return true; } + + public Boolean belongsBankAccountToBankBranch(BankAccount bankAccount){ + return true; + } } diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index 90a7bc6ca..3dabf0adb 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -40,7 +40,7 @@ public void bankAccountHaveTheSameBankID(){ BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); BankAccount newAccount = new CurrentAccount(3, 1); - Assertions.assertEquals(1, bankBranch.belongsBankAccountToBankBranch(newAccount)); + Assertions.assertTrue(bankBranch.belongsBankAccountToBankBranch(newAccount)); } From cd10a148e36445000e210e79dc7edee78427db57 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 15:24:46 +0100 Subject: [PATCH 27/29] renamed attribute bankID in BankAccount to branchID. --- src/main/java/com/booleanuk/core/BankAccount.java | 14 +++++++++----- src/main/java/com/booleanuk/core/BankBranch.java | 3 --- .../java/com/booleanuk/core/CurrentAccount.java | 10 +++++----- .../java/com/booleanuk/core/SavingsAccount.java | 10 +++++----- .../java/com/booleanuk/core/BankBranchTest.java | 2 +- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/booleanuk/core/BankAccount.java b/src/main/java/com/booleanuk/core/BankAccount.java index 8a0a15754..ee141795e 100644 --- a/src/main/java/com/booleanuk/core/BankAccount.java +++ b/src/main/java/com/booleanuk/core/BankAccount.java @@ -7,9 +7,9 @@ public class BankAccount { private Integer uniqueBankAccountNumber; private Double balance; private ArrayList listOfTransactions; - private Integer bankID; + private Integer branchID; - public BankAccount(Integer uniqueBankAccountNumber, ArrayList listOfTransactions, Integer bankID){ + public BankAccount(Integer uniqueBankAccountNumber, ArrayList listOfTransactions, Integer branchID){ this.uniqueBankAccountNumber = uniqueBankAccountNumber; Double totalBalance = 0D; @@ -24,14 +24,14 @@ public BankAccount(Integer uniqueBankAccountNumber, ArrayList listO this.balance = Math.round(totalBalance * 100.0) / 100.0; this.listOfTransactions = listOfTransactions; - this.bankID = bankID; + this.branchID = branchID; } - public BankAccount(Integer uniqueBankAccountNumber, Integer bankID){ + public BankAccount(Integer uniqueBankAccountNumber, Integer branchID){ this.uniqueBankAccountNumber = uniqueBankAccountNumber; this.balance = 0D; this.listOfTransactions = new ArrayList(); - this.bankID = bankID; + this.branchID = branchID; } public Double getBalance() { @@ -55,6 +55,10 @@ public ArrayList getListOfTransactions() { return listOfTransactions; } + public Integer getBranchID() { + return branchID; + } + public Double makeDeposit(Double amount, LocalDateTime dateTime){ if((this.getBalance() + amount) > this.getBalance()){ Transaction deposit = new Transaction(dateTime, amount, "Deposit", (this.getBalance() + amount)); diff --git a/src/main/java/com/booleanuk/core/BankBranch.java b/src/main/java/com/booleanuk/core/BankBranch.java index a2b4385a6..524e1f3c3 100644 --- a/src/main/java/com/booleanuk/core/BankBranch.java +++ b/src/main/java/com/booleanuk/core/BankBranch.java @@ -29,7 +29,4 @@ public boolean addAccount(BankAccount accountToAdd){ return true; } - public Boolean belongsBankAccountToBankBranch(BankAccount bankAccount){ - return true; - } } diff --git a/src/main/java/com/booleanuk/core/CurrentAccount.java b/src/main/java/com/booleanuk/core/CurrentAccount.java index b7f6fbb01..2a3154ea9 100644 --- a/src/main/java/com/booleanuk/core/CurrentAccount.java +++ b/src/main/java/com/booleanuk/core/CurrentAccount.java @@ -6,13 +6,13 @@ public class CurrentAccount extends BankAccount{ private Integer uniqueBankNumber; private Double balance; private ArrayList listOfTransactions; - private Integer bankID; + private Integer branchID; - public CurrentAccount(Integer uniqueBankNumber, ArrayList listOfTransactions, Integer bankID){ - super(uniqueBankNumber, listOfTransactions, bankID); + public CurrentAccount(Integer uniqueBankNumber, ArrayList listOfTransactions, Integer branchID){ + super(uniqueBankNumber, listOfTransactions, branchID); } - public CurrentAccount(Integer uniqueBankNumber, Integer bankID){ - super(uniqueBankNumber, bankID); + public CurrentAccount(Integer uniqueBankNumber, Integer branchID){ + super(uniqueBankNumber, branchID); } } diff --git a/src/main/java/com/booleanuk/core/SavingsAccount.java b/src/main/java/com/booleanuk/core/SavingsAccount.java index def1e1d18..81b7eb711 100644 --- a/src/main/java/com/booleanuk/core/SavingsAccount.java +++ b/src/main/java/com/booleanuk/core/SavingsAccount.java @@ -6,13 +6,13 @@ public class SavingsAccount extends BankAccount{ private Integer uniqueBankNumber; private Double balance; private ArrayList listOfTransactions; - private Integer bankID; + private Integer branchID; - public SavingsAccount(Integer uniqueBankNumber, ArrayList listOfTransactions, Integer bankID){ - super(uniqueBankNumber, listOfTransactions, bankID); + public SavingsAccount(Integer uniqueBankNumber, ArrayList listOfTransactions, Integer branchID){ + super(uniqueBankNumber, listOfTransactions, branchID); } - public SavingsAccount(Integer uniqueBankNumber, Integer bankID){ - super(uniqueBankNumber, bankID); + public SavingsAccount(Integer uniqueBankNumber, Integer branchID){ + super(uniqueBankNumber, branchID); } } diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index 3dabf0adb..52b5e8f5f 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -36,7 +36,7 @@ public void bankAccountIdDontExists(){ // EXTENSION 2 @Test - public void bankAccountHaveTheSameBankID(){ + public void bankAccountIsIncludedInBankBranchListOfBankAccounts(){ BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); BankAccount newAccount = new CurrentAccount(3, 1); From d318ba15758308872ad904a1783c64e74a58e97d Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 15:29:20 +0100 Subject: [PATCH 28/29] Completed belongsBankAccountToBankBranch() method for extension 2 --- src/main/java/com/booleanuk/core/BankBranch.java | 8 ++++++++ src/test/java/com/booleanuk/core/BankBranchTest.java | 1 + 2 files changed, 9 insertions(+) diff --git a/src/main/java/com/booleanuk/core/BankBranch.java b/src/main/java/com/booleanuk/core/BankBranch.java index 524e1f3c3..ca0f17696 100644 --- a/src/main/java/com/booleanuk/core/BankBranch.java +++ b/src/main/java/com/booleanuk/core/BankBranch.java @@ -29,4 +29,12 @@ public boolean addAccount(BankAccount accountToAdd){ return true; } + public Boolean belongsBankAccountToBankBranch(BankAccount bankAccount){ + for(BankAccount account : this.listOfBankAccounts){ + if(bankAccount.getUniqueBankNumber() == account.getUniqueBankNumber()){ + return true; + } + } + return false; + } } diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index 52b5e8f5f..c96c323e4 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -39,6 +39,7 @@ public void bankAccountIdDontExists(){ public void bankAccountIsIncludedInBankBranchListOfBankAccounts(){ BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); BankAccount newAccount = new CurrentAccount(3, 1); + bankBranch.addAccount(newAccount); Assertions.assertTrue(bankBranch.belongsBankAccountToBankBranch(newAccount)); } From 3aee9d2d794dfc876fa97be41e928ad3dfbf3139 Mon Sep 17 00:00:00 2001 From: Mattias Hedbom Date: Wed, 15 Jan 2025 15:29:54 +0100 Subject: [PATCH 29/29] Added another test for belongsBankAccountToBankBranch() method for extension 2 --- src/test/java/com/booleanuk/core/BankBranchTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/java/com/booleanuk/core/BankBranchTest.java b/src/test/java/com/booleanuk/core/BankBranchTest.java index c96c323e4..c095aa15b 100644 --- a/src/test/java/com/booleanuk/core/BankBranchTest.java +++ b/src/test/java/com/booleanuk/core/BankBranchTest.java @@ -44,5 +44,13 @@ public void bankAccountIsIncludedInBankBranchListOfBankAccounts(){ Assertions.assertTrue(bankBranch.belongsBankAccountToBankBranch(newAccount)); } + @Test + public void bankAccountIsNotIncludedInBankBranchListOfBankAccounts(){ + BankBranch bankBranch = new BankBranch(1, "Gothenburg", listOfBankAccounts); + BankAccount newAccount = new CurrentAccount(3, 1); + + Assertions.assertFalse(bankBranch.belongsBankAccountToBankBranch(newAccount)); + } + }