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();
}
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;
}
public long abheben(int kontonummer,double Menge) {
return -3;
}
public long abheben(int kontonummer,long Menge) {
return konten.get(kontonummer).abbuchen(Menge);
}

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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;
}
}