Junit not finished, bank mechanism is done

master
ahmad 2022-10-11 12:43:41 +02:00
parent 89a15d66db
commit d2e9e7e855
6 changed files with 141 additions and 27 deletions

View File

@ -2,48 +2,59 @@ package JunitTests;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder; import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import de.hs_mannheim.informatik.bank.domain.Konto;
import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.facade.Banksystem;
@TestMethodOrder(OrderAnnotation.class) @TestMethodOrder(OrderAnnotation.class)
class BankSystemJunit { class BankSystemJunit {
public Banksystem bs = new Banksystem("NormalString");
@Test @Test
@Order(1)
void testBanknameNull() { void testBanknameNull() {
Banksystem bs = new Banksystem(null); Banksystem bsx = new Banksystem(null);
assertEquals(null,bs.getBankname()); assertEquals(null,bsx.getBankname());
} }
@Test @Test
@Order(2)
void testBankname() { void testBankname() {
String s = "IKnowThatThisMustBeTheBiggestStringYouHaveEverSeen"; String s = "IKnowThatThisMustBeTheBiggestStringYouHaveEverSeen";
Banksystem bs = new Banksystem(s); Banksystem bsx = new Banksystem(s);
assertEquals(s,bs.getBankname()); assertEquals("IKnowThatThisMustBeTheBiggestStringYouHaveEverSeen",bsx.getBankname());
} }
@Test @Test
@Order(3)
void testEinzahlenMinusStand() { void testEinzahlenMinusStand() {
Banksystem bs = new Banksystem("NormalString"); bs.kontoAnlegen("Dextaa");
assertEquals(bs.standsuchen(1000),bs.einzahlen(1000, -10)); assertEquals(10,bs.einzahlen(1000, 10));
} }
@Test @Test
@Order(4)
void testEinzahlenZeroStand() { void testEinzahlenZeroStand() {
Banksystem bs = new Banksystem("NormalString"); bs.kontoAnlegen("Ryan");
assertEquals(bs.standsuchen(1001),bs.einzahlen(1001, 0)); assertEquals(0,bs.einzahlen(1001, 0));
} }
@Test @Test
@Order(5)
void testEinzahlenPostiveStand() { void testEinzahlenPostiveStand() {
Banksystem bs = new Banksystem("NormalString"); bs.kontoAnlegen("Renold");
assertEquals(bs.standsuchen(1002),bs.einzahlen(1002, 24924892)); bs.einzahlen(1002, 24924892);
assertEquals( 24924892,bs.einzahlen(1002, 0));
} }
@Test @Test
@Order(6)
void testEinzahlenOverflowStand() { void testEinzahlenOverflowStand() {
Banksystem bs = new Banksystem("NormalString"); bs.kontoAnlegen("Awesome");
assertEquals(bs.standsuchen(1003),bs.einzahlen(1003, Integer.MAX_VALUE)); bs.einzahlen(1003, Integer.MAX_VALUE);
assertEquals(Integer.MAX_VALUE,bs.standsuchen(1003));
} }
@Test @Test
@Order(7)
void testEinzahlen() { void testEinzahlen() {
Banksystem bs = new Banksystem("NormalString");
assertEquals(0,bs.einzahlen(1033, Integer.MAX_VALUE)); assertEquals(0,bs.einzahlen(1033, Integer.MAX_VALUE));
} }

View File

@ -23,7 +23,8 @@ class kontoClassJunit {
@Test @Test
@Order(2) @Order(2)
public void testConstructorNullStand() { public void testConstructorNullStand() {
Konto k = new Konto(null); Konto k = new Konto("bs");
assertEquals(1001,k.getKontonummer());
assertEquals(0,k.getStand()); assertEquals(0,k.getStand());
} }
@Test @Test
@ -77,6 +78,14 @@ class kontoClassJunit {
k.einzahlen(0); k.einzahlen(0);
assertEquals(168,k.getStand()); assertEquals(168,k.getStand());
} }
//Testing Delta or the third parameter
@Test
@Order(9)
public void test() {
float testing = 18.9F;
assertEquals(18.9,testing,0.001);
}

View File

@ -2,6 +2,8 @@ package de.hs_mannheim.informatik.bank.UI;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; import java.util.Scanner;
import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.facade.Banksystem;
@ -26,7 +28,9 @@ public class UI {
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 -> Einzahlen"); System.out.println("3 -> Einzahlen");
System.out.println("4 -> Kontostand Suchen"); System.out.println("4 -> Auszahlen");
System.out.println("5 -> Kontostand Suchen");
System.out.println("6 -> Verlauf Zeigen");
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
@ -38,14 +42,17 @@ public class UI {
case 1: kontenAnzeigen(); break; case 1: kontenAnzeigen(); break;
case 2: kontoAnlegen(); break; case 2: kontoAnlegen(); break;
case 3: einzahlen(); break; case 3: einzahlen(); break;
case 4: standSuchen(); break; case 4: ausziehen(); break;
case 5: standSuchen(); break;
case 6: zeigeVerlauf(); break;
case 9: break mainloop; case 9: break mainloop;
} }
} }
System.out.println("Auf Wiedersehen!"); System.out.println("Auf Wiedersehen!");
} // hauptmenü } // hauptmenu
private void kontenAnzeigen() { private void kontenAnzeigen() {
String[] konten = bs.getKontenliste(); String[] konten = bs.getKontenliste();
@ -68,21 +75,58 @@ public class UI {
} }
private void einzahlen() private void einzahlen()
{ {
System.out.println("Bitte die (Konto nummer,den Betrag) angeben"); System.out.println("Bitte die Konto nummer angeben");
String all = sc.nextLine(); int nummer = Integer.parseInt(sc.nextLine());
String[] nummerUndBetrag = all.split(","); long result = bs.standsuchen(nummer);
int nummer = Integer.parseInt(nummerUndBetrag[0]); if(result == -1)
long betrag = Long.parseLong(nummerUndBetrag[1]); {
long result = bs.einzahlen(nummer, betrag); System.out.println("Konto nicht gefunden!");
System.out.println("Der Kontostand betreagt:" + result); return;
}
System.out.println("Bitte den Betrag angeben");
long betrag = Long.parseLong(sc.nextLine());
System.out.println("Konto stand betraegt" + bs.einzahlen(nummer, betrag));
} }
private void standSuchen() private void standSuchen()
{ {
System.out.println("Bitte die Konto nummer abgeben"); System.out.println("Bitte die Konto nummer angeben");
int nummer = Integer.parseInt(sc.nextLine()); int nummer = Integer.parseInt(sc.nextLine());
long result = bs.standsuchen(nummer); long result = bs.standsuchen(nummer);
System.out.println("Der Kontostand betreagt:" + result); System.out.println("Der Kontostand betreagt:" + result);
} }
private void ausziehen()
{
System.out.println("Bitte die Konto nummer angeben");
int nummer = Integer.parseInt(sc.nextLine());
long result = bs.standsuchen(nummer);
if(result == -1)
{
System.out.println("Konto nicht gefunden!");
return;
}
System.out.println("Bitte den Betrag angeben");
long betrag = Long.parseLong(sc.nextLine());
System.out.println("Konto stand betraegt" + bs.ausziehen(nummer, betrag));
}
private void zeigeVerlauf()
{
System.out.println("Bitte die Konto nummer angeben");
int nummer = Integer.parseInt(sc.nextLine());
List<Long> result = bs.zeigeVerlauf(nummer);
if(result == null)
{
System.out.println("Konto nicht gefunden!");
return;
}
System.out.println("Konto verlauf:");
for(Long x : result )
{
System.out.println(x);
}
}
} }

View File

@ -25,4 +25,6 @@ public class Bank {
return konten.values(); return konten.values();
} }
} }

View File

@ -1,9 +1,11 @@
package de.hs_mannheim.informatik.bank.domain; package de.hs_mannheim.informatik.bank.domain;
import java.util.ArrayList;
import java.util.List;
public class Konto { public class Konto {
private static int kontozähler = 0; private static int kontozähler = 0;
private List<Long> history = new ArrayList<Long>();
private int nummer; private int nummer;
private long stand = 0; private long stand = 0;
@ -19,6 +21,11 @@ public class Konto {
stand += betrag; stand += betrag;
return this.stand; return this.stand;
} }
public long ausziehen(long betrag)
{
stand -= betrag;
return this.stand;
}
public int getKontonummer() { public int getKontonummer() {
return nummer; return nummer;
@ -32,5 +39,14 @@ public class Konto {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + return "Konto [nummer=" + nummer + ", inhaber=" + inhaber +
", Stand =" + stand + "]"; ", Stand =" + stand + "]";
} }
public List<Long> verlauf()
{
return history;
}
public long addToVerlauf(long betrag)
{
history.add(betrag);
return betrag;
}
} }

View File

@ -46,6 +46,7 @@ public class Banksystem {
{ {
if(k.getKontonummer() == nummer) if(k.getKontonummer() == nummer)
{ {
k.addToVerlauf(betrag);
k.einzahlen(betrag); k.einzahlen(betrag);
return k.getStand(); return k.getStand();
} }
@ -54,6 +55,23 @@ public class Banksystem {
return 0; return 0;
} }
public long ausziehen(int nummer,long betrag)
{
Collection<Konto> konten = bank.getKontenliste();
for(Konto k : konten)
{
if(k.getKontonummer() == nummer)
{
k.addToVerlauf(-betrag);
k.ausziehen(betrag);
return k.getStand();
}
}
return 0;
}
public long standsuchen(int nummer) public long standsuchen(int nummer)
{ {
Collection<Konto> konten = bank.getKontenliste(); Collection<Konto> konten = bank.getKontenliste();
@ -66,7 +84,21 @@ public class Banksystem {
} }
return 0; return -1;
}
public List<Long> zeigeVerlauf(int nummer)
{
Collection<Konto> konten = bank.getKontenliste();
for(Konto k : konten)
{
if(k.getKontonummer() == nummer)
{
return k.verlauf();
}
}
return null;
} }
} }