speichern/laden ins Hauptmenü eingefügt

main
Peter Gapon 2022-10-15 17:45:03 +02:00
parent 994337343d
commit 51af35d41a
7 changed files with 151 additions and 8 deletions

Binary file not shown.

View File

@ -57,6 +57,10 @@ public class Konto implements Serializable{
} }
} }
public static void setKontozähler(int kontozähler) {
Konto.kontozähler = kontozähler;
}
@Override @Override
public String toString() { public String toString() {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", stand=" + stand + "]"; return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", stand=" + stand + "]";

View File

@ -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());
}
}

View File

@ -1,6 +1,7 @@
package de.hs_mannheim.informatik.bank.facade; package de.hs_mannheim.informatik.bank.facade;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Bank;
@ -57,7 +58,27 @@ public class Banksystem {
bank.getKonten().get(kNummer).kontoauszugAnzeigenKonto(); bank.getKonten().get(kNummer).kontoauszugAnzeigenKonto();
} }
public void kontenSpeichern() throws ClassNotFoundException, IOException {
Collection<Konto> konten = bank.getKontenliste();
ArrayList<Konto> 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 { public void kontenLaden() throws ClassNotFoundException, IOException {
bank.addKonto(PersistenzSerialisiert.objectLesen()); ArrayList<Konto> liste = PersistenzSerialisiert.objectLesen();
for (int i = 0; i < liste.size(); i++) {
bank.addKonto(liste.get(i));
}
Konto.setKontozähler(bank.getKontenliste().size());
} }
} }

View File

@ -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]);
}
}

View File

@ -17,7 +17,7 @@ public class UI {
private void hauptmenü() throws IOException, ClassNotFoundException { private void hauptmenü() throws IOException, ClassNotFoundException {
System.out.println("Willkommen bei der " + bs.getBankname() + "!"); System.out.println("Willkommen bei der " + bs.getBankname() + "!");
bs.kontenLaden(); // bs.kontenLaden();
mainloop: mainloop:
while (true) { while (true) {
@ -30,6 +30,8 @@ public class UI {
System.out.println("4 -> Konto auszahlen"); System.out.println("4 -> Konto auszahlen");
System.out.println("5 -> Konto anzeigen"); System.out.println("5 -> Konto anzeigen");
System.out.println("6 -> Kontoauszug 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("9 -> Beenden");
System.out.println(); System.out.println();
@ -44,6 +46,8 @@ public class UI {
case 4: auszahlen(); break; case 4: auszahlen(); break;
case 5: kontoAnzeigen(); break; case 5: kontoAnzeigen(); break;
case 6: kontoauszugAnzeigen(); break; case 6: kontoauszugAnzeigen(); break;
case 7: bs.kontenSpeichern(); break;
case 8: bs.kontenLaden(); break;
case 9: break mainloop; case 9: break mainloop;
} }
} }
@ -85,7 +89,7 @@ public class UI {
int kontonummer = bs.kontoAnlegen(name); int kontonummer = bs.kontoAnlegen(name);
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
PersistenzSerialisiert.objectSpeichern(bs.getKontoBanksystem(kontonummer)); // PersistenzSerialisiert.objectSpeichern(bs.getKontoBanksystem(kontonummer));
} }
private void einzahlen() { private void einzahlen() {

View File

@ -5,6 +5,8 @@ import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.ObjectInputStream; import java.io.ObjectInputStream;
import java.io.ObjectOutputStream; import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import de.hs_mannheim.informatik.bank.domain.Konto; 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<Konto> liste) throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.ser")); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.ser"));
oos.writeObject(o); oos.writeObject(liste);
oos.close(); oos.close();
} }
public static Konto objectLesen() throws IOException, ClassNotFoundException { public static ArrayList<Konto> objectLesen() throws IOException, ClassNotFoundException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.ser")); ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.ser"));
Konto k = (Konto) ois.readObject(); ArrayList<Konto> liste = (ArrayList<Konto>) ois.readObject();
ois.close(); ois.close();
return k; return liste;
} }
} }