diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java index 7a96f50..bbff20f 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java @@ -92,4 +92,9 @@ public class Bank implements Serializable { return konto.getAuszuge(); } + + public long getSaldo(int kontonummer, int anzahl) { + Konto konto = konten.get(kontonummer); + return konto.getSaldo(anzahl); + } } 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 be9365d..b550738 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 @@ -10,7 +10,7 @@ public class Girokonto extends Konto implements Serializable { public boolean überweise(Girokonto ziel, long betrag, String zweck) { if (super.getKontostand() - betrag >= 0) { - this.zahleAus(betrag, this.getInhaber()); + this.zahleAus2(betrag, this.getInhaber()); ziel.zahleEin(betrag, this.getInhaber()); return true; diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GirokontoTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GirokontoTest.java index a806578..0e94c5c 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GirokontoTest.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GirokontoTest.java @@ -42,7 +42,18 @@ class GirokontoTest { } + @Test + void testÜberweisen() { + + Girokonto g5 = new Girokonto("hans", 0); + Girokonto g6 = new Girokonto("Peter", 1); + g5.zahleEin(500, "Peter"); + g5.überweise(g6, 500,"testen" ); + System.out.println(g6.getKontostand()); + assertEquals(500, g6.getKontostand()); + + } 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 2b66af8..358fade 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 @@ -19,6 +19,13 @@ public class Konto implements Serializable { this.inhaber = inhaber; } + public long getSaldo(int z) { + long saldo = 0; + for ( int x = 0 ; x < z; x++){ + saldo += auszuge.get(z).getBetrag(); + } + return saldo; + } public int getKontonummer() { return nummer; @@ -48,7 +55,9 @@ public class Konto implements Serializable { return stand; } public long zahleAus2(long einzahlung, String auftraggeber) { + stand -= einzahlung; + System.out.println(stand); auszuge.add(new Kontoauszug(stand,einzahlung, auftraggeber)); return stand; } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java index 6a0bbdc..d735e98 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java @@ -11,25 +11,32 @@ class KontoTest { Konto k = new Konto("Müller", 0); assertEquals("Müller", k.getInhaber()); assertEquals(1000, k.getKontonummer()); - assertEquals(0, k.getKontostand()); + assertEquals(0, k.getKontostand()); - Konto k2 = new Konto("Mayer", 1); assertEquals("Mayer", k2.getInhaber()); assertNotEquals(k.getKontonummer(), k2.getKontonummer()); assertEquals(1001, k2.getKontonummer()); - + k2.zahleEin(100, k2.getName()); assertEquals(100, k2.getKontostand()); - //assertTrue(k2.zahleAus(50, "Test", "Einzahlung", "JUnit")); + // assertTrue(k2.zahleAus(50, "Test", "Einzahlung", "JUnit")); assertNotEquals(50, k2.getKontostand()); - //assertFalse(k2.zahleAus(500, "Test", "Einzahlung", "JUnit")); + // assertFalse(k2.zahleAus(500, "Test", "Einzahlung", "JUnit")); assertNotEquals(50, k2.getKontostand()); } - + @Test + void testSaldo() { + Konto k = new Konto("Meier",1); + Konto k2 = new Konto("franz",2); + k.zahleEin(100, "Meier"); + k.zahleEin(100, "Meier"); + k.zahleEin(100, "Meier"); + assertEquals(k.getSaldo(1), 100); + assertEquals(k.getSaldo(2),200); } - +} diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszug.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszug.java index a9c715c..b49b6fe 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszug.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszug.java @@ -21,4 +21,9 @@ public class Kontoauszug implements Serializable { return "Datum: " + date.toString() + " | Kontostand: " + kontostand + " | Betrag: "+ betrag + " | " + "Auftraggeber: " + auftraggeber; } + + public long getBetrag() { + return betrag; + + } } 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 8d82b3d..a9c8d39 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 @@ -82,6 +82,7 @@ public class Banksystem implements Serializable { public List getAuszuge(Integer kontonummer) { return bank.getAuszuge(kontonummer); } + public boolean instanceOfGirokonto(int kontonummer) { Konto start = bank.existiertKonto2(kontonummer); if(start instanceof Girokonto ) { @@ -91,7 +92,11 @@ public class Banksystem implements Serializable { return false; } - + public long getSaldo(int kontonummer, int anzahl) { + + return bank.getSaldo(kontonummer, anzahl); + + } 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 2f96c5f..90549f4 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 @@ -26,7 +26,7 @@ class SystemTest { String name = "Peter"; int auswahl = 1; bs.kontoAnlegen(name, auswahl); - assertNotEquals(bs.getKontenliste(), 0); + assertNotEquals(0, bs.getKontenliste()); } @Test @@ -36,7 +36,7 @@ class SystemTest { long einzahlung = 500; Konto k = new Konto ("Hans",1); bs.zahleEin(1000, einzahlung); - assertEquals(bs.getKontostand(1000), 500); + assertEquals( 500, bs.getKontostand(1000)); } @Test @@ -48,7 +48,7 @@ class SystemTest { long einzahlung = 500; bs.zahleEin(1000, einzahlung); bs.zahleAus(1001, 400); - assertEquals(bs.getKontostand(1000), 100); + assertEquals(100, bs.getKontostand(1000)); } } 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 b1bc421..5647a86 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 @@ -3,6 +3,7 @@ package de.hs_mannheim.informatik.bank.ui; import java.util.List; import java.util.Scanner; +import de.hs_mannheim.informatik.bank.domain.Konto; import de.hs_mannheim.informatik.bank.domain.Kontoauszug; import de.hs_mannheim.informatik.bank.facade.Banksystem; @@ -29,6 +30,7 @@ public class UI { System.out.println("5 -> Kontostand anzeigen"); System.out.println("6 -> Kontoauszug anzeigen"); System.out.println("7 -> Überweisung beauftragen"); + System.out.println("8 -> Saldo"); System.out.println("9 -> Beenden"); System.out.println(); @@ -63,6 +65,8 @@ public class UI { break; case 7 : überweisungBeauftragen();break; + case 8 : SaldoAnzeigen(); break; + case 9: break mainloop; default: @@ -145,7 +149,7 @@ public class UI { // Abheben if(bs.instanceOfGirokonto(kontonummer)) { bs.zahleAus2(kontonummer, betrag); - System.out.println("Sie haben ihr konto Überzogen "+(bs.getKontostand(1000)-betrag)+" Euro"); + System.out.println("Sie haben ihr konto Überzogen "+(bs.getKontostand(1000))+" Euro"); return; } @@ -176,6 +180,15 @@ public class UI { System.out.println( "Konto mit der Nummer " + kontonummer + " hat einen Kontostand von " + bs.getKontostand(kontonummer)); + + + } + private void SaldoAnzeigen() { + System.out.println("Bitte die Kontonummer angeben: "); + Integer kontonummer = sc.nextInt(); + System.out.println("Welche Anzahl wollen Sie sehen?"); + Integer anzahl = sc.nextInt(); + System.out.println(bs.getSaldo(kontonummer, anzahl)); } private void überweisungBeauftragen() {