diff --git a/Bank-Beispiel/object.ser b/Bank-Beispiel/object.ser new file mode 100644 index 0000000..70c5289 Binary files /dev/null and b/Bank-Beispiel/object.ser differ 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 c47abff..0dad742 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 @@ -57,6 +57,10 @@ public class Konto implements Serializable{ } } + public static void setKontozähler(int kontozähler) { + Konto.kontozähler = kontozähler; + } + @Override public String toString() { return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", stand=" + stand + "]"; 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..af82c47 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java @@ -0,0 +1,46 @@ +package de.hs_mannheim.informatik.bank.domain; + +import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.Before; +import org.junit.jupiter.api.Test; + +class KontoTest { + + Konto k1; + Konto k2; + Konto k3; + + @Before + public void vorTest() { +// k1 = new Konto("Anna"); +// k2 = new Konto("Paul"); +// k3 = new Konto("Max"); + + } + + @Test + public void getKontonummerTest() { + k1 = new Konto("Anna"); + k2 = new Konto("Paul"); + k3 = new Konto("Max"); + assertEquals(1003, k1.getKontonummer()); + assertEquals(1004, k2.getKontonummer()); + assertNotEquals(1000, k3.getKontonummer()); + } + + @Test + public void einzahlenTest() { + k1 = new Konto("Anna"); + k2 = new Konto("Paul"); + k3 = new Konto("Max"); + k1.einzahlenKonto(1000); + k2.einzahlenKonto(100); + k3.einzahlenKonto(0); + assertEquals(1000, k1.getStand()); + assertEquals(100, k2.getStand()); + assertEquals(0, k3.getStand()); + } + +} 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 69ddfd5..fd916a6 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 @@ -1,6 +1,7 @@ package de.hs_mannheim.informatik.bank.facade; import java.io.IOException; +import java.util.ArrayList; import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Bank; @@ -57,7 +58,27 @@ public class Banksystem { bank.getKonten().get(kNummer).kontoauszugAnzeigenKonto(); } + public void kontenSpeichern() throws ClassNotFoundException, IOException { + Collection konten = bank.getKontenliste(); + ArrayList liste = new ArrayList<>(); + + + for (Konto k : konten) { + liste.add(k); + } + + PersistenzSerialisiert.objectSpeichern(liste); +// bank.addKonto(PersistenzSerialisiert.objectLesen()); +// PersistenzSerialisiert.objectLesen(); + } + public void kontenLaden() throws ClassNotFoundException, IOException { - bank.addKonto(PersistenzSerialisiert.objectLesen()); + ArrayList liste = PersistenzSerialisiert.objectLesen(); + + for (int i = 0; i < liste.size(); i++) { + bank.addKonto(liste.get(i)); + } + + Konto.setKontozähler(bank.getKontenliste().size()); } } 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..b939eed --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java @@ -0,0 +1,65 @@ +package de.hs_mannheim.informatik.bank.facade; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.Before; +import org.junit.jupiter.api.Test; + +import de.hs_mannheim.informatik.bank.domain.Konto; + +class BanksystemTest { + + Banksystem bs; + Konto k1; + Konto k2; + Konto k3; + + @Before + public void vorTest() { + bs = new Banksystem("Bank"); + k1 = new Konto("Anna"); + k2 = new Konto("Paul"); + k3 = new Konto("Max"); + } + + @Test + public void kontoAnlegenTest() { + bs = new Banksystem("Bank"); + + + assertEquals(1002, bs.kontoAnlegen("Anna")); + assertNotEquals(1000, bs.kontoAnlegen("Paul")); + assertEquals(1004, bs.kontoAnlegen("Max")); + } + + @Test + public void getKontenlisteTest() { + bs = new Banksystem("Bank"); + bs.kontoAnlegen("Anna"); + bs.kontoAnlegen("Paul"); + + String[] arr = bs.getKontenliste(); + + assertEquals("Konto [nummer=1000, inhaber=Anna, stand=0]", arr[0]); + + } + + @Test + public void getBanknameTest() { + bs = new Banksystem("Bank"); + + assertEquals("Bank", bs.getBankname()); + } + + @Test + public void einzahlenTest() { + bs = new Banksystem("Bank"); + bs.kontoAnlegen("Anna"); + bs.einzahlenBanksystem(1005, 100); + + String[] arr = bs.getKontenliste(); + + assertEquals("Konto [nummer=1005, inhaber=Anna, stand=100]", arr[0]); + } + +} 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 f9573ad..87ffe33 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 @@ -17,7 +17,7 @@ public class UI { private void hauptmenü() throws IOException, ClassNotFoundException { System.out.println("Willkommen bei der " + bs.getBankname() + "!"); - bs.kontenLaden(); +// bs.kontenLaden(); mainloop: while (true) { @@ -30,6 +30,8 @@ public class UI { System.out.println("4 -> Konto auszahlen"); System.out.println("5 -> Konto anzeigen"); System.out.println("6 -> Kontoauszug anzeigen"); + System.out.println("7 -> Konten speichern?"); + System.out.println("8 -> Konten laden?"); System.out.println("9 -> Beenden"); System.out.println(); @@ -44,6 +46,8 @@ public class UI { case 4: auszahlen(); break; case 5: kontoAnzeigen(); break; case 6: kontoauszugAnzeigen(); break; + case 7: bs.kontenSpeichern(); break; + case 8: bs.kontenLaden(); break; case 9: break mainloop; } } @@ -85,7 +89,7 @@ public class UI { int kontonummer = bs.kontoAnlegen(name); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); - PersistenzSerialisiert.objectSpeichern(bs.getKontoBanksystem(kontonummer)); +// PersistenzSerialisiert.objectSpeichern(bs.getKontoBanksystem(kontonummer)); } private void einzahlen() { diff --git a/Bank-Beispiel/src/persistence/PersistenzSerialisiert.java b/Bank-Beispiel/src/persistence/PersistenzSerialisiert.java index 1794bfb..53a8c73 100644 --- a/Bank-Beispiel/src/persistence/PersistenzSerialisiert.java +++ b/Bank-Beispiel/src/persistence/PersistenzSerialisiert.java @@ -5,6 +5,8 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.util.ArrayList; +import java.util.List; import de.hs_mannheim.informatik.bank.domain.Konto; @@ -14,21 +16,22 @@ public class PersistenzSerialisiert { } - public static void objectSpeichern(Object o) throws IOException { + public static void objectSpeichern(ArrayList liste) throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.ser")); - oos.writeObject(o); + oos.writeObject(liste); oos.close(); } - public static Konto objectLesen() throws IOException, ClassNotFoundException { + public static ArrayList objectLesen() throws IOException, ClassNotFoundException { ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.ser")); - Konto k = (Konto) ois.readObject(); + ArrayList liste = (ArrayList) ois.readObject(); + ois.close(); - return k; + return liste; } } \ No newline at end of file