P4 Final - entfernen der alten Tests in der Main

This commit is contained in:
2024-12-06 12:40:02 +01:00
parent adb6322144
commit 46b0410bc5

View File

@@ -1,315 +1,7 @@
import bank.*;
import bank.exceptions.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
private static void testingTransactions(Payment p1, Payment p2, Transfer t1, Transfer t2) throws TransactionAttributeException {
System.out.println("Basic Testcases------------------");
Payment p1c = new Payment(p1);
Payment p2c = new Payment(p2);
System.out.print(p1);
System.out.print(p2);
System.out.print(p1c);
System.out.print(p2c);
Transfer t1c = new Transfer(t1);
Transfer t2c = new Transfer(t2);
System.out.print(t1);
System.out.print(t2);
System.out.print(t1c);
System.out.print(t2c);
System.out.println("\nTest Edgecases-----------------");
setInterestRateCatch(p2, -0.5);
setInterestRateCatch(p2, 1.5);
setAmountCatch(t1, -5);
System.out.println("\nCompare Payments--------------");
System.out.println(p1.equals(p1c));
System.out.println(p1.equals(p2));
System.out.println(p1.equals(new ArrayList<>()));
System.out.println(p1.equals(null));
System.out.println("\nCompare Transfers-------------");
System.out.println(t1.equals(t1c));
System.out.println(t1.equals(t2));
}
private static void testingBankWithTransactions(Transaction t1, Transaction t2, Transaction t3, Transaction t4, PrivateBank bank, String person) {
// ------------------------ Bank: Adding Payments
if(t1 instanceof Payment){
System.out.println("\n------------------------ Bank: Adding Payment");
System.out.println("p1 IncIntr. before adding : 0.0 = " + ((Payment) t1).getIncomingInterest());
System.out.println("p1 OutIntr. before adding : 0.0 = " + ((Payment) t1).getOutgoingInterest());
System.out.println("p2 IncIntr. before adding : 0.0 = " + ((Payment) t2).getIncomingInterest());
System.out.println("p2 OutIntr. before adding : 0.0 = " + ((Payment) t2).getOutgoingInterest());
System.out.println("p3 IncIntr. before adding : 0.5 = " + ((Payment) t3).getIncomingInterest());
System.out.println("p3 OutIntr. before adding : 0.0 = " + ((Payment) t3).getOutgoingInterest());
System.out.println("p4 IncIntr. before adding : 0.0 = " + ((Payment) t4).getIncomingInterest());
System.out.println("p4 OutIntr. before adding : 0.25= " + ((Payment) t4).getOutgoingInterest());
}
else if(t1 instanceof IncomingTransfer){
System.out.println("\n------------------------ Bank: Adding IncomingTransfer");
System.out.println("t1 Sender before adding : = " + ((IncomingTransfer) t1).getSender());
System.out.println("t1 Recipient before adding : = " + ((IncomingTransfer) t1).getRecipient());
System.out.println("t2 Sender before adding : Mustermann = " + ((IncomingTransfer) t2).getSender());
System.out.println("t2 Recipient before adding : Musterfrau = " + ((IncomingTransfer) t2).getRecipient());
System.out.println("t3 Sender before adding : Max Mustermann = " + ((IncomingTransfer) t3).getSender());
System.out.println("t3 Recipient before adding : Maria Musterfrau = " + ((IncomingTransfer) t3).getRecipient());
System.out.println("t4 Sender before adding : Maria Musterfrau = " + ((IncomingTransfer) t4).getSender());
System.out.println("t4 Recipient before adding : Max Musterman = " + ((IncomingTransfer) t4).getRecipient());
}
else if(t1 instanceof OutgoingTransfer){
System.out.println("\n------------------------ Bank: Adding OutgoingTransfer");
System.out.println("t1 Sender before adding : = " + ((OutgoingTransfer) t1).getSender());
System.out.println("t1 Recipient before adding : = " + ((OutgoingTransfer) t1).getRecipient());
System.out.println("t2 Sender before adding : Mustermann = " + ((OutgoingTransfer) t2).getSender());
System.out.println("t2 Recipient before adding : Musterfrau = " + ((OutgoingTransfer) t2).getRecipient());
System.out.println("t3 Sender before adding : Max Mustermann = " + ((OutgoingTransfer) t3).getSender());
System.out.println("t3 Recipient before adding : Maria Musterfrau = " + ((OutgoingTransfer) t3).getRecipient());
System.out.println("t4 Sender before adding : Maria Musterfrau = " + ((OutgoingTransfer) t4).getSender());
System.out.println("t4 Recipient before adding : Max Musterman = " + ((OutgoingTransfer) t4).getRecipient());
}
addingTransactionCatch(bank, person, t1);
addingTransactionCatch(bank, person, t1);
addingTransactionCatch(bank, person, t2);
addingTransactionCatch(bank, person, t3);
addingTransactionCatch(bank, person, t4);
System.out.println("\n------------------------ Bank: Printing Transactions");
List<Transaction> p = bank.getTransactions(person);
p.forEach(System.out::println);
System.out.println("\n------------------------ Bank: Printing Balance");
double balanceP1 = bank.getAccountBalance(person);
System.out.println("balance of Person1 " + person + " = " + balanceP1);
System.out.println("Payment = -15; Outgoing = -12.5; Incoming = 5");
System.out.println("\n------------------------ Bank: Removing Transaction");
removingTransactionCatch(bank, person, t1);
removingTransactionCatch(bank, person, t1);
removingTransactionCatch(bank, person, t2);
removingTransactionCatch(bank, person, t3);
removingTransactionCatch(bank, person, t4);
System.out.println("\n------------------------ Bank: Printing Transactions");
p = bank.getTransactions(person);
p.forEach(System.out::println);
System.out.println("\n------------------------ Bank: Printing Balance");
balanceP1 = bank.getAccountBalance(person);
System.out.println("balance of Person1 " + person + " 0 = " + balanceP1);
}
/*
private static void testingBankWithListOfTransactions(List transactions, PrivateBank bank, String person) {
// ------------------------ Bank: Adding Payments
if(transactions.getFirst() instanceof Payment){
System.out.println("\n------------------------ Bank: Adding Payment");
System.out.println("p1 IncIntr. before adding : 0.0 = " + ((Payment) transactions.get(0)).getIncomingInterest());
System.out.println("p1 OutIntr. before adding : 0.0 = " + ((Payment) transactions.get(0)).getOutgoingInterest());
System.out.println("p2 IncIntr. before adding : 0.0 = " + ((Payment) transactions.get(1)).getIncomingInterest());
System.out.println("p2 OutIntr. before adding : 0.0 = " + ((Payment) transactions.get(1)).getOutgoingInterest());
System.out.println("p3 IncIntr. before adding : 0.5 = " + ((Payment) transactions.get(2)).getIncomingInterest());
System.out.println("p3 OutIntr. before adding : 0.0 = " + ((Payment) transactions.get(2)).getOutgoingInterest());
System.out.println("p4 IncIntr. before adding : 0.0 = " + ((Payment) transactions.get(3)).getIncomingInterest());
System.out.println("p4 OutIntr. before adding : 0.25= " + ((Payment) transactions.get(3)).getOutgoingInterest());
}
else if(transactions.getFirst() instanceof IncomingTransfer){
System.out.println("\n------------------------ Bank: Adding IncomingTransfer");
System.out.println("t1 Sender before adding : = " + ((IncomingTransfer) transactions.get(0)).getSender());
System.out.println("t1 Recipient before adding : = " + ((IncomingTransfer) transactions.get(0)).getRecipient());
System.out.println("t2 Sender before adding : Mustermann = " + ((IncomingTransfer) transactions.get(1)).getSender());
System.out.println("t2 Recipient before adding : Musterfrau = " + ((IncomingTransfer) transactions.get(1)).getRecipient());
System.out.println("t3 Sender before adding : Max Mustermann = " + ((IncomingTransfer) transactions.get(2)).getSender());
System.out.println("t3 Recipient before adding : Maria Musterfrau = " + ((IncomingTransfer) transactions.get(2)).getRecipient());
System.out.println("t4 Sender before adding : Maria Musterfrau = " + ((IncomingTransfer) transactions.get(3)).getSender());
System.out.println("t4 Recipient before adding : Max Musterman = " + ((IncomingTransfer) transactions.get(3)).getRecipient());
}
else if(transactions.getFirst() instanceof OutgoingTransfer){
System.out.println("\n------------------------ Bank: Adding OutgoingTransfer");
System.out.println("t1 Sender before adding : = " + ((OutgoingTransfer) transactions.get(0)).getSender());
System.out.println("t1 Recipient before adding : = " + ((OutgoingTransfer) transactions.get(0)).getRecipient());
System.out.println("t2 Sender before adding : Mustermann = " + ((OutgoingTransfer) transactions.get(1)).getSender());
System.out.println("t2 Recipient before adding : Musterfrau = " + ((OutgoingTransfer) transactions.get(1)).getRecipient());
System.out.println("t3 Sender before adding : Max Mustermann = " + ((OutgoingTransfer) transactions.get(2)).getSender());
System.out.println("t3 Recipient before adding : Maria Musterfrau = " + ((OutgoingTransfer) transactions.get(2)).getRecipient());
System.out.println("t4 Sender before adding : Maria Musterfrau = " + ((OutgoingTransfer) transactions.get(3)).getSender());
System.out.println("t4 Recipient before adding : Max Musterman = " + ((OutgoingTransfer) transactions.get(3)).getRecipient());
}
addingTransactionCatch(bank, person, t1);
addingTransactionCatch(bank, person, t1);
addingTransactionCatch(bank, person, t2);
addingTransactionCatch(bank, person, t3);
addingTransactionCatch(bank, person, t4);
System.out.println("\n------------------------ Bank: Printing Transactions");
List<Transaction> p = bank.getTransactions(person);
p.forEach(System.out::println);
System.out.println("\n------------------------ Bank: Printing Balance");
double balanceP1 = bank.getAccountBalance(person);
System.out.println("balance of Person1 " + person + " = " + balanceP1);
System.out.println("Payment = -15; Outgoing = -12.5; Incoming = 5");
System.out.println("\n------------------------ Bank: Removing Transaction");
removingTransactionCatch(bank, person, t1);
removingTransactionCatch(bank, person, t1);
removingTransactionCatch(bank, person, t2);
removingTransactionCatch(bank, person, t3);
removingTransactionCatch(bank, person, t4);
System.out.println("\n------------------------ Bank: Printing Transactions");
p = bank.getTransactions(person);
p.forEach(System.out::println);
System.out.println("\n------------------------ Bank: Printing Balance");
balanceP1 = bank.getAccountBalance(person);
System.out.println("balance of Person1 " + person + " 0 = " + balanceP1);
}
*/
// ------------------------ Catch-Helper ------------------------
private static void accountCreationCatch(Bank bank, String account){
try {
bank.createAccount(account);
} catch (Exception e) {
System.out.println(e);
}
}
private static void accountCreationWihtListCatch(Bank bank, String account, List<Transaction> transactions){
try {
bank.createAccount(account, transactions);
} catch (Exception e) {
System.out.println(e);
}
}
private static void setInterestRateCatch(Payment p, double interestrate) {
try {
p.setIncomingInterest(interestrate);
} catch (Exception e) {
System.out.println(e);
}
try {
p.setOutgoingInterest(interestrate);
} catch (Exception e) {
System.out.println(e);
}
}
private static void setAmountCatch(Transaction t, double amount) {
try {
t.setAmount(amount);
} catch (Exception e) {
System.out.println(e);
}
}
private static void addingTransactionCatch(Bank bank, String person, Transaction transaction) {
try {
bank.addTransaction(person, transaction);
} catch (Exception e) {
System.out.println(e);
}
}
private static void removingTransactionCatch(Bank bank, String person, Transaction transaction) {
try {
bank.removeTransaction(person, transaction);
} catch (Exception e) {
System.out.println(e);
}
}
// ------------------------ MAIN ------------------------
public static void main(String[] args) throws TransactionAttributeException, IOException, java.io.IOException, TransactionAlreadyExistException, AccountAlreadyExistsException, AccountDoesNotExistException {
String person1 = "Max Mustermann";
String person2 = "Maria Musterfrau";
String person3 = "Tom Mustermann";
String person4 = "Hannah Musterfrau";
// ------------------------ Transactions ------------------------
Payment p1 = new Payment("01.01.24", 10, "Verwendungszweck P1");
/*
Payment p2 = new Payment("01.01.24", 10, "Verwendungszweck P2", 0, 0);
Payment p3 = new Payment("01.01.24", -10, "Verwendungszweck P3", 0.5, 0);
Payment p4 = new Payment("01.01.24", -10, "Verwendungszweck P4", 0, 0.25);
Transfer t1 = new Transfer("01.01.24", 10, "Verwendungszweck T1");
Transfer t2 = new Transfer("01.01.24", 10, "Verwendungszweck T2", "Mustermann", "Musterfrau");
Transfer t3 = new Transfer("01.01.24", 10, "Verwendungszweck T3", person1, person2);
Transfer t4 = new Transfer("01.01.24", 10, "Verwendungszweck T4", person2, person1);
Transfer t5 = new Transfer("01.01.24", 15, "Verwendungszweck T5", person2, person3);
Transfer t6 = new Transfer("01.01.24", 20, "Verwendungszweck T6", person2, person4);
IncomingTransfer it1 = new IncomingTransfer(t1.getDate(), t1.getAmount(), t1.getDescription());
IncomingTransfer it2 = new IncomingTransfer(t2.getDate(), t2.getAmount(), t2.getDescription(), person2, person1);
IncomingTransfer it3 = new IncomingTransfer(t3.getDate(), t3.getAmount(), t3.getDescription(), person3, person1);
IncomingTransfer it4 = new IncomingTransfer(t4.getDate(), t4.getAmount(), t4.getDescription(), person4, person1);
IncomingTransfer it5 = new IncomingTransfer(t5.getDate(), t5.getAmount(), t5.getDescription(), person4, person1);
IncomingTransfer it6 = new IncomingTransfer(t6.getDate(), t6.getAmount(), t6.getDescription(), person3, person1);
OutgoingTransfer ot1 = new OutgoingTransfer(t1.getDate(), t1.getAmount(), t1.getDescription());
OutgoingTransfer ot2 = new OutgoingTransfer(t2.getDate(), t2.getAmount(), t2.getDescription(), person2, person1);
OutgoingTransfer ot3 = new OutgoingTransfer(t3.getDate(), t3.getAmount(), t3.getDescription(), person2, person1);
OutgoingTransfer ot4 = new OutgoingTransfer(t4.getDate(), t4.getAmount(), t4.getDescription(), person2, person3);
OutgoingTransfer ot5 = new OutgoingTransfer(t5.getDate(), t5.getAmount(), t5.getDescription(), person2, person3);
OutgoingTransfer ot6 = new OutgoingTransfer(t6.getDate(), t6.getAmount(), t6.getDescription(), person2, person4);
List<Transaction> paymentsList = new ArrayList<>(Arrays.asList(p1, p2, p3, p4));
List<Transaction> incomingTransfersList = new ArrayList<>(Arrays.asList(it2, it3, it4, it5, it6));
List<Transaction> outgoingTransferList = new ArrayList<>(Arrays.asList(ot2, ot3, ot4, ot5, ot6));
List<Transaction> incomingTransfersListWrong = new ArrayList<>(Arrays.asList(it1, it2, it3, it4, it5, it6));
List<Transaction> outgoingTransferListWrong = new ArrayList<>(Arrays.asList(ot1, ot2, ot3, ot4, ot5, ot6));
testingTransactions(p1, p2, t1, t2);
*/
// ------------------------ Bank ------------------------
System.out.println("\n------------------------ Bank");
PrivateBank bank = new PrivateBank("Sparkasse", 0.5, 0.25,"accountdata");
PrivateBank bank1 = new PrivateBank("Commerzbank", 0.5, 0.25,"accountdata");
// ------------------------ Bank: Adding Accounts
bank.readAccounts();
bank.writeAccount("Max");
bank.addTransaction("Max",p1);
bank.writeAccount("Max");
}
}