From a9abd24d6bb892be2c5e4cdfd57dc7460fc68361 Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 17:25:23 +0200 Subject: [PATCH 01/10] Initial commit mid development --- src/main/java/com/booleanuk/core/.gitkeep | 0 src/main/java/com/booleanuk/core/Account.java | 4 ++++ src/main/java/com/booleanuk/core/AccountType.java | 4 ++++ src/main/java/com/booleanuk/core/BankManager.java | 4 ++++ src/main/java/com/booleanuk/core/Branch.java | 4 ++++ src/main/java/com/booleanuk/core/CurrentAccount.java | 4 ++++ src/main/java/com/booleanuk/core/Customer.java | 4 ++++ src/main/java/com/booleanuk/core/SavingsAccount.java | 4 ++++ src/main/java/com/booleanuk/core/Transaction.java | 4 ++++ src/main/java/com/booleanuk/core/User.java | 4 ++++ src/test/java/com/booleanuk/core/.gitkeep | 0 src/test/java/com/booleanuk/core/AccountTest.java | 4 ++++ src/test/java/com/booleanuk/core/BankManagerTest.java | 4 ++++ src/test/java/com/booleanuk/core/BranchTest.java | 11 +++++++++++ .../java/com/booleanuk/core/CurrentAccountTest.java | 4 ++++ src/test/java/com/booleanuk/core/CustomerTest.java | 4 ++++ .../java/com/booleanuk/core/SavingsAccountTest.java | 4 ++++ src/test/java/com/booleanuk/core/TransactionTest.java | 4 ++++ src/test/java/com/booleanuk/core/UserTest.java | 4 ++++ 19 files changed, 75 insertions(+) delete mode 100644 src/main/java/com/booleanuk/core/.gitkeep create mode 100644 src/main/java/com/booleanuk/core/Account.java create mode 100644 src/main/java/com/booleanuk/core/AccountType.java create mode 100644 src/main/java/com/booleanuk/core/BankManager.java create mode 100644 src/main/java/com/booleanuk/core/Branch.java create mode 100644 src/main/java/com/booleanuk/core/CurrentAccount.java create mode 100644 src/main/java/com/booleanuk/core/Customer.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/main/java/com/booleanuk/core/User.java delete mode 100644 src/test/java/com/booleanuk/core/.gitkeep create mode 100644 src/test/java/com/booleanuk/core/AccountTest.java create mode 100644 src/test/java/com/booleanuk/core/BankManagerTest.java create mode 100644 src/test/java/com/booleanuk/core/BranchTest.java create mode 100644 src/test/java/com/booleanuk/core/CurrentAccountTest.java create mode 100644 src/test/java/com/booleanuk/core/CustomerTest.java create mode 100644 src/test/java/com/booleanuk/core/SavingsAccountTest.java create mode 100644 src/test/java/com/booleanuk/core/TransactionTest.java create mode 100644 src/test/java/com/booleanuk/core/UserTest.java diff --git a/src/main/java/com/booleanuk/core/.gitkeep b/src/main/java/com/booleanuk/core/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/main/java/com/booleanuk/core/Account.java b/src/main/java/com/booleanuk/core/Account.java new file mode 100644 index 000000000..12335bc7b --- /dev/null +++ b/src/main/java/com/booleanuk/core/Account.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public abstract class Account { +} diff --git a/src/main/java/com/booleanuk/core/AccountType.java b/src/main/java/com/booleanuk/core/AccountType.java new file mode 100644 index 000000000..901416a1f --- /dev/null +++ b/src/main/java/com/booleanuk/core/AccountType.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public enum AccountType { +} diff --git a/src/main/java/com/booleanuk/core/BankManager.java b/src/main/java/com/booleanuk/core/BankManager.java new file mode 100644 index 000000000..9dcbdfe60 --- /dev/null +++ b/src/main/java/com/booleanuk/core/BankManager.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class BankManager { +} diff --git a/src/main/java/com/booleanuk/core/Branch.java b/src/main/java/com/booleanuk/core/Branch.java new file mode 100644 index 000000000..ac3c1c3d3 --- /dev/null +++ b/src/main/java/com/booleanuk/core/Branch.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class Branch { +} 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..81934b38e --- /dev/null +++ b/src/main/java/com/booleanuk/core/CurrentAccount.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class CurrentAccount { +} diff --git a/src/main/java/com/booleanuk/core/Customer.java b/src/main/java/com/booleanuk/core/Customer.java new file mode 100644 index 000000000..6f3a664d5 --- /dev/null +++ b/src/main/java/com/booleanuk/core/Customer.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class Customer { +} 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..be2345de6 --- /dev/null +++ b/src/main/java/com/booleanuk/core/SavingsAccount.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class SavingsAccount { +} 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/main/java/com/booleanuk/core/User.java b/src/main/java/com/booleanuk/core/User.java new file mode 100644 index 000000000..1b91496fa --- /dev/null +++ b/src/main/java/com/booleanuk/core/User.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public abstract class User { +} diff --git a/src/test/java/com/booleanuk/core/.gitkeep b/src/test/java/com/booleanuk/core/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/test/java/com/booleanuk/core/AccountTest.java b/src/test/java/com/booleanuk/core/AccountTest.java new file mode 100644 index 000000000..12335bc7b --- /dev/null +++ b/src/test/java/com/booleanuk/core/AccountTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public abstract class Account { +} diff --git a/src/test/java/com/booleanuk/core/BankManagerTest.java b/src/test/java/com/booleanuk/core/BankManagerTest.java new file mode 100644 index 000000000..9dcbdfe60 --- /dev/null +++ b/src/test/java/com/booleanuk/core/BankManagerTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class BankManager { +} diff --git a/src/test/java/com/booleanuk/core/BranchTest.java b/src/test/java/com/booleanuk/core/BranchTest.java new file mode 100644 index 000000000..b86eaf9b8 --- /dev/null +++ b/src/test/java/com/booleanuk/core/BranchTest.java @@ -0,0 +1,11 @@ +package com.booleanuk.core; + +import org.junit.jupiter.api.Test; + +public class Branch { + + @Test + public void createAccount() { + + } +} diff --git a/src/test/java/com/booleanuk/core/CurrentAccountTest.java b/src/test/java/com/booleanuk/core/CurrentAccountTest.java new file mode 100644 index 000000000..81934b38e --- /dev/null +++ b/src/test/java/com/booleanuk/core/CurrentAccountTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class CurrentAccount { +} diff --git a/src/test/java/com/booleanuk/core/CustomerTest.java b/src/test/java/com/booleanuk/core/CustomerTest.java new file mode 100644 index 000000000..6f3a664d5 --- /dev/null +++ b/src/test/java/com/booleanuk/core/CustomerTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class Customer { +} diff --git a/src/test/java/com/booleanuk/core/SavingsAccountTest.java b/src/test/java/com/booleanuk/core/SavingsAccountTest.java new file mode 100644 index 000000000..be2345de6 --- /dev/null +++ b/src/test/java/com/booleanuk/core/SavingsAccountTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class 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..a85f5696b --- /dev/null +++ b/src/test/java/com/booleanuk/core/TransactionTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public class Transaction { +} diff --git a/src/test/java/com/booleanuk/core/UserTest.java b/src/test/java/com/booleanuk/core/UserTest.java new file mode 100644 index 000000000..1b91496fa --- /dev/null +++ b/src/test/java/com/booleanuk/core/UserTest.java @@ -0,0 +1,4 @@ +package com.booleanuk.core; + +public abstract class User { +} From 2f032ba51ca4e51b9a2e9d1756c74095c3cf5cab Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 17:25:33 +0200 Subject: [PATCH 02/10] Initial commit mid development --- domain-model.md | 0 src/main/java/com/booleanuk/core/Account.java | 65 +++++++++++++++++++ .../java/com/booleanuk/core/AccountType.java | 2 + .../java/com/booleanuk/core/BankManager.java | 8 ++- src/main/java/com/booleanuk/core/Branch.java | 35 +++++++++- .../com/booleanuk/core/CurrentAccount.java | 31 ++++++++- .../java/com/booleanuk/core/Customer.java | 20 +++++- .../com/booleanuk/core/SavingsAccount.java | 11 +++- .../java/com/booleanuk/core/Transaction.java | 42 ++++++++++++ src/main/java/com/booleanuk/core/User.java | 25 +++++++ .../java/com/booleanuk/core/AccountTest.java | 2 +- .../com/booleanuk/core/BankManagerTest.java | 2 +- .../java/com/booleanuk/core/BranchTest.java | 33 +++++++++- .../booleanuk/core/CurrentAccountTest.java | 2 +- .../java/com/booleanuk/core/CustomerTest.java | 2 +- .../booleanuk/core/SavingsAccountTest.java | 2 +- .../com/booleanuk/core/TransactionTest.java | 2 +- .../java/com/booleanuk/core/UserTest.java | 2 +- 18 files changed, 272 insertions(+), 14 deletions(-) create mode 100644 domain-model.md diff --git a/domain-model.md b/domain-model.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/main/java/com/booleanuk/core/Account.java b/src/main/java/com/booleanuk/core/Account.java index 12335bc7b..7f4a6bd8d 100644 --- a/src/main/java/com/booleanuk/core/Account.java +++ b/src/main/java/com/booleanuk/core/Account.java @@ -1,4 +1,69 @@ package com.booleanuk.core; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + public abstract class Account { + private UUID id; + private UUID CustomerUUID; + private List transactions; + private AccountType accountType; + + public Account(UUID CustomerUUID, AccountType accountType) { + this.id = UUID.randomUUID(); + this.CustomerUUID = CustomerUUID; + this.transactions = new ArrayList(); + this.accountType = accountType; + } + + public void addTransaction(float amount) { + this.transactions.add(new Transaction(amount)); + } + + public double calculateBalance() { + return transactions.stream().mapToDouble(Transaction::getAmount).sum(); + } + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public UUID getCustomerUUID() { + return CustomerUUID; + } + + public void setCustomerUUID(UUID customerUUID) { + CustomerUUID = customerUUID; + } + + public List getTransactions() { + return transactions; + } + + public void setTransactions(List transactions) { + this.transactions = transactions; + } + + public AccountType getAccountType() { + return accountType; + } + + public void setAccountType(AccountType accountType) { + this.accountType = accountType; + } + + @Override + public String toString() { + return "Account{" + + "id=" + id + + ", CustomerUUID=" + CustomerUUID + + ", transactions=" + transactions + + ", accountType=" + accountType + + '}'; + } } diff --git a/src/main/java/com/booleanuk/core/AccountType.java b/src/main/java/com/booleanuk/core/AccountType.java index 901416a1f..9262aef86 100644 --- a/src/main/java/com/booleanuk/core/AccountType.java +++ b/src/main/java/com/booleanuk/core/AccountType.java @@ -1,4 +1,6 @@ package com.booleanuk.core; public enum AccountType { + CURRENT, + SAVINGS } diff --git a/src/main/java/com/booleanuk/core/BankManager.java b/src/main/java/com/booleanuk/core/BankManager.java index 9dcbdfe60..33c5339a6 100644 --- a/src/main/java/com/booleanuk/core/BankManager.java +++ b/src/main/java/com/booleanuk/core/BankManager.java @@ -1,4 +1,10 @@ package com.booleanuk.core; +import java.util.ArrayList; +import java.util.List; + public class BankManager { -} + private String name; + private ArrayList branchUUIDs; + +} \ No newline at end of file diff --git a/src/main/java/com/booleanuk/core/Branch.java b/src/main/java/com/booleanuk/core/Branch.java index ac3c1c3d3..b081398ec 100644 --- a/src/main/java/com/booleanuk/core/Branch.java +++ b/src/main/java/com/booleanuk/core/Branch.java @@ -1,4 +1,37 @@ package com.booleanuk.core; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + public class Branch { -} + private List accounts; + private UUID id; + private String name; + + public Branch(String name) { + this.name = name; + this.accounts = new ArrayList(); + this.id = UUID.randomUUID(); + } + + public void createSavingsAccountForUser(UUID customerId) { + this.accounts.add(new SavingsAccount(customerId)); + } + + public void createCurrentAccountForUser(UUID customerId) { + this.accounts.add(new CurrentAccount(customerId)); + } + + public List getAccountsForCustomerID(UUID customerId) { + return this.accounts.stream() + .filter(account -> account.getCustomerUUID().equals(customerId)) + .toList(); + } + + public List getAccountsForAccountID(UUID accountID) { + return this.accounts.stream() + .filter(account -> account.getId().equals(accountID)) + .toList(); + } +} \ No newline at end of file diff --git a/src/main/java/com/booleanuk/core/CurrentAccount.java b/src/main/java/com/booleanuk/core/CurrentAccount.java index 81934b38e..2e055e25c 100644 --- a/src/main/java/com/booleanuk/core/CurrentAccount.java +++ b/src/main/java/com/booleanuk/core/CurrentAccount.java @@ -1,4 +1,33 @@ package com.booleanuk.core; -public class CurrentAccount { +import java.util.UUID; +import com.booleanuk.core.AccountType; + +public class CurrentAccount extends Account { + private static final AccountType accountType = AccountType.CURRENT; + private double overdraftLimit; + private boolean overdraftApproved; + + public CurrentAccount(UUID CustomerUUID) { + super(CustomerUUID, accountType); + this.overdraftLimit = 0; + this.overdraftApproved = false; + } + + public double getOverdraftLimit() { + return overdraftLimit; + } + + public void setOverdraftLimit(double overdraftLimit) { + this.overdraftApproved = false; + this.overdraftLimit = overdraftLimit; + } + + public boolean isOverdraftApproved() { + return overdraftApproved; + } + + public void setOverdraftApproved(boolean overdraftApproved) { + this.overdraftApproved = overdraftApproved; + } } diff --git a/src/main/java/com/booleanuk/core/Customer.java b/src/main/java/com/booleanuk/core/Customer.java index 6f3a664d5..0526e7e87 100644 --- a/src/main/java/com/booleanuk/core/Customer.java +++ b/src/main/java/com/booleanuk/core/Customer.java @@ -1,4 +1,22 @@ package com.booleanuk.core; -public class Customer { +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class Customer extends User { + + private List accountUUIDs; + public Customer(String name) { + super(name); + this.accountUUIDs = new ArrayList(); + } + + public List getAccountUUIDs() { + return accountUUIDs; + } + + public void addSingleAccountToAccountlist(UUID accountUUID) { + this.accountUUIDs.add(accountUUID); + } } diff --git a/src/main/java/com/booleanuk/core/SavingsAccount.java b/src/main/java/com/booleanuk/core/SavingsAccount.java index be2345de6..7c991dc9b 100644 --- a/src/main/java/com/booleanuk/core/SavingsAccount.java +++ b/src/main/java/com/booleanuk/core/SavingsAccount.java @@ -1,4 +1,13 @@ package com.booleanuk.core; -public class SavingsAccount { +import java.util.UUID; + +public class SavingsAccount extends Account { + private float interestRate; + private static final AccountType accountType = AccountType.SAVINGS; + + public SavingsAccount(UUID CustomerUUID) { + super(CustomerUUID, accountType); + this.interestRate = 0; + } } diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java index a85f5696b..5be83e9e1 100644 --- a/src/main/java/com/booleanuk/core/Transaction.java +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -1,4 +1,46 @@ package com.booleanuk.core; +import java.time.LocalDate; +import java.util.UUID; + public class Transaction { + private double amount; + private LocalDate date; + private UUID id; + + public Transaction(double amount) { + this.date = LocalDate.now(); + this.amount = amount; + this.id = UUID.randomUUID(); + } + + public double getAmount() { + return amount; + } + + public void setAmount(float amount) { + this.amount = amount; + } + + public LocalDate getDate() { + return date; + } + + public void setDate(LocalDate date) { + this.date = date; + } + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + @Override + public String toString() { + return String.format("Transaction{amount=%-15s, date=%-15s, id=%-15s}", amount, date, id); + //return String.format("%-15s %-15s %-15s, "date", "amount", "id"); + } } diff --git a/src/main/java/com/booleanuk/core/User.java b/src/main/java/com/booleanuk/core/User.java index 1b91496fa..312db0f41 100644 --- a/src/main/java/com/booleanuk/core/User.java +++ b/src/main/java/com/booleanuk/core/User.java @@ -1,4 +1,29 @@ package com.booleanuk.core; +import java.util.UUID; + public abstract class User { + private UUID uuid; + private String name; + + public User(String name) { + this.uuid = java.util.UUID.randomUUID(); + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public UUID getUUID() { + return uuid; + } + + public void setUUID(UUID uuid) { + this.uuid = uuid; + } } diff --git a/src/test/java/com/booleanuk/core/AccountTest.java b/src/test/java/com/booleanuk/core/AccountTest.java index 12335bc7b..09d63c690 100644 --- a/src/test/java/com/booleanuk/core/AccountTest.java +++ b/src/test/java/com/booleanuk/core/AccountTest.java @@ -1,4 +1,4 @@ package com.booleanuk.core; -public abstract class Account { +public abstract class AccountTest { } diff --git a/src/test/java/com/booleanuk/core/BankManagerTest.java b/src/test/java/com/booleanuk/core/BankManagerTest.java index 9dcbdfe60..74b59a96d 100644 --- a/src/test/java/com/booleanuk/core/BankManagerTest.java +++ b/src/test/java/com/booleanuk/core/BankManagerTest.java @@ -1,4 +1,4 @@ package com.booleanuk.core; -public class BankManager { +public class BankManagerTest { } diff --git a/src/test/java/com/booleanuk/core/BranchTest.java b/src/test/java/com/booleanuk/core/BranchTest.java index b86eaf9b8..989c02d82 100644 --- a/src/test/java/com/booleanuk/core/BranchTest.java +++ b/src/test/java/com/booleanuk/core/BranchTest.java @@ -2,10 +2,39 @@ import org.junit.jupiter.api.Test; -public class Branch { +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.*; + +public class BranchTest { + + @Test + public void createSavingsAccountForUser() { + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + + testBranch.createSavingsAccountForUser(testCustomer.getUUID()); + testBranch.getAccountsForCustomerID(testCustomer.getUUID()); + } @Test - public void createAccount() { + public void createCurrentAccountForUser() { + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + + testBranch.createCurrentAccountForUser(testCustomer.getUUID()); + + assertNotNull(testBranch.getAccountsForCustomerID(testCustomer.getUUID())); + } + + @Test + public void GetAccountsForCustomerID() { + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + UUID testUserUUID = testCustomer.getUUID(); + + testBranch.createCurrentAccountForUser(testUserUUID); + assertNotNull(testBranch.getAccountsForCustomerID(testUserUUID); } } diff --git a/src/test/java/com/booleanuk/core/CurrentAccountTest.java b/src/test/java/com/booleanuk/core/CurrentAccountTest.java index 81934b38e..e27f78d23 100644 --- a/src/test/java/com/booleanuk/core/CurrentAccountTest.java +++ b/src/test/java/com/booleanuk/core/CurrentAccountTest.java @@ -1,4 +1,4 @@ package com.booleanuk.core; -public class CurrentAccount { +public class CurrentAccountTest { } diff --git a/src/test/java/com/booleanuk/core/CustomerTest.java b/src/test/java/com/booleanuk/core/CustomerTest.java index 6f3a664d5..daf7e18dd 100644 --- a/src/test/java/com/booleanuk/core/CustomerTest.java +++ b/src/test/java/com/booleanuk/core/CustomerTest.java @@ -1,4 +1,4 @@ package com.booleanuk.core; -public class Customer { +public class CustomerTest { } diff --git a/src/test/java/com/booleanuk/core/SavingsAccountTest.java b/src/test/java/com/booleanuk/core/SavingsAccountTest.java index be2345de6..c6721b9f3 100644 --- a/src/test/java/com/booleanuk/core/SavingsAccountTest.java +++ b/src/test/java/com/booleanuk/core/SavingsAccountTest.java @@ -1,4 +1,4 @@ package com.booleanuk.core; -public class SavingsAccount { +public class SavingsAccountTest { } diff --git a/src/test/java/com/booleanuk/core/TransactionTest.java b/src/test/java/com/booleanuk/core/TransactionTest.java index a85f5696b..e86fe8a45 100644 --- a/src/test/java/com/booleanuk/core/TransactionTest.java +++ b/src/test/java/com/booleanuk/core/TransactionTest.java @@ -1,4 +1,4 @@ package com.booleanuk.core; -public class Transaction { +public class TransactionTest { } diff --git a/src/test/java/com/booleanuk/core/UserTest.java b/src/test/java/com/booleanuk/core/UserTest.java index 1b91496fa..cae9771ea 100644 --- a/src/test/java/com/booleanuk/core/UserTest.java +++ b/src/test/java/com/booleanuk/core/UserTest.java @@ -1,4 +1,4 @@ package com.booleanuk.core; -public abstract class User { +public abstract class UserTest { } From 94a5d845263dcdafbd98e258a20a2f8f2b0e10a6 Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 17:30:35 +0200 Subject: [PATCH 03/10] Initial commit mid development --- src/main/java/com/booleanuk/core/Customer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/booleanuk/core/Customer.java b/src/main/java/com/booleanuk/core/Customer.java index 0526e7e87..af9a4c560 100644 --- a/src/main/java/com/booleanuk/core/Customer.java +++ b/src/main/java/com/booleanuk/core/Customer.java @@ -16,7 +16,7 @@ public List getAccountUUIDs() { return accountUUIDs; } - public void addSingleAccountToAccountlist(UUID accountUUID) { + public void addAccount(UUID accountUUID) { this.accountUUIDs.add(accountUUID); } } From 92436a8f32dbf0a3f814d92ea51569679dfedb1c Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 20:46:28 +0200 Subject: [PATCH 04/10] all tests done for branch class --- .../java/com/booleanuk/core/BranchTest.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/booleanuk/core/BranchTest.java b/src/test/java/com/booleanuk/core/BranchTest.java index 989c02d82..8d040e0c1 100644 --- a/src/test/java/com/booleanuk/core/BranchTest.java +++ b/src/test/java/com/booleanuk/core/BranchTest.java @@ -2,6 +2,7 @@ import org.junit.jupiter.api.Test; +import java.util.List; import java.util.UUID; import static org.junit.jupiter.api.Assertions.*; @@ -28,13 +29,27 @@ public void createCurrentAccountForUser() { } @Test - public void GetAccountsForCustomerID() { + public void getAccountsForCustomerID() { Branch testBranch = new Branch("oslo"); User testCustomer = new Customer("Trond Giske"); UUID testUserUUID = testCustomer.getUUID(); testBranch.createCurrentAccountForUser(testUserUUID); - assertNotNull(testBranch.getAccountsForCustomerID(testUserUUID); + assertNotNull(testBranch.getAccountsForCustomerID(testUserUUID)); + } + + @Test + public void getAccountsForAccountID() { + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + UUID testUserUUID = testCustomer.getUUID(); + + testBranch.createCurrentAccountForUser(testUserUUID); + + List testAccount = testBranch.getAccountsForCustomerID(testUserUUID); + UUID testAccountUUID = testAccount.getFirst().getId(); + + assertNotNull(testBranch.getAccountsForAccountID(testAccountUUID)); } } From 0a50dc8801ab1c3b0456acf150f2345f935b27fc Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 20:57:59 +0200 Subject: [PATCH 05/10] added account tests, and other small fixes --- src/main/java/com/booleanuk/core/Account.java | 2 +- .../java/com/booleanuk/core/AccountTest.java | 37 ++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Account.java b/src/main/java/com/booleanuk/core/Account.java index 7f4a6bd8d..09de4c04e 100644 --- a/src/main/java/com/booleanuk/core/Account.java +++ b/src/main/java/com/booleanuk/core/Account.java @@ -17,7 +17,7 @@ public Account(UUID CustomerUUID, AccountType accountType) { this.accountType = accountType; } - public void addTransaction(float amount) { + public void addTransaction(double amount) { this.transactions.add(new Transaction(amount)); } diff --git a/src/test/java/com/booleanuk/core/AccountTest.java b/src/test/java/com/booleanuk/core/AccountTest.java index 09d63c690..520cd8e74 100644 --- a/src/test/java/com/booleanuk/core/AccountTest.java +++ b/src/test/java/com/booleanuk/core/AccountTest.java @@ -1,4 +1,39 @@ package com.booleanuk.core; -public abstract class AccountTest { +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class AccountTest { + + @Test + public void addTransaction() { + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + UUID testUserUUID = testCustomer.getUUID(); + + testBranch.createCurrentAccountForUser(testUserUUID); + Account testAccount = testBranch.getAccountsForCustomerID(testUserUUID).getFirst(); + testAccount.addTransaction(1000.99); + Transaction testTransaction = testAccount.getTransactions().getFirst(); + + assertEquals(1000.99, testTransaction.getAmount()); + } + + @Test + public void calculateBalance() { + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + UUID testUserUUID = testCustomer.getUUID(); + + testBranch.createCurrentAccountForUser(testUserUUID); + Account testAccount = testBranch.getAccountsForCustomerID(testUserUUID).getFirst(); + testAccount.addTransaction(1000.99); + testAccount.addTransaction(1000.99); + + assertEquals(2001.98, testAccount.calculateBalance()); + } } From f63aee0dd74bee14d1ad3e16a0de11082af9c2c5 Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 21:04:08 +0200 Subject: [PATCH 06/10] added current account tests --- .../booleanuk/core/CurrentAccountTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/test/java/com/booleanuk/core/CurrentAccountTest.java b/src/test/java/com/booleanuk/core/CurrentAccountTest.java index e27f78d23..a3ebcca88 100644 --- a/src/test/java/com/booleanuk/core/CurrentAccountTest.java +++ b/src/test/java/com/booleanuk/core/CurrentAccountTest.java @@ -1,4 +1,29 @@ package com.booleanuk.core; +import org.junit.jupiter.api.Test; + +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.*; + public class CurrentAccountTest { + + @Test + public void testOverdraftLimit() { + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + UUID testUserUUID = testCustomer.getUUID(); + + testBranch.createCurrentAccountForUser(testUserUUID); + CurrentAccount testAccount = (CurrentAccount) testBranch.getAccountsForCustomerID(testUserUUID).getFirst(); + + testAccount.setOverdraftLimit(222); + assertEquals(222, testAccount.getOverdraftLimit()); + + testAccount.setOverdraftApproved(true); + assertTrue(testAccount.isOverdraftApproved()); + + testAccount.setOverdraftLimit(333); + assertFalse(testAccount.isOverdraftApproved()); + } } From 970e41b6a637dd010bf3454a1f73d6ea7c7e2dcf Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 21:08:14 +0200 Subject: [PATCH 07/10] added savings account test --- .../booleanuk/core/SavingsAccountTest.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/test/java/com/booleanuk/core/SavingsAccountTest.java b/src/test/java/com/booleanuk/core/SavingsAccountTest.java index c6721b9f3..fb64b3e7c 100644 --- a/src/test/java/com/booleanuk/core/SavingsAccountTest.java +++ b/src/test/java/com/booleanuk/core/SavingsAccountTest.java @@ -1,4 +1,26 @@ package com.booleanuk.core; +import org.junit.jupiter.api.Test; + +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class SavingsAccountTest { + + @Test + public void testSavingsAccount() { + // Didn't get around to implement interest rate + // The class should behave the same way that current account works, with the accountType field set to 'SAVINGS' + + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + UUID testUserUUID = testCustomer.getUUID(); + + testBranch.createSavingsAccountForUser(testUserUUID); + SavingsAccount testAccount = (SavingsAccount) testBranch.getAccountsForCustomerID(testUserUUID).getFirst(); + + assertEquals(AccountType.SAVINGS, testAccount.getAccountType()); + } } From d922d59a0e220d663043aff709937caad281a259 Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 21:13:02 +0200 Subject: [PATCH 08/10] added fake tests for a lot of the other classes --- src/test/java/com/booleanuk/core/BankManagerTest.java | 9 +++++++++ src/test/java/com/booleanuk/core/CustomerTest.java | 9 +++++++++ src/test/java/com/booleanuk/core/TransactionTest.java | 10 ++++++++++ src/test/java/com/booleanuk/core/UserTest.java | 11 ++++++++++- 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/booleanuk/core/BankManagerTest.java b/src/test/java/com/booleanuk/core/BankManagerTest.java index 74b59a96d..3c310f4f0 100644 --- a/src/test/java/com/booleanuk/core/BankManagerTest.java +++ b/src/test/java/com/booleanuk/core/BankManagerTest.java @@ -1,4 +1,13 @@ package com.booleanuk.core; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertTrue; + public class BankManagerTest { + @Test + public void testBankManager() { + // Nothing to test here except getters and setters + assertTrue(true); + } } diff --git a/src/test/java/com/booleanuk/core/CustomerTest.java b/src/test/java/com/booleanuk/core/CustomerTest.java index daf7e18dd..5c7b385c2 100644 --- a/src/test/java/com/booleanuk/core/CustomerTest.java +++ b/src/test/java/com/booleanuk/core/CustomerTest.java @@ -1,4 +1,13 @@ package com.booleanuk.core; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertTrue; + public class CustomerTest { + @Test + public void testCustomer() { + // Nothing to test here except getters and setters + assertTrue(true); + } } diff --git a/src/test/java/com/booleanuk/core/TransactionTest.java b/src/test/java/com/booleanuk/core/TransactionTest.java index e86fe8a45..e94706ea5 100644 --- a/src/test/java/com/booleanuk/core/TransactionTest.java +++ b/src/test/java/com/booleanuk/core/TransactionTest.java @@ -1,4 +1,14 @@ package com.booleanuk.core; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertTrue; + public class TransactionTest { + + @Test + public void testTransaction() { + // Nothing to test here except getters and setters + assertTrue(true); + } } diff --git a/src/test/java/com/booleanuk/core/UserTest.java b/src/test/java/com/booleanuk/core/UserTest.java index cae9771ea..ea81aaaf5 100644 --- a/src/test/java/com/booleanuk/core/UserTest.java +++ b/src/test/java/com/booleanuk/core/UserTest.java @@ -1,4 +1,13 @@ package com.booleanuk.core; -public abstract class UserTest { +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class UserTest { + @Test + public void testUser() { + // Nothing to test here except getters and setters + assertTrue(true); + } } From 252117fdcf223878cd58b4e92da140a7ebc588ef Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 22:02:44 +0200 Subject: [PATCH 09/10] added a test for 'everything' where it goes through a user adding and withdrawing funds, and checking their balance --- src/main/java/com/booleanuk/core/Account.java | 34 +++++++++++++++++++ .../java/com/booleanuk/core/Transaction.java | 6 ---- .../java/com/booleanuk/core/BranchTest.java | 19 +++++++++++ 3 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/booleanuk/core/Account.java b/src/main/java/com/booleanuk/core/Account.java index 09de4c04e..c39b3e2e4 100644 --- a/src/main/java/com/booleanuk/core/Account.java +++ b/src/main/java/com/booleanuk/core/Account.java @@ -1,6 +1,9 @@ package com.booleanuk.core; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.UUID; @@ -66,4 +69,35 @@ public String toString() { ", accountType=" + accountType + '}'; } + + public void printAccountStatement() { + + final String rowFmt = "%-15s||%15s||%15s||%15s%n"; + System.out.printf(rowFmt,"date", "credit", "debit", "balance"); + + // Date Innskudd Utrekk Balanse + double balance = 0; + + for (Transaction transaction : transactions) { + String transactionDate = transaction.getDate().toString(); + double amount = transaction.getAmount(); + String credit = ""; + String debit = ""; + + if(amount <= 0) { + debit = Double.toString( + Math.abs(amount)); + } + else{ + credit = Double.toString( + amount); + } + + balance = balance + amount; + + System.out.printf(rowFmt,transactionDate, credit, debit, balance); + + } + } } + diff --git a/src/main/java/com/booleanuk/core/Transaction.java b/src/main/java/com/booleanuk/core/Transaction.java index 5be83e9e1..fce6704b8 100644 --- a/src/main/java/com/booleanuk/core/Transaction.java +++ b/src/main/java/com/booleanuk/core/Transaction.java @@ -37,10 +37,4 @@ public UUID getId() { public void setId(UUID id) { this.id = id; } - - @Override - public String toString() { - return String.format("Transaction{amount=%-15s, date=%-15s, id=%-15s}", amount, date, id); - //return String.format("%-15s %-15s %-15s, "date", "amount", "id"); - } } diff --git a/src/test/java/com/booleanuk/core/BranchTest.java b/src/test/java/com/booleanuk/core/BranchTest.java index 8d040e0c1..0290d76c4 100644 --- a/src/test/java/com/booleanuk/core/BranchTest.java +++ b/src/test/java/com/booleanuk/core/BranchTest.java @@ -52,4 +52,23 @@ public void getAccountsForAccountID() { assertNotNull(testBranch.getAccountsForAccountID(testAccountUUID)); } + + @Test void testEverything() { + Branch testBranch = new Branch("oslo"); + User testCustomer = new Customer("Trond Giske"); + UUID testUserUUID = testCustomer.getUUID(); + + testBranch.createCurrentAccountForUser(testUserUUID); + CurrentAccount testAccount = (CurrentAccount) testBranch.getAccountsForCustomerID(testUserUUID).getFirst(); + + testAccount.addTransaction(1000); + testAccount.addTransaction(2000); + testAccount.addTransaction(-500); + + testAccount.printAccountStatement(); + + assertEquals(2500, testAccount.calculateBalance()); + + + } } From 073927241544108c090eb0002d94fbf545083420 Mon Sep 17 00:00:00 2001 From: Alfred Ryvarden Date: Wed, 13 Aug 2025 22:10:19 +0200 Subject: [PATCH 10/10] Added diagram --- Diagram.png | Bin 0 -> 114091 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Diagram.png diff --git a/Diagram.png b/Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..605b224bb7d45d5c7a5ecc2ebcd150db91e7c3a8 GIT binary patch literal 114091 zcmeEv2{=`2`@T7CLPaGd6-7cBGu1YfDP@+K%)_>29x`mrMPx{bB$8oM=9wl%iOe&F z%u^YP@PF3EInJ-XbH3r6|JV7huIn7xYpuQ3yWaPHpW%M)_jN_-gv>hBRumBt(K{9KoRS1X=7u=#(PYF`v9C`S2QxVv~|QfSg`R) z!e=>KM^hX47Y@VEldACJ6#Rei0QW(Gr7P^6+4v+5@*m_rzyT*@OpUFva5v-<`0pSb zI%a8aYKC=%gM_P=n&50|?_i0wU1}xoA#V8k(g_D+BOBAD!|-LKwWqQ6CZ_gFhX@z( z9c4Qp0Vk0E_@tI!4?fr$VV1wC1aHW-{B=u{rLUfnwN-UEsG@aR#?98u#MwYy&;c6C z%eMM%EBC~>%Gev(Stw#n2rqBqx^xSE0luXsnYb+-I3z5vbimwxQ=?9AS(RkQ@?NZXR-6*3{D6V&%y&hD+~HCC3 z-*)3lXWC=2aKBY!wsd0kPXxPCrZx!BR{C-IIe?mf{ky;PhW#%%|4(iwVo^fz=TfwWT33T@IN36Z01=bvEYh-iu*Q1j5SSMQ(Q)J8l zxstzLa~zAcgM$a*pp~hkquVlajGP>?aLB?DW3zk~-pAhU6!Lv;Wcm?4YAxT6@Ie}Z zDsuCsPY6ztPfKmJGy1hdmix#7>tt`djG6Dg=Q83QjqJ_Ad=T*R-Rll5Jp$>2rK<=J z`2AsDK?qDYQ!K_5UJU?XZ)#)YXz9HAE?}{ifp7lHb% z`@`AD#%Z~U>JDI?2$pIU793nGF*ZiFaEYWD*4A+a7RXo_TUgqd95-^qIwAe(;AmuQ zz4A%Y0&8#S4%Zv43^<&&cU*=8uOM zl_5v4wfc~v(F#(QjvhB6_zXe=vEUKx94t>0fQ@_+1EX(gD~WY<#A23jzY3K95L{s7 z9Zi>Q=f4Yw<*)Ov*r;X8dvJL|yZma#4jx)QX0ghI2`%ID#{m%kQg^Ka5F4+gs-wN7 ztvNtiU0n__$?)4MFhM5*R3sf7?XlLT|7Y;Og9jrUOLN4t+L)RlUqeR05`2Kf@?l5B z)<`IQ!ih`X_*I8Ei1|2t)EmU|YHF#{t`Nc=8Xxb^-~QeuC}C0-FF#eq{dt z{lKW{5NnzQr6>^;7oW0jWCG&Ai!_MyDlFi;1Dj9FgAvG+!1lP z4&MOpr_Uv%BTN0VI&t`}&s~}Nf345`9xi`8pL_6o5#Bd;P}0cOTG7ZBGVY(I5F9WP zN&arAx16v3iKb8xNgxqV`+KHP@O!3k`Ph$R3W19wyvc8E;XiE%CGCxDjV*rK!T&t> z_+{?@wTAF}sN`KXJ3kI8SLWBMO!j}0B3thGKcvW3!0|uNk*&m(|DOlm)za}4xDtf0 zGKJr@5VyiDMBqu` zHu°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

7c98VZfBLu8T5u<#vU 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