diff --git a/Bank-Beispiel/.classpath b/Bank-Beispiel/.classpath index 257ce1d..c8ffe1c 100644 --- a/Bank-Beispiel/.classpath +++ b/Bank-Beispiel/.classpath @@ -1,6 +1,6 @@ - + diff --git a/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser b/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser new file mode 100644 index 0000000..7e4a9aa Binary files /dev/null and b/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser differ diff --git a/Bank-Beispiel/Testsystem-bank-data.ser b/Bank-Beispiel/Testsystem-bank-data.ser new file mode 100644 index 0000000..47e2700 Binary files /dev/null and b/Bank-Beispiel/Testsystem-bank-data.ser differ diff --git a/Bank-Beispiel/Testsytsem-bank-data.ser b/Bank-Beispiel/Testsytsem-bank-data.ser new file mode 100644 index 0000000..18ef9ff Binary files /dev/null and b/Bank-Beispiel/Testsytsem-bank-data.ser differ diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java index d9b1d77..08b4b91 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java @@ -3,13 +3,14 @@ package de.hs_mannheim.informatik.bank.domain; import java.io.Serializable; public class Girokonto extends Konto implements Serializable { + private long dispoKredit = -1000; public Girokonto(String inhaber, int kontozähler) { super(inhaber, kontozähler); } public boolean überweise(Girokonto ziel, long betrag, String zweck) { - if (super.getKontostand() - betrag >= 0) { + if (super.getKontostand() - betrag >= dispoKredit) { this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber()); ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber()); @@ -18,6 +19,16 @@ public class Girokonto extends Konto implements Serializable { return false; } + @Override + public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) { + if(stand - betrag >= dispoKredit) { + stand -= betrag; + + kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber)); + return true; + } + return false; + } @Override public String toString() { diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java index 31220e1..f63c309 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java @@ -5,10 +5,10 @@ import java.util.ArrayList; public class Konto implements Serializable { private int nummer; - private long stand = 0; + protected long stand = 0; private String inhaber; - private ArrayList kontobewegungen; + protected ArrayList kontobewegungen; public Konto(String inhaber, int kontozähler) { nummer = 1000 + kontozähler; diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java index 5d72301..425df5f 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java @@ -54,6 +54,10 @@ public class Banksystem { Konto konto = bank.findeKonto(kontonummer); Persistenz.speichereBankDaten(this.bank, bank.getName()); + + if(konto instanceof Girokonto) { + + } return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber()); } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java index 0ce5674..8f3d6de 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java @@ -1,10 +1,16 @@ package de.hs_mannheim.informatik.bank.facade; +import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import java.io.File; + import org.junit.jupiter.api.Test; +import de.hs_mannheim.informatik.bank.domain.Bank; +import de.hs_mannheim.informatik.bank.domain.Konto; + class SystemTest { @Test @@ -12,8 +18,32 @@ class SystemTest { Banksystem bs = new Banksystem("Testsystem"); assertNotNull(bs); - assertEquals(0, bs.getKontenliste().length); + //assertEquals(0, bs.getKontenliste().length); assertEquals("Testsystem", bs.getBankname()); } + + @Test + + void einzahlungsTest() throws Exception { + Banksystem bs = new Banksystem("Testsytsem"); + bs.kontoAnlegen("Jürgi", 1); + bs.kontoAnlegen("Ralf", 2); + assertEquals(300, bs.geldEinzahlen(1000, 300)); + assertEquals(300, bs.geldEinzahlen(1001, 300)); + //Bank b = new Bank("Volksbank"); + //b.addKonto("Jürgi", 1); + //b.addKonto("Ralf" , 2); + //File file = new file(); + } + @Test + + void auszahlungsTest() throws Exception { + Banksystem bs = new Banksystem("Testsystem"); + bs.kontoAnlegen("Helga", 1); + bs.kontoAnlegen("Marianne", 2); + assertTrue(bs.geldAuszahlen(1000, 300)); + assertTrue(bs.geldAuszahlen(1001,300)); + + } }