main
User 2022-10-25 14:46:37 +02:00
parent 1d2b92b875
commit 777ec22c02
6 changed files with 28 additions and 18 deletions

View File

@ -4,6 +4,8 @@ import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import org.hamcrest.core.IsInstanceOf;
public class Bank implements Serializable { public class Bank implements Serializable {
private String name; private String name;
private HashMap<Integer, Konto> konten = new HashMap<>(); private HashMap<Integer, Konto> konten = new HashMap<>();
@ -39,4 +41,11 @@ public class Bank implements Serializable {
return konten.get(kontonummer); return konten.get(kontonummer);
} }
public boolean isGirokonto(int kontonummer) {
if(konten.get(kontonummer) instanceof Girokonto)
return true;
else
return false;
}
} }

View File

@ -3,13 +3,14 @@ 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 dispositionskredit = 0;
public Girokonto(String inhaber, int kontozähler) { public Girokonto(String inhaber, int kontozähler) {
super(inhaber, kontozähler); super(inhaber, kontozähler);
} }
public boolean überweise(Girokonto ziel, long betrag, String zweck) { public boolean überweise(Girokonto ziel, long betrag, String zweck) {
if ((super.getKontostand() + super.getDispo()) - betrag >= 0) { if ((super.getKontostand() + dispositionskredit) - betrag >= 0) {
this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber()); this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber());
ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber()); ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber());

View File

@ -7,8 +7,9 @@ public class Konto implements Serializable {
private int nummer; private int nummer;
private long stand = 0; private long stand = 0;
private String inhaber; private String inhaber;
private int dispositionskredit = 0;
private int bewegungsZähler = 0; private int bewegungsZähler = 0;
int dispo = 0;
private ArrayList<Kontobewegung> kontobewegungen; private ArrayList<Kontobewegung> kontobewegungen;
@ -36,26 +37,16 @@ public class Konto implements Serializable {
return stand; return stand;
} }
public void setDispo(int dispowert) {
this.dispositionskredit = dispowert;
}
public int getDispo() {
return dispositionskredit;
}
public void einzahlen(long betrag, String zweck, String art, String auftraggeber) { public void einzahlen(long betrag, String zweck, String art, String auftraggeber) {
stand += betrag; stand += betrag;
// kontobewegungen.add(new Kontobewegung(betrag, zweck, art, auftraggeber));
speichereKontobewegung(betrag, zweck, art, auftraggeber); speichereKontobewegung(betrag, zweck, art, auftraggeber);
} }
public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) { public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) {
if ((stand + dispositionskredit) - betrag >= 0) { if ((stand + dispo)- betrag >= 0) {
stand -= betrag; stand -= betrag;
// kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber));
speichereKontobewegung(betrag, zweck, art, auftraggeber); speichereKontobewegung(betrag, zweck, art, auftraggeber);
return true; return true;
@ -81,7 +72,13 @@ public class Konto implements Serializable {
if(bewegungsZähler % 10 == 0) { if(bewegungsZähler % 10 == 0) {
System.out.println("Aktuelles Saldo: " + stand); System.out.println("Aktuelles Saldo: " + stand);
//syso nur in UI
//oder mit size of
} }
} }
public void setDispo(int zahl) {
this.dispo = zahl;
}
} }

View File

@ -39,6 +39,7 @@ class KontoTests {
k1.setDispo(500); k1.setDispo(500);
k1.einzahlen(1000, "Test", "Einzahlung", "JUnit"); k1.einzahlen(1000, "Test", "Einzahlung", "JUnit");
k1.auszahlen(1300, "Test", "Auszahlung", "JUnit"); k1.auszahlen(1300, "Test", "Auszahlung", "JUnit");

View File

@ -53,6 +53,8 @@ public class Banksystem {
public boolean geldAuszahlen(int kontonummer, long betrag) throws Exception { public boolean geldAuszahlen(int kontonummer, long betrag) throws Exception {
Konto konto = bank.findeKonto(kontonummer); Konto konto = bank.findeKonto(kontonummer);
boolean ok = bank.isGirokonto(kontonummer);
Persistenz.speichereBankDaten(this.bank, bank.getName()); Persistenz.speichereBankDaten(this.bank, bank.getName());
return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber()); return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber());

View File

@ -7,9 +7,9 @@ import java.io.File;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import de.hs_mannheim.informatik.bank.infrastructure.Persistenz; //import de.hs_mannheim.informatik.bank.infrastructure.Persistenz;
class BanksystemTest { class BanksystemTests {
@Test @Test
void smokeTest() throws Exception { void smokeTest() throws Exception {
@ -38,7 +38,7 @@ class BanksystemTest {
assertEquals(1300, bs.getKontostand(1000)); assertEquals(1300, bs.getKontostand(1000));
File save = new File("C:/Users/User/git/Bank-System_Hummel/Bank-Beispiel/Testsystem-bank-data.ser"); File save = new File("C:/Users/User/git/Bank-System_Fork/Bank-Beispiel/Testsystem-bank-data.ser");
System.out.println(save.exists()); System.out.println(save.exists());
@ -59,7 +59,7 @@ class BanksystemTest {
@Test @Test
void dateiLöschen2() { void dateiLöschen2() {
File save = new File("C:/Users/User/git/Bank-System_Hummel/Bank-Beispiel/Testsystem-bank-data.ser"); File save = new File("C:/Users/User/git/Bank-System_Fork/Bank-Beispiel/Testsystem-bank-data.ser");
save.exists(); save.exists();
save.delete(); save.delete();