forked from hummel/Bank-System
Hinzufügen der Möglichkeit zum Geld einzahlen und dem ablesen des
kontostands. erstellen von Junit test für die neu erstellten Methoden in der Konto und Banksystem klasseMeins
parent
ba349af6c3
commit
03d0126de4
|
@ -1,10 +1,11 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="module" value="true"/>
|
<attribute name="module" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
|
||||||
</classpath>
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
||||||
|
|
|
@ -6,7 +6,7 @@ import de.hs_mannheim.informatik.bank.ui.UI;
|
||||||
public class Main {
|
public class Main {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Banksystem bs = new Banksystem("Spaßkasse Mannheim");
|
Banksystem bs = new Banksystem("Spaßkasse Mannheim");
|
||||||
UI ui = new UI(bs);
|
UI ui = new UI(bs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package de.hs_mannheim.informatik.bank.domain;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
|
||||||
public class Bank {
|
public class Bank {
|
||||||
private String name;
|
private String name;
|
||||||
private HashMap<Integer, Konto> konten = new HashMap<>();
|
private HashMap<Integer, Konto> konten = new HashMap<>();
|
||||||
|
@ -22,5 +23,12 @@ public class Bank {
|
||||||
public Collection<Konto> getKontenliste() {
|
public Collection<Konto> getKontenliste() {
|
||||||
return konten.values();
|
return konten.values();
|
||||||
}
|
}
|
||||||
|
public long getKontostand(int Kontonummer) {
|
||||||
|
return konten.get(Kontonummer).getStand();
|
||||||
|
}
|
||||||
|
public long GeldEinzahlen(int Kontonummer,long Betrag) {
|
||||||
|
return konten.get(Kontonummer).Einzahlen(Betrag);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
public class Konto {
|
public class Konto {
|
||||||
private static int kontozähler = 0;
|
private static int kontozähler = 0;
|
||||||
|
|
||||||
private int nummer;
|
private int nummer;
|
||||||
private long stand = 0;
|
private long stand = 0;
|
||||||
private String inhaber;
|
private String inhaber;
|
||||||
|
|
||||||
public Konto(String inhaber) {
|
public Konto(String inhaber) {
|
||||||
nummer = 1000 + kontozähler++;
|
nummer = 1000 + kontozähler++;
|
||||||
this.inhaber = inhaber;
|
this.inhaber = inhaber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,5 +20,12 @@ public class Konto {
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]";
|
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]";
|
||||||
}
|
}
|
||||||
|
public long Einzahlen(long Betrag) {
|
||||||
|
if(Betrag>=0)
|
||||||
|
this.stand+=Betrag;
|
||||||
|
return getStand();
|
||||||
|
}
|
||||||
|
public long getStand() {
|
||||||
|
return this.stand;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
|
||||||
|
public class KontoTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void Testcase7() {
|
||||||
|
Konto k=new Konto("Marc");
|
||||||
|
Assert.assertEquals("einzahlen min",k.Einzahlen(1),1L);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void Testcase8() {
|
||||||
|
Konto k=new Konto("Marc");
|
||||||
|
Assert.assertEquals("hohe Zahl",k.Einzahlen(999999),999999L);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void Testcase9() {
|
||||||
|
Konto k=new Konto("Marc");
|
||||||
|
Assert.assertEquals("negative Zahl",k.Einzahlen(-1),0);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -34,4 +34,10 @@ public class Banksystem {
|
||||||
public String getBankname() {
|
public String getBankname() {
|
||||||
return bank.getName();
|
return bank.getName();
|
||||||
}
|
}
|
||||||
|
public long Einzahlen(int Kontonummer,long Betrag) {
|
||||||
|
return this.bank.GeldEinzahlen(Kontonummer, Betrag);
|
||||||
|
}
|
||||||
|
public long getKontostand(int Kontonummer) {
|
||||||
|
return bank.getKontostand(Kontonummer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.facade;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
|
||||||
|
public class BanksystemTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void Testcase1() {
|
||||||
|
Banksystem bs=new Banksystem("Testbank");
|
||||||
|
int kontonummer=bs.kontoAnlegen("Marc");
|
||||||
|
System.out.println(kontonummer);
|
||||||
|
Assert.assertEquals("erster Testcase einzahlen des mindestWerts",bs.Einzahlen(kontonummer, 1L),1L);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void Testcase2() {
|
||||||
|
Banksystem bs=new Banksystem("Testbank");
|
||||||
|
bs.kontoAnlegen("Marc");
|
||||||
|
int kontonummer=bs.kontoAnlegen("Marc1");
|
||||||
|
System.out.println(kontonummer);
|
||||||
|
Assert.assertEquals("höchst Wert",bs.Einzahlen(kontonummer, 9999999999999999L),9999999999999999L);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void Testcase3() {
|
||||||
|
Banksystem bs=new Banksystem("Testbank");
|
||||||
|
bs.kontoAnlegen("Marc");
|
||||||
|
bs.kontoAnlegen("Marc1");
|
||||||
|
int kontonummer = bs.kontoAnlegen("Marc2");
|
||||||
|
System.out.println(kontonummer);
|
||||||
|
Assert.assertEquals("Test zum nichtbeachten Zahlen kleiner 0",bs.Einzahlen(kontonummer, -1L),0L);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void Testcase4() {
|
||||||
|
Banksystem bs=new Banksystem("Testbank");
|
||||||
|
bs.kontoAnlegen("Marc");
|
||||||
|
bs.kontoAnlegen("Marc1");
|
||||||
|
bs.kontoAnlegen("Marc2");
|
||||||
|
bs.kontoAnlegen("Marc3");
|
||||||
|
bs.kontoAnlegen("Marc4");
|
||||||
|
|
||||||
|
bs.kontoAnlegen("Marc5");
|
||||||
|
bs.kontoAnlegen("Marc6");
|
||||||
|
bs.kontoAnlegen("Marc7");
|
||||||
|
bs.kontoAnlegen("Marc8");
|
||||||
|
int kontonummer=bs.kontoAnlegen("Marc9");
|
||||||
|
System.out.println(kontonummer);
|
||||||
|
Assert.assertEquals("Höchstwert der Kontonummer testen",bs.Einzahlen(kontonummer, 1L),1L);
|
||||||
|
}
|
||||||
|
@Test(expected = NullPointerException.class)
|
||||||
|
public void Testcase5() {
|
||||||
|
Banksystem bs=new Banksystem("Testbank");
|
||||||
|
bs.kontoAnlegen("Marc");
|
||||||
|
bs.kontoAnlegen("Marc1");
|
||||||
|
bs.kontoAnlegen("Marc2");
|
||||||
|
bs.kontoAnlegen("Marc3");
|
||||||
|
bs.kontoAnlegen("Marc4");
|
||||||
|
|
||||||
|
bs.kontoAnlegen("Marc5");
|
||||||
|
bs.kontoAnlegen("Marc6");
|
||||||
|
bs.kontoAnlegen("Marc7");
|
||||||
|
bs.kontoAnlegen("Marc8");
|
||||||
|
bs.kontoAnlegen("Marc9");
|
||||||
|
Assert.assertEquals("Fehlermeldung bei zukleiner Kontonummer",bs.Einzahlen(999, 1L),1L);
|
||||||
|
}
|
||||||
|
@Test(expected = NullPointerException.class)
|
||||||
|
public void Testcase6() {
|
||||||
|
Banksystem bs=new Banksystem("Testbank");
|
||||||
|
bs.kontoAnlegen("Marc");
|
||||||
|
bs.kontoAnlegen("Marc1");
|
||||||
|
bs.kontoAnlegen("Marc2");
|
||||||
|
bs.kontoAnlegen("Marc3");
|
||||||
|
bs.kontoAnlegen("Marc4");
|
||||||
|
|
||||||
|
bs.kontoAnlegen("Marc5");
|
||||||
|
bs.kontoAnlegen("Marc6");
|
||||||
|
bs.kontoAnlegen("Marc7");
|
||||||
|
bs.kontoAnlegen("Marc8");
|
||||||
|
bs.kontoAnlegen("Marc9");
|
||||||
|
|
||||||
|
Assert.assertEquals("Fehlermeldung bei zu großer Kontonummer",bs.Einzahlen(1100, 1L),1L);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -10,19 +10,21 @@ public class UI {
|
||||||
|
|
||||||
public UI(Banksystem bs) {
|
public UI(Banksystem bs) {
|
||||||
this.bs = bs;
|
this.bs = bs;
|
||||||
hauptmenü();
|
hauptmenü();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hauptmenü() {
|
private void hauptmenü() {
|
||||||
System.out.println("Willkommen bei der " + bs.getBankname() + "!");
|
System.out.println("Willkommen bei der " + bs.getBankname() + "!");
|
||||||
|
|
||||||
mainloop:
|
mainloop:
|
||||||
while (true) {
|
while (true) {
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println("--------");
|
System.out.println("--------");
|
||||||
System.out.println("Hauptmenü");
|
System.out.println("Hauptmenü");
|
||||||
System.out.println("1 -> Konten anzeigen");
|
System.out.println("1 -> Konten anzeigen");
|
||||||
System.out.println("2 -> Konto anlegen");
|
System.out.println("2 -> Konto anlegen");
|
||||||
|
System.out.println("3 -> Geld einzahlen");
|
||||||
|
System.out.println("4 -> Kontostand abfragen");
|
||||||
System.out.println("9 -> Beenden");
|
System.out.println("9 -> Beenden");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
|
@ -33,24 +35,27 @@ public class UI {
|
||||||
switch(input) {
|
switch(input) {
|
||||||
case 1: kontenAnzeigen(); break;
|
case 1: kontenAnzeigen(); break;
|
||||||
case 2: kontoAnlegen(); break;
|
case 2: kontoAnlegen(); break;
|
||||||
|
case 3: kontoEinzahlen();break;
|
||||||
|
case 4: kontoStandAbfragen();break;
|
||||||
case 9: break mainloop;
|
case 9: break mainloop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Auf Wiedersehen!");
|
System.out.println("Auf Wiedersehen!");
|
||||||
|
|
||||||
} // hauptmenü
|
} // hauptmenü
|
||||||
|
|
||||||
private void kontenAnzeigen() {
|
private void kontenAnzeigen() {
|
||||||
String[] konten = bs.getKontenliste();
|
String[] konten = bs.getKontenliste();
|
||||||
if (konten.length > 0) {
|
if (konten.length > 0) {
|
||||||
System.out.println("Folgende Konten sind aktuell verfügbar:");
|
System.out.println("Folgende Konten sind aktuell verfügbar:");
|
||||||
for (String s : konten) {
|
for (String s : konten) {
|
||||||
System.out.println(s);
|
System.out.println(s);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Bisher keine Konten angelegt.");
|
System.out.println("Bisher keine Konten angelegt.");
|
||||||
}
|
}
|
||||||
|
sc.nextLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void kontoAnlegen() {
|
private void kontoAnlegen() {
|
||||||
|
@ -59,6 +64,50 @@ public class UI {
|
||||||
|
|
||||||
int kontonummer = bs.kontoAnlegen(name);
|
int kontonummer = bs.kontoAnlegen(name);
|
||||||
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
|
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
|
||||||
|
sc.nextLine();
|
||||||
}
|
}
|
||||||
|
public void kontoEinzahlen() {
|
||||||
|
System.out.println("Kontonummer: ");
|
||||||
|
int Kontonummer=Integer.parseInt(sc.nextLine());
|
||||||
|
long Betrag=0L;
|
||||||
|
|
||||||
|
try {
|
||||||
|
System.out.println("Betrag angeben");
|
||||||
|
Betrag=Long.parseLong(sc.nextLine());
|
||||||
|
|
||||||
|
if(Betrag<0) {
|
||||||
|
System.out.println("Man kann keine negativen Beträge einzahlen ");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(Exception InputMismatchException){
|
||||||
|
System.out.println("Bitte daran denken das nur ganze Zahlen mit Long angenommen werden");
|
||||||
|
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
|
||||||
|
long Kontostand=bs.Einzahlen(Kontonummer, Betrag);
|
||||||
|
System.out.println("Der aktuelle Kontostand beträgt: "+Kontostand+" Euro");
|
||||||
|
sc.nextLine();
|
||||||
|
}catch(Exception NullPointerException) {
|
||||||
|
System.out.println("Nicht excistierendes Konto");
|
||||||
|
sc.nextLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
public void kontoStandAbfragen() {
|
||||||
|
System.out.println("bitte geben Sie ihre Kontonummer an: ");
|
||||||
|
int Kontonummer=Integer.parseInt(sc.nextLine());
|
||||||
|
try {
|
||||||
|
System.out.println("der Kontostand beträgt: "+ bs.getKontostand(Kontonummer));
|
||||||
|
}
|
||||||
|
catch(Exception NullPointerException) {
|
||||||
|
System.out.println("Nicht excistierendes Konto");
|
||||||
|
}
|
||||||
|
sc.nextLine();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue