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 454feba..7fb33d5 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 @@ -29,29 +29,28 @@ public class Bank implements Serializable{ return konten.get(Kontonummer).getStand(); } - public long GeldEinzahlen(int Kontonummer,double Betrag) { + public long GeldEinzahlen(int Kontonummer,long Betrag) { return konten.get(Kontonummer).Einzahlen(Betrag); - } - public long Überweißen(int Kontonummer,double Betrag) { - return Girokonten.get(Kontonummer).neueÜberweisung(Betrag, Kontonummer); - } public void kontoAuszugerstellen(int Kontonummer) { konten.get(Kontonummer).kontoAuszugerstellen(); } - public long kontoÜberweisen(int Empfänger,int inhaber, double Menge) { + public long kontoÜberweisen(int Empfänger,int inhaber, long Menge) { if(konten.get(inhaber) instanceof Girokonto) { - if(((Girokonto) konten.get(inhaber)).neueÜberweisung(Menge, Empfänger)>=0) + long stand=konten.get(inhaber).neueÜberweisung(Menge, Empfänger); + if(stand >=0) { konten.get(Empfänger).Einzahlen(Menge); - return konten.get(inhaber).getStand(); + return konten.get(inhaber).getStand();} + else + return -1; } - return -1; + return -3; } - public long abheben(int kontonummer,double Menge) { + public long abheben(int kontonummer,long Menge) { return konten.get(kontonummer).abbuchen(Menge); } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GiroKontenTests.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GiroKontenTests.java index 5ca5f35..7b190c7 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GiroKontenTests.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GiroKontenTests.java @@ -11,7 +11,7 @@ public class GiroKontenTests { Girokonto GK2=new Girokonto("Marc"); Girokonto GK3=new Girokonto("Marc"); int a=GK1.getKontonummer(); - int b =GK2.getKontonummer(); + int b=GK2.getKontonummer(); int c=GK3.getKontonummer(); Konto k1=new Konto("Marc"); @@ -31,41 +31,78 @@ public class GiroKontenTests { bank.addKonto(k1); } @Test - public void Konto() { + public void KontoEinzahlen() { - assertEquals(bank.GeldEinzahlen(e, 654),654L); - assertEquals(bank.GeldEinzahlen(f, 654),654L); - assertEquals(bank.GeldEinzahlen(g, 654),654L); + assertEquals(bank.GeldEinzahlen(e, 654),654); + assertEquals(bank.GeldEinzahlen(f, 65),65); + assertEquals(bank.GeldEinzahlen(g, 6),6); } @Test - public void Giro() { + public void GiroEinzahlen() { assertEquals(bank.GeldEinzahlen(a, 654),654); - assertEquals(bank.GeldEinzahlen(b, 654),654); - assertEquals(bank.GeldEinzahlen(c, 654),654); + assertEquals(bank.GeldEinzahlen(b, 65),65); + assertEquals(bank.GeldEinzahlen(c, 6),6); } @Test public void abhebenTest() { - + //einzahlen der Test Mengen bank.GeldEinzahlen(a, 22); bank.GeldEinzahlen(c, 4444); bank.GeldEinzahlen(e, 6666); + //Testen abheben Methode mit zu geringem stand assertEquals(bank.abheben(a, 1111),22); + //testen mit normalem konto assertEquals(bank.abheben(c, 2222),2222); + //testen mit Giro assertEquals(bank.abheben(e, 3333),3333); } + @Test + public void kontoStandTest() { + //Testen der getKontostand funktion ohne eingabe + assertEquals(bank.getKontostand(a),0); + assertEquals(bank.getKontostand(b),0); + assertEquals(bank.getKontostand(c),0); + assertEquals(bank.getKontostand(e),0); + assertEquals(bank.getKontostand(f),0); + assertEquals(bank.getKontostand(g),0); + //Testen der getKontostand funktion mit eingabe + bank.GeldEinzahlen(a, 111111); + bank.GeldEinzahlen(c, 11111); + bank.GeldEinzahlen(e, 1111); + bank.GeldEinzahlen(b, 111); + bank.GeldEinzahlen(f, 11); + bank.GeldEinzahlen(g, 1); + assertEquals(bank.getKontostand(a),111111); + assertEquals(bank.getKontostand(b),111); + assertEquals(bank.getKontostand(c),11111); + assertEquals(bank.getKontostand(e),1111); + assertEquals(bank.getKontostand(f),11); + assertEquals(bank.getKontostand(g),1); + } + + + + @Test public void überweißenTesten() { - bank.GeldEinzahlen(a, 3333); - bank.GeldEinzahlen(c, 4444); + + + //einzahlen des Testguthabens + bank.GeldEinzahlen(b, 3333); + bank.GeldEinzahlen(c, 3333); bank.GeldEinzahlen(e, 6666); - assertEquals(bank.kontoÜberweisen(a,b,3333 ),bank.getKontostand(a)); - assertEquals(bank.kontoÜberweisen(c,e,3333 ),bank.getKontostand(c)); - assertEquals(bank.kontoÜberweisen(c,e,3333 ),-1); - assertEquals(bank.kontoÜberweisen(f,g,3333 ),bank.getKontostand(f)); + //testen von Giro auf Giro + assertEquals(bank.kontoÜberweisen(a,b,3333 ),bank.getKontostand(b)); + //von Giro auf nicht Giro + assertEquals(bank.kontoÜberweisen(e,c,3333 ),bank.getKontostand(c)); + //nicht genug Guthaben/von Giro auf nicht Giro + assertEquals(bank.kontoÜberweisen(e,c,3335 ),-1); + //nicht Giro auf nicht Giro + assertEquals(bank.kontoÜberweisen(f,g,3333 ),-3); } } 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 f8bcd7c..4dc6bfd 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,18 +3,16 @@ package de.hs_mannheim.informatik.bank.domain; import java.io.Serializable; public class Girokonto extends Konto implements Serializable { - private int nummer; - private long stand = 0; - private String inhaber; - private Kontoauszug KA=new Kontoauszug(); public Girokonto(String inhaber) { super(inhaber); } - public long neueÜberweisung(double Menge,int Empfänger) { - if(Menge<=stand) { - KA.Hinzufügen(Menge, Empfänger); - return stand; + @Override + public long neueÜberweisung(long Menge,int Empfänger) { + if(Menge<=super.getStand()) { + super.Überweisung(Menge, Empfänger); + //KA.Hinzufügen(Menge, Empfänger); + return super.getStand(); } System.out.println("Nicht genug Geld vorhanden"); return -1; 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 88bc6d0..692afae 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 @@ -24,13 +24,22 @@ public class Konto implements Serializable{ public String toString() { return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; } - public long Einzahlen(double Betrag) { + public long Einzahlen(long Betrag) { KA.Hinzufügen(Betrag, "Mannheim"); if(Betrag>=0) this.stand+=Betrag; return getStand(); } + public long Einzahlen(long Betrag,int Sender) { + KA.Hinzufügen(Betrag, Sender); + + if(Betrag>=0) + this.stand+=Betrag; + return getStand(); + } + + public long getStand() { return this.stand; } @@ -38,7 +47,7 @@ public class Konto implements Serializable{ public void kontoAuszugerstellen() { KA.Auszug(); } - public long abbuchen(double Menge) { + public long abbuchen(long Menge) { if(Menge<10000&&Menge<=stand) { KA.Hinzufügen(Menge, "Mannheim"); stand-=Menge; @@ -47,4 +56,10 @@ public class Konto implements Serializable{ System.out.println("zu hohe Menge, bitte begeben Sie sich zu Schalter dafür"); return stand; } + public void Überweisung(long Menge,int Empfänger) { + KA.Hinzufügen(Menge, Empfänger); + } + public long neueÜberweisung(long Menge, int Empfänger) { + return 0; + } }