Umebnnenung

mehtapilhan 2022-10-20 14:22:43 +02:00
parent c1da0094f2
commit d4e200beca
13 changed files with 138 additions and 23 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Bank-System</name>
<name>Bank-SystemMeins</name>
<comment></comment>
<projects>
</projects>

View File

@ -6,5 +6,6 @@
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Bank-Beispiel</name>
<name>Bank-BeispielMeins</name>
<comment></comment>
<projects>
</projects>

Binary file not shown.

View File

View File

@ -12,15 +12,15 @@ public class Bank implements Serializable {
private String name;
private HashMap<Integer, Konto> konten = new HashMap<>();
public Bank(String name) {
public Bank(String name) { // bank kriegt name
this.name = name;
}
public void addKonto(Konto k) {
public void addKonto(Konto k) { // ein konto wird hinzugefügt mit der neuen kontonummer
konten.put(k.getKontonummer(), k);
}
public long zahleEin(Integer kontonummer, long einzahlung) {
public long zahleEin(Integer kontonummer, long einzahlung) { // object konto wird erstellt mit dem kontonummer und wird auf den minimalwert geprüft und einzahlen aufgerufen
Konto konto = konten.get(kontonummer);
if(konto == null)
@ -29,7 +29,7 @@ public class Bank implements Serializable {
return konto.zahleEin(einzahlung);
}
public String getName() {
public String getName() { // getter für Name und Kontostand wird errichtet
return name;
}
@ -47,11 +47,11 @@ public class Bank implements Serializable {
return konten.containsKey(kontonummer);
}
public Collection<Konto> getKontenliste() {
public Collection<Konto> getKontenliste() { //kontenliste wird
return konten.values();
}
public List<Kontoauszug> getAuszuge(Integer kontonummer) {
public List<Kontoauszug> getAuszuge(Integer kontonummer) { //arrayliste mit kontoauszug wird erstellt
Konto konto = konten.get(kontonummer);
if(konto == null)

View File

@ -30,6 +30,7 @@ public class Konto implements Serializable {
return stand;
}
public long zahleEin(long einzahlung) {
this.stand += einzahlung;
// inhaber muss theoretisch ermittelt werden mit scanner

View File

@ -0,0 +1,43 @@
package de.hs_mannheim.informatik.bank.domain;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class KontoTest {
//assertEquals testet ob zahleEin() den Kontostand richtig erhöht
@Test
void testzahleEin(){
Konto konto = new Konto ("Hans");
long zahl1 = 5000;
konto.zahleEin(zahl1);
assertEquals(konto.getKontostand(), zahl1);
}
@Test
void testzahleEin2() {
Konto konto = new Konto ("Hans");
long zahl1 = -500;
konto.zahleEin(zahl1);
assertNotEquals(konto.getKontostand(), 5);
}
//es gibt keine methode für zahleaus, wir testen zahleEin auf negativem betrag
@Test
void testzahleAus() {
Konto konto = new Konto ("Hans");
long zahl1 = -100;
konto.zahleEin(zahl1);
assertEquals(konto.getKontostand(), zahl1);
}
//test ob die erste Kontonummer richtig vergeben wird
@Test
void testKontonummer() {
Konto konto = new Konto ("bauer");
assertEquals(konto.getKontonummer(), 1003);
}
}

View File

@ -15,10 +15,6 @@ public class Banksystem {
this.bank = new Bank(bankname);
}
public Banksystem() {
// TODO Auto-generated constructor stub
}
public int kontoAnlegen(String name) {
Konto k = new Konto(name);
@ -71,10 +67,7 @@ public class Banksystem {
BankSerializer.saveToFile("meine_tolle_bank.txt", bank);
}
public void einzahlen(int i) {
// TODO Auto-generated method stub
}
}

View File

@ -0,0 +1,23 @@
package de.hs_mannheim.informatik.bank.facade;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import de.hs_mannheim.informatik.bank.domain.Bank;
import de.hs_mannheim.informatik.bank.domain.Konto;
class BanksystemTest {
@Test
void testkontoAnlegen() {
Banksystem bs = new Banksystem ("Sparkasse");
String name = "Peter";
assertEquals(bs.kontoAnlegen(name) ,1000 );
}
}

View File

@ -12,7 +12,7 @@ public class UI {
public UI(Banksystem bs) {
this.bs = bs;
bs.ladeSitzung();
bs.speichereSitzung();
hauptmenü();
}
@ -81,7 +81,8 @@ public class UI {
private void kontoEinzahlen() {
// Konto ermitteln
System.out.print("Bitte die Kontonummer angeben: ");
Integer kontonummer = sc.nextInt(); // warum kein null check / empty check
Integer kontonummer = sc.nextInt(); // warum kein null check / empty check
if(!bs.existiertKonto(kontonummer)) {
System.out.print("Kein Konto mit dieser Kontonummer existiert.");
@ -93,6 +94,7 @@ public class UI {
System.out.print("Bitte den einzuzahlenden Betrag angeben: ");
long betrag = sc.nextLong();
// Einzahlen
long kontostand = bs.zahleEin(kontonummer, betrag);
System.out.print("Konto mit der Nummer " + kontonummer + " hat einen Kontostand von " + kontostand);
@ -107,7 +109,8 @@ public class UI {
if(!bs.existiertKonto(kontonummer)) {
System.out.println("Kein Konto mit dieser Kontonummer existiert.");
kontoAbheben();
return;// könnte auch return rein
}
// Betrag ermitteln
@ -127,6 +130,7 @@ public class UI {
if(!bs.existiertKonto(kontonummer)) {
System.out.println("Kein Konto mit dieser Kontonummer existiert.");
return;
}
List<Kontoauszug> auszuge = bs.getAuszuge(kontonummer);

View File

@ -13,8 +13,8 @@ import de.hs_mannheim.informatik.bank.domain.Bank;
public class BankSerializer {
public static void saveToFile(String filename, Bank bank) {
try(ObjectOutputStream fos = new ObjectOutputStream(new FileOutputStream(new File(filename)))) {
fos.writeObject(bank);
try(ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(filename)))) {
oos.writeObject(bank);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e1) {
@ -23,9 +23,9 @@ public class BankSerializer {
}
public static Bank readFromFile(String filename) {
try(ObjectInputStream fos = new ObjectInputStream(new FileInputStream(new File(filename)))) {
try(ObjectInputStream ooi = new ObjectInputStream(new FileInputStream(new File(filename)))) {
try {
return (Bank) fos.readObject();
return (Bank) ooi.readObject(); // schauen welche Exceptions geworfen werden
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();

View File

@ -0,0 +1,50 @@
package persistence;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class BankSerializer2 {
File inFile = new File ("C:/Users/mehta/OneDrive/Masaüstü/PR1_Inhalt.txt");
File outFile = new File ("C:/Users/mehta/OneDrive/Masaüstü/PR1_Inhalt-test.txt");
public static void inFileStream(File in, File out) {
InputStream inStream= null;
OutputStream outStream = null;
try {
inStream = new FileInputStream(in);
outStream = new FileOutputStream(out);
int input;
while((input = inStream.read())!= -1 ){
outStream.write(input);
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch(IOException e) {
e.printStackTrace();
}finally {
try {
inStream.close();
outStream.close();
}catch (IOException e) {
e.printStackTrace();
}
}
}
}