diff --git a/.project b/.project index 4da22b8..07fc794 100644 --- a/.project +++ b/.project @@ -1,6 +1,6 @@ - Bank-System + Bank-SystemMeins diff --git a/Bank-Beispiel/.classpath b/Bank-Beispiel/.classpath index 57bca72..257ce1d 100644 --- a/Bank-Beispiel/.classpath +++ b/Bank-Beispiel/.classpath @@ -6,5 +6,6 @@ + diff --git a/Bank-Beispiel/.project b/Bank-Beispiel/.project index 49c2c92..6691d25 100644 --- a/Bank-Beispiel/.project +++ b/Bank-Beispiel/.project @@ -1,6 +1,6 @@ - Bank-Beispiel + Bank-BeispielMeins diff --git a/Bank-Beispiel/meine_tolle_bank.txt b/Bank-Beispiel/meine_tolle_bank.txt new file mode 100644 index 0000000..efdc633 Binary files /dev/null and b/Bank-Beispiel/meine_tolle_bank.txt differ diff --git a/Bank-Beispiel/output.txt b/Bank-Beispiel/output.txt new file mode 100644 index 0000000..e69de29 diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java index 5fc7f0b..81d5304 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java @@ -12,15 +12,15 @@ public class Bank implements Serializable { private String name; private HashMap 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 getKontenliste() { + public Collection getKontenliste() { //kontenliste wird return konten.values(); } - public List getAuszuge(Integer kontonummer) { + public List getAuszuge(Integer kontonummer) { //arrayliste mit kontoauszug wird erstellt Konto konto = konten.get(kontonummer); if(konto == null) diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java index 6a68b15..c7ad570 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java @@ -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 diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java new file mode 100644 index 0000000..715fdf4 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java @@ -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); + + } + + + +} diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java index fd84c8a..748aa0f 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java @@ -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 - - } + } \ No newline at end of file diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java new file mode 100644 index 0000000..daed8c4 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java @@ -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 ); + + + } + +} diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java index fcef1f5..bc7ea34 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java @@ -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 auszuge = bs.getAuszuge(kontonummer); diff --git a/Bank-Beispiel/src/persistence/BankSerializer.java b/Bank-Beispiel/src/persistence/BankSerializer.java index 1b7d155..5ad4150 100644 --- a/Bank-Beispiel/src/persistence/BankSerializer.java +++ b/Bank-Beispiel/src/persistence/BankSerializer.java @@ -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(); diff --git a/Bank-Beispiel/src/persistence/BankSerializer2.java b/Bank-Beispiel/src/persistence/BankSerializer2.java new file mode 100644 index 0000000..50dbe55 --- /dev/null +++ b/Bank-Beispiel/src/persistence/BankSerializer2.java @@ -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(); + } + } + } + +}