diff --git a/Bank-Beispiel/.classpath b/Bank-Beispiel/.classpath index 57bca72..aa3d84a 100644 --- a/Bank-Beispiel/.classpath +++ b/Bank-Beispiel/.classpath @@ -1,10 +1,11 @@ - - - - - - - - - - + + + + + + + + + + + diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java index b075558..9fafdd1 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java @@ -6,7 +6,7 @@ import de.hs_mannheim.informatik.bank.ui.UI; public class Main { public static void main(String[] args) { - Banksystem bs = new Banksystem("Spaßkasse Mannheim"); + Banksystem bs = new Banksystem("Spaßkasse Mannheim"); UI ui = new UI(bs); } 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 0b66d3d..5b31c4e 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 @@ -3,6 +3,7 @@ package de.hs_mannheim.informatik.bank.domain; import java.util.Collection; import java.util.HashMap; + public class Bank { private String name; private HashMap konten = new HashMap<>(); @@ -22,5 +23,12 @@ public class Bank { public Collection getKontenliste() { return konten.values(); } + public long getKontostand(int Kontonummer) { + return konten.get(Kontonummer).getStand(); + } + public long GeldEinzahlen(int Kontonummer,long Betrag) { + return konten.get(Kontonummer).Einzahlen(Betrag); + } } + 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 654d503..cfa98ed 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 @@ -1,14 +1,14 @@ package de.hs_mannheim.informatik.bank.domain; public class Konto { - private static int kontozähler = 0; + private static int kontozähler = 0; private int nummer; private long stand = 0; private String inhaber; public Konto(String inhaber) { - nummer = 1000 + kontozähler++; + nummer = 1000 + kontozähler++; this.inhaber = inhaber; } @@ -20,5 +20,12 @@ public class Konto { public String toString() { return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; } - + public long Einzahlen(long Betrag) { + if(Betrag>=0) + this.stand+=Betrag; + return getStand(); + } + public long getStand() { + return this.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 new file mode 100644 index 0000000..7f2b1b7 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java @@ -0,0 +1,27 @@ +package de.hs_mannheim.informatik.bank.domain; + +import static org.junit.Assert.*; + +import org.junit.Assert; +import org.junit.Test; + + +public class KontoTest { + + @Test + public void Testcase7() { + Konto k=new Konto("Marc"); + Assert.assertEquals("einzahlen min",k.Einzahlen(1),1L); + } + @Test + public void Testcase8() { + Konto k=new Konto("Marc"); + Assert.assertEquals("hohe Zahl",k.Einzahlen(999999),999999L); + } + @Test + public void Testcase9() { + Konto k=new Konto("Marc"); + Assert.assertEquals("negative Zahl",k.Einzahlen(-1),0); + } + +} 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 821c2a9..6d290a3 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 @@ -34,4 +34,10 @@ public class Banksystem { public String getBankname() { return bank.getName(); } + public long Einzahlen(int Kontonummer,long Betrag) { + return this.bank.GeldEinzahlen(Kontonummer, Betrag); + } + public long getKontostand(int Kontonummer) { + return bank.getKontostand(Kontonummer); + } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java new file mode 100644 index 0000000..c978bfb --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java @@ -0,0 +1,88 @@ +package de.hs_mannheim.informatik.bank.facade; + +import static org.junit.Assert.*; + +import org.junit.Assert; +import org.junit.Test; + + +public class BanksystemTest { + + @Test + public void Testcase1() { + Banksystem bs=new Banksystem("Testbank"); + int kontonummer=bs.kontoAnlegen("Marc"); + System.out.println(kontonummer); + Assert.assertEquals("erster Testcase einzahlen des mindestWerts",bs.Einzahlen(kontonummer, 1L),1L); + } + @Test + public void Testcase2() { + Banksystem bs=new Banksystem("Testbank"); + bs.kontoAnlegen("Marc"); + int kontonummer=bs.kontoAnlegen("Marc1"); + System.out.println(kontonummer); + Assert.assertEquals("höchst Wert",bs.Einzahlen(kontonummer, 9999999999999999L),9999999999999999L); + } + + @Test + public void Testcase3() { + Banksystem bs=new Banksystem("Testbank"); + bs.kontoAnlegen("Marc"); + bs.kontoAnlegen("Marc1"); + int kontonummer = bs.kontoAnlegen("Marc2"); + System.out.println(kontonummer); + Assert.assertEquals("Test zum nichtbeachten Zahlen kleiner 0",bs.Einzahlen(kontonummer, -1L),0L); + } + + @Test + public void Testcase4() { + Banksystem bs=new Banksystem("Testbank"); + bs.kontoAnlegen("Marc"); + bs.kontoAnlegen("Marc1"); + bs.kontoAnlegen("Marc2"); + bs.kontoAnlegen("Marc3"); + bs.kontoAnlegen("Marc4"); + + bs.kontoAnlegen("Marc5"); + bs.kontoAnlegen("Marc6"); + bs.kontoAnlegen("Marc7"); + bs.kontoAnlegen("Marc8"); + int kontonummer=bs.kontoAnlegen("Marc9"); + System.out.println(kontonummer); + Assert.assertEquals("Höchstwert der Kontonummer testen",bs.Einzahlen(kontonummer, 1L),1L); + } + @Test(expected = NullPointerException.class) + public void Testcase5() { + Banksystem bs=new Banksystem("Testbank"); + bs.kontoAnlegen("Marc"); + bs.kontoAnlegen("Marc1"); + bs.kontoAnlegen("Marc2"); + bs.kontoAnlegen("Marc3"); + bs.kontoAnlegen("Marc4"); + + bs.kontoAnlegen("Marc5"); + bs.kontoAnlegen("Marc6"); + bs.kontoAnlegen("Marc7"); + bs.kontoAnlegen("Marc8"); + bs.kontoAnlegen("Marc9"); + Assert.assertEquals("Fehlermeldung bei zukleiner Kontonummer",bs.Einzahlen(999, 1L),1L); + } + @Test(expected = NullPointerException.class) + public void Testcase6() { + Banksystem bs=new Banksystem("Testbank"); + bs.kontoAnlegen("Marc"); + bs.kontoAnlegen("Marc1"); + bs.kontoAnlegen("Marc2"); + bs.kontoAnlegen("Marc3"); + bs.kontoAnlegen("Marc4"); + + bs.kontoAnlegen("Marc5"); + bs.kontoAnlegen("Marc6"); + bs.kontoAnlegen("Marc7"); + bs.kontoAnlegen("Marc8"); + bs.kontoAnlegen("Marc9"); + + Assert.assertEquals("Fehlermeldung bei zu großer Kontonummer",bs.Einzahlen(1100, 1L),1L); + } + +} 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 d6eb6e9..dc32eeb 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 @@ -10,19 +10,21 @@ public class UI { public UI(Banksystem bs) { this.bs = bs; - hauptmenü(); + hauptmenü(); } - private void hauptmenü() { + private void hauptmenü() { System.out.println("Willkommen bei der " + bs.getBankname() + "!"); mainloop: while (true) { System.out.println(); System.out.println("--------"); - System.out.println("Hauptmenü"); + System.out.println("Hauptmenü"); System.out.println("1 -> Konten anzeigen"); System.out.println("2 -> Konto anlegen"); + System.out.println("3 -> Geld einzahlen"); + System.out.println("4 -> Kontostand abfragen"); System.out.println("9 -> Beenden"); System.out.println(); @@ -33,24 +35,27 @@ public class UI { switch(input) { case 1: kontenAnzeigen(); break; case 2: kontoAnlegen(); break; + case 3: kontoEinzahlen();break; + case 4: kontoStandAbfragen();break; case 9: break mainloop; } } System.out.println("Auf Wiedersehen!"); - } // hauptmenü + } // hauptmenü private void kontenAnzeigen() { String[] konten = bs.getKontenliste(); if (konten.length > 0) { - System.out.println("Folgende Konten sind aktuell verfügbar:"); + System.out.println("Folgende Konten sind aktuell verfügbar:"); for (String s : konten) { System.out.println(s); } } else { System.out.println("Bisher keine Konten angelegt."); } + sc.nextLine(); } private void kontoAnlegen() { @@ -59,6 +64,50 @@ public class UI { int kontonummer = bs.kontoAnlegen(name); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); + sc.nextLine(); } + public void kontoEinzahlen() { + System.out.println("Kontonummer: "); + int Kontonummer=Integer.parseInt(sc.nextLine()); + long Betrag=0L; + try { + System.out.println("Betrag angeben"); + Betrag=Long.parseLong(sc.nextLine()); + + if(Betrag<0) { + System.out.println("Man kann keine negativen Beträge einzahlen "); + + } + + + } + catch(Exception InputMismatchException){ + System.out.println("Bitte daran denken das nur ganze Zahlen mit Long angenommen werden"); + + } + try { + + long Kontostand=bs.Einzahlen(Kontonummer, Betrag); + System.out.println("Der aktuelle Kontostand beträgt: "+Kontostand+" Euro"); + sc.nextLine(); + }catch(Exception NullPointerException) { + System.out.println("Nicht excistierendes Konto"); + sc.nextLine(); + } + + + + } + public void kontoStandAbfragen() { + System.out.println("bitte geben Sie ihre Kontonummer an: "); + int Kontonummer=Integer.parseInt(sc.nextLine()); + try { + System.out.println("der Kontostand beträgt: "+ bs.getKontostand(Kontonummer)); + } + catch(Exception NullPointerException) { + System.out.println("Nicht excistierendes Konto"); + } + sc.nextLine(); + } }