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

View File

@ -23,7 +23,8 @@ class kontoClassJunit {
@Test
@Order(2)
public void testConstructorNullStand() {
Konto k = new Konto(null);
Konto k = new Konto("bs");
assertEquals(1001,k.getKontonummer());
assertEquals(0,k.getStand());
}
@Test
@ -77,6 +78,14 @@ class kontoClassJunit {
k.einzahlen(0);
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 de.hs_mannheim.informatik.bank.facade.Banksystem;
@ -26,7 +28,9 @@ public class UI {
System.out.println("1 -> Konten anzeigen");
System.out.println("2 -> Konto anlegen");
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();
@ -38,14 +42,17 @@ public class UI {
case 1: kontenAnzeigen(); break;
case 2: kontoAnlegen(); 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;
}
}
System.out.println("Auf Wiedersehen!");
} // hauptmenü
} // hauptmenu
private void kontenAnzeigen() {
String[] konten = bs.getKontenliste();
@ -68,21 +75,58 @@ public class UI {
}
private void einzahlen()
{
System.out.println("Bitte die (Konto nummer,den Betrag) angeben");
String all = sc.nextLine();
String[] nummerUndBetrag = all.split(",");
int nummer = Integer.parseInt(nummerUndBetrag[0]);
long betrag = Long.parseLong(nummerUndBetrag[1]);
long result = bs.einzahlen(nummer, betrag);
System.out.println("Der Kontostand betreagt:" + result);
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.einzahlen(nummer, betrag));
}
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());
long result = bs.standsuchen(nummer);
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();
}
}

View File

@ -1,9 +1,11 @@
package de.hs_mannheim.informatik.bank.domain;
import java.util.ArrayList;
import java.util.List;
public class Konto {
private static int kontozähler = 0;
private List<Long> history = new ArrayList<Long>();
private int nummer;
private long stand = 0;
@ -19,6 +21,11 @@ public class Konto {
stand += betrag;
return this.stand;
}
public long ausziehen(long betrag)
{
stand -= betrag;
return this.stand;
}
public int getKontonummer() {
return nummer;
@ -32,5 +39,14 @@ public class Konto {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber +
", 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)
{
k.addToVerlauf(betrag);
k.einzahlen(betrag);
return k.getStand();
}
@ -54,6 +55,23 @@ public class Banksystem {
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)
{
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;
}
}