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 6c0bfc2..5ff5144 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 @@ -66,12 +66,15 @@ public class Banksystem { return konto.getKontobewegungen(); } - public boolean überweisungBeauftragen(int startkonto, int zielkonto, long betrag, String verwendungszweck) { + public boolean überweisungBeauftragen(int startkonto, int zielkonto, long betrag, String verwendungszweck) throws Exception { Konto start = bank.findeKonto(startkonto); Konto ziel = bank.findeKonto(zielkonto); if (start instanceof Girokonto && ziel instanceof Girokonto) { - return ((Girokonto)start).überweise((Girokonto)ziel, betrag, verwendungszweck); + boolean erfolg = ((Girokonto)start).überweise((Girokonto)ziel, betrag, verwendungszweck); + Persistenz.speichereBankDaten(this.bank, bank.getName()); + + return erfolg; } return false; 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 90d65e0..b063dce 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 @@ -2,6 +2,7 @@ package de.hs_mannheim.informatik.bank.facade; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; @@ -45,15 +46,19 @@ class SystemTest { @Test @Order(3) void persistenzTest() throws Exception { - int knr = bs.kontoAnlegen("Test2", 1); - bs.geldEinzahlen(knr, 1000); + int knr = bs.kontoAnlegen("Test2", 2); + int knr2 = bs.kontoAnlegen("Test3", 2); + bs.geldEinzahlen(knr, 1000); bs.geldAuszahlen(knr, 500); + assertTrue(bs.überweisungBeauftragen(knr, knr2, 100, "Überweisungstest.")); + + assertEquals(400, bs.getKontostand(knr)); bs = null; Banksystem bs2 = new Banksystem("Testsystem"); - assertEquals(500, bs2.getKontostand(knr)); + assertEquals(400, bs2.getKontostand(knr)); } @AfterAll diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java index c3bfe9b..3f10d79 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java @@ -128,7 +128,7 @@ public class UI { System.out.println("Noch keine Kontobewegungen."); } - private void überweisungBeauftragen() { + private void überweisungBeauftragen() throws Exception { System.out.print("Bitte die Kontonummer des Ausgangskontos der Überweisung eingeben: "); int startkonto = Integer.parseInt(sc.nextLine());