Ich weiß niht mehr was das alles war

main
informatikperson 2022-10-25 15:08:13 +02:00
parent e791696af8
commit 16cf5732cb
6 changed files with 91 additions and 7 deletions

View File

@ -18,10 +18,30 @@ public class Girokonto extends Konto implements Serializable {
return false; return false;
} }
public long kreditEinfügen(Girokonto start, long betrag) {
if (super.getKontostand() - betrag <= 0 && super.getKontostand()-betrag >=-500) {
}
return this.getKontostand();
}
@Override @Override
public String toString() { public String toString() {
return "Giro-" + super.toString(); return "Giro-" + super.toString();
} }
@Override
public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) {
if (super.getKontostand() - betrag >= -500) {
super.stand -= betrag;
kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber));
return true;
}
return false;
}
} }

View File

@ -0,0 +1,30 @@
package de.hs_mannheim.informatik.bank.domain;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class GirokontoTest {
@Test
void testAuszahlen() {
Girokonto k = new Girokonto("name", 1);
long betrag = 50;
String zweck = "";
String art = " ";
String auftraggeber =" ";
k.auszahlen(betrag, zweck, art, auftraggeber);
assertEquals(k.getKontostand(),-50 );
}
@Test
void testAuszahlenFail() {
Girokonto k = new Girokonto("name", 1);
long betrag = 550;
String zweck = "";
String art = " ";
String auftraggeber =" ";
k.auszahlen(betrag, zweck, art, auftraggeber);
assertNotEquals(k.getKontostand(),-50 );
}
}

View File

@ -3,12 +3,14 @@ package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import infrastruktur.Persistenz;
public class Konto implements Serializable { public class Konto implements Serializable {
private int nummer; private int nummer;
private long stand = 0; protected long stand = 0;
private String inhaber; private String inhaber;
private ArrayList<Kontobewegung> kontobewegungen; protected ArrayList<Kontobewegung> kontobewegungen;
public Konto(String inhaber, int kontozähler) { public Konto(String inhaber, int kontozähler) {
nummer = 1000 + kontozähler; nummer = 1000 + kontozähler;
@ -42,6 +44,7 @@ public class Konto implements Serializable {
public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) { public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) {
if (stand - betrag >= 0) { if (stand - betrag >= 0) {
// Schwierigkeiten bei Giro minus
stand -= betrag; stand -= betrag;
kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber)); kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber));

View File

@ -81,4 +81,12 @@ public class Banksystem {
return konto.getKontostand(); return konto.getKontostand();
} }
public boolean checkGiro(int kontonummer) {
Konto konto = bank.findeKonto(kontonummer);
if(konto instanceof Girokonto) {
return true;
}
return false;
}
} }

View File

@ -4,12 +4,10 @@ import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import de.hs_mannheim.informatik.bank.domain.Konto;
class BanksystemTest { class BanksystemTest {
@Test
void test() {
fail("Not yet implemented");
}
@Test @Test
void smokeTest() throws Exception { void smokeTest() throws Exception {
Banksystem bs = new Banksystem("Testsystem"); Banksystem bs = new Banksystem("Testsystem");
@ -18,5 +16,25 @@ class BanksystemTest {
assertEquals(0, bs.getKontenliste().length); assertEquals(0, bs.getKontenliste().length);
assertEquals("Testsystem", bs.getBankname()); assertEquals("Testsystem", bs.getBankname());
} }
@Test
void testGeldEinzahlen() throws Exception {
Banksystem bs = new Banksystem ("TEst");
bs.kontoAnlegen("Hans", 1);
int kontonummer = 1000;
long betrag = 450;
bs.geldEinzahlen(kontonummer,betrag);
assertEquals(bs.getKontostand(kontonummer),450 );
}
@Test
void testGeldAuszahlen() throws Exception {
Banksystem bs = new Banksystem ("TEst");
bs.kontoAnlegen("frank", 1);
int kontonummer = 1001;
long betrag = 450;
bs.geldEinzahlen(1001,betrag);
bs.geldAuszahlen(1001,400);
assertEquals(bs.getKontostand(kontonummer), 50);
}
} }

View File

@ -30,7 +30,7 @@ public class UI {
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
System.out.print("> "); System.out.print("> ");
int input = Integer.parseInt(sc.nextLine()); int input = Integer.parseInt(sc.nextLine());
System.out.println(); System.out.println();
@ -107,6 +107,11 @@ public class UI {
boolean erfolgreich = bs.geldAuszahlen(kontonummer, (long)betrag * 100); boolean erfolgreich = bs.geldAuszahlen(kontonummer, (long)betrag * 100);
System.out.printf("Auszahlung" + ((!erfolgreich)? " nicht" : "" )+ " erfolgreich. "); System.out.printf("Auszahlung" + ((!erfolgreich)? " nicht" : "" )+ " erfolgreich. ");
boolean girokonto = bs.checkGiro(kontonummer);
if(girokonto) {
int i = 1;
bs.geldAuszahlen(kontonummer, (long)betrag);
}
System.out.printf("Neuer Kontostand = %.2f Euro.", (bs.getKontostand(kontonummer) / 100.0)); System.out.printf("Neuer Kontostand = %.2f Euro.", (bs.getKontostand(kontonummer) / 100.0));
} }