test von der Bank vervollständigt

geheimnisprinzip auf Girokonto und die Attribute rausgenommen
Meins
Marc Ziegler 2022-10-24 10:27:26 +02:00
parent 383d627558
commit 7b7b3b8d42
4 changed files with 84 additions and 35 deletions

View File

@ -29,29 +29,28 @@ public class Bank implements Serializable{
return konten.get(Kontonummer).getStand(); 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); 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) { public void kontoAuszugerstellen(int Kontonummer) {
konten.get(Kontonummer).kontoAuszugerstellen(); 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(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); 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); return konten.get(kontonummer).abbuchen(Menge);
} }

View File

@ -11,7 +11,7 @@ public class GiroKontenTests {
Girokonto GK2=new Girokonto("Marc"); Girokonto GK2=new Girokonto("Marc");
Girokonto GK3=new Girokonto("Marc"); Girokonto GK3=new Girokonto("Marc");
int a=GK1.getKontonummer(); int a=GK1.getKontonummer();
int b =GK2.getKontonummer(); int b=GK2.getKontonummer();
int c=GK3.getKontonummer(); int c=GK3.getKontonummer();
Konto k1=new Konto("Marc"); Konto k1=new Konto("Marc");
@ -31,41 +31,78 @@ public class GiroKontenTests {
bank.addKonto(k1); bank.addKonto(k1);
} }
@Test @Test
public void Konto() { public void KontoEinzahlen() {
assertEquals(bank.GeldEinzahlen(e, 654),654L); assertEquals(bank.GeldEinzahlen(e, 654),654);
assertEquals(bank.GeldEinzahlen(f, 654),654L); assertEquals(bank.GeldEinzahlen(f, 65),65);
assertEquals(bank.GeldEinzahlen(g, 654),654L); assertEquals(bank.GeldEinzahlen(g, 6),6);
} }
@Test @Test
public void Giro() { public void GiroEinzahlen() {
assertEquals(bank.GeldEinzahlen(a, 654),654); assertEquals(bank.GeldEinzahlen(a, 654),654);
assertEquals(bank.GeldEinzahlen(b, 654),654); assertEquals(bank.GeldEinzahlen(b, 65),65);
assertEquals(bank.GeldEinzahlen(c, 654),654); assertEquals(bank.GeldEinzahlen(c, 6),6);
} }
@Test @Test
public void abhebenTest() { public void abhebenTest() {
//einzahlen der Test Mengen
bank.GeldEinzahlen(a, 22); bank.GeldEinzahlen(a, 22);
bank.GeldEinzahlen(c, 4444); bank.GeldEinzahlen(c, 4444);
bank.GeldEinzahlen(e, 6666); bank.GeldEinzahlen(e, 6666);
//Testen abheben Methode mit zu geringem stand
assertEquals(bank.abheben(a, 1111),22); assertEquals(bank.abheben(a, 1111),22);
//testen mit normalem konto
assertEquals(bank.abheben(c, 2222),2222); assertEquals(bank.abheben(c, 2222),2222);
//testen mit Giro
assertEquals(bank.abheben(e, 3333),3333); 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 @Test
public void überweißenTesten() { 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); bank.GeldEinzahlen(e, 6666);
assertEquals(bank.kontoÜberweisen(a,b,3333 ),bank.getKontostand(a)); //testen von Giro auf Giro
assertEquals(bank.kontoÜberweisen(c,e,3333 ),bank.getKontostand(c)); assertEquals(bank.kontoÜberweisen(a,b,3333 ),bank.getKontostand(b));
assertEquals(bank.kontoÜberweisen(c,e,3333 ),-1); //von Giro auf nicht Giro
assertEquals(bank.kontoÜberweisen(f,g,3333 ),bank.getKontostand(f)); 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);
} }
} }

View File

@ -3,18 +3,16 @@ package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable; import java.io.Serializable;
public class Girokonto extends Konto implements 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) { public Girokonto(String inhaber) {
super(inhaber); super(inhaber);
} }
public long neueÜberweisung(double Menge,int Empfänger) { @Override
if(Menge<=stand) { public long neueÜberweisung(long Menge,int Empfänger) {
KA.Hinzufügen(Menge, Empfänger); if(Menge<=super.getStand()) {
return stand; super.Überweisung(Menge, Empfänger);
//KA.Hinzufügen(Menge, Empfänger);
return super.getStand();
} }
System.out.println("Nicht genug Geld vorhanden"); System.out.println("Nicht genug Geld vorhanden");
return -1; return -1;

View File

@ -24,13 +24,22 @@ public class Konto implements Serializable{
public String toString() { public String toString() {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]";
} }
public long Einzahlen(double Betrag) { public long Einzahlen(long Betrag) {
KA.Hinzufügen(Betrag, "Mannheim"); KA.Hinzufügen(Betrag, "Mannheim");
if(Betrag>=0) if(Betrag>=0)
this.stand+=Betrag; this.stand+=Betrag;
return getStand(); 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() { public long getStand() {
return this.stand; return this.stand;
} }
@ -38,7 +47,7 @@ public class Konto implements Serializable{
public void kontoAuszugerstellen() { public void kontoAuszugerstellen() {
KA.Auszug(); KA.Auszug();
} }
public long abbuchen(double Menge) { public long abbuchen(long Menge) {
if(Menge<10000&&Menge<=stand) { if(Menge<10000&&Menge<=stand) {
KA.Hinzufügen(Menge, "Mannheim"); KA.Hinzufügen(Menge, "Mannheim");
stand-=Menge; 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"); System.out.println("zu hohe Menge, bitte begeben Sie sich zu Schalter dafür");
return stand; 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;
}
} }