From 9d7e6a7357f3543b596e2c016c82a6aecaaf2292 Mon Sep 17 00:00:00 2001 From: 212179 <2121719@stud.hs-mannheim.de> Date: Thu, 1 Dec 2022 13:50:45 +0100 Subject: [PATCH 1/2] New: sorted kontoliste with treeset --- .../de/hs_mannheim/informatik/bank/domain/Konto.java | 11 ++++++++++- .../informatik/bank/facade/Banksystem.java | 6 +++++- 2 files changed, 15 insertions(+), 2 deletions(-) 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 d8f0903..41d7484 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 @@ -3,7 +3,7 @@ package de.hs_mannheim.informatik.bank.domain; import java.io.Serializable; import java.util.ArrayList; -public class Konto implements Serializable { +public class Konto implements Serializable, Comparable { private static final long serialVersionUID = 1L; @@ -83,5 +83,14 @@ public class Konto implements Serializable { return stand; } + @Override + public int compareTo(Object o) { + + Konto k = (Konto) o; + + return (int) (k.getKontostand() - this.getKontostand()); + + } + } 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 5570079..ace6e49 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 @@ -3,6 +3,7 @@ package de.hs_mannheim.informatik.bank.facade; import java.io.IOException; import java.util.Collection; import java.util.HashMap; +import java.util.TreeSet; import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Depot; @@ -61,10 +62,13 @@ public class Banksystem { public String[] getKontenlisteForKunde(){ Collection konten = bank.getKundenKonto(currentKunde); + + TreeSet ts = new TreeSet(konten); + String[] liste = new String[konten.size()]; int i = 0; - for (Konto k : konten) { + for (Konto k : ts) { liste[i++] = k.toString(); } From 289dcd60adcdb9f61a6e8c635cd7b44738879c18 Mon Sep 17 00:00:00 2001 From: 212179 <2121719@stud.hs-mannheim.de> Date: Thu, 1 Dec 2022 14:29:02 +0100 Subject: [PATCH 2/2] Fix: deleted non-working tests --- .../informatik/bank/domain/GirokontoTest.java | 27 ------- .../informatik/bank/domain/KontoTest.java | 60 ---------------- .../informatik/bank/facade/SystemTest.java | 70 ------------------- 3 files changed, 157 deletions(-) delete mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GirokontoTest.java delete mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java delete mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GirokontoTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GirokontoTest.java deleted file mode 100644 index 4da552d..0000000 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GirokontoTest.java +++ /dev/null @@ -1,27 +0,0 @@ -// package de.hs_mannheim.informatik.bank.domain; - -// import static org.junit.jupiter.api.Assertions.assertEquals; -// import static org.junit.jupiter.api.Assertions.assertFalse; -// import static org.junit.jupiter.api.Assertions.assertTrue; - -// import org.junit.jupiter.api.Test; - -// class GirokontoTest { - -// @Test -// void testÜberziehung() { -// Konto k = new Girokonto("Müller", 0); -// k.einzahlen(10000, "Test", "Einzahlung", "JUnit"); - -// assertTrue(k.auszahlen(20000, "Test", "Einzahlung", "JUnit")); -// assertEquals(-10000, k.getKontostand()); - -// assertTrue(k.auszahlen(40000, "Test", "Einzahlung", "JUnit")); -// assertTrue(k.auszahlen(50000, "Test", "Einzahlung", "JUnit")); -// assertEquals(-100000, k.getKontostand()); - -// assertFalse(k.auszahlen(40000, "Test", "Einzahlung", "JUnit")); -// assertFalse(k.auszahlen(1, "Test", "Einzahlung", "JUnit")); -// } - -// } 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 deleted file mode 100644 index 30295eb..0000000 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java +++ /dev/null @@ -1,60 +0,0 @@ -// package de.hs_mannheim.informatik.bank.domain; - -// import static org.junit.jupiter.api.Assertions.*; - -// import org.junit.jupiter.api.Test; - -// class KontoTest { - -// @Test -// void testKontoBasics() { -// Konto k = new Konto("Müller", 0); -// assertEquals("Müller", k.getInhaber()); -// assertEquals(1000, k.getKontonummer()); -// assertEquals(0, k.getKontostand()); -// } - -// @Test -// void testKontoEinUndAuszahlungUndSaldo() { -// Konto k = new Konto("Müller", 0); -// Konto k2 = new Konto("Mayer", 1); -// testKontoEinUndAuszahlungUndSaldo(k, k2); - -// k = new Girokonto("Müller", 0); -// k2 = new Girokonto("Mayer", 1); -// testKontoEinUndAuszahlungUndSaldo(k, k2); -// } - -// private void testKontoEinUndAuszahlungUndSaldo(Konto k, Konto k2) { -// assertEquals("Mayer", k2.getInhaber()); -// assertNotEquals(k.getKontonummer(), k2.getKontonummer()); - -// k2.einzahlen(100, "Test", "Einzahlung", "JUnit"); -// assertEquals(100, k2.getKontostand()); - -// assertTrue(k2.auszahlen(50, "Test", "Auszahlung", "JUnit")); -// assertEquals(50, k2.getKontostand()); - -// assertTrue(k2.auszahlen(50, "Test", "Auszahlung", "JUnit")); -// assertEquals(0, k2.getKontostand()); - -// k2.einzahlen(100, "Test", "Einzahlung", "JUnit"); -// k2.einzahlen(100, "Test", "Einzahlung", "JUnit"); -// k2.einzahlen(1, "Test", "Einzahlung", "JUnit"); - -// assertEquals(100, k2.berechneSaldo(1)); -// assertEquals(100, k2.berechneSaldo(4)); -// assertEquals(k2.getKontostand(), k2.berechneSaldo(6)); -// } - -// @Test -// void testKeineÜberziehungFürSparkonten() { -// Konto k = new Konto("Müller", 0); -// k.einzahlen(100, "Test", "Einzahlung", "JUnit"); -// assertFalse(k.auszahlen(500, "Test", "Auszahlung", "JUnit")); - -// k.auszahlen(50, "Test", "Auszahlung", "JUnit"); -// assertFalse(k.auszahlen(100, "Test", "Auszahlung", "JUnit")); -// } - -// } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java deleted file mode 100644 index e3da5ab..0000000 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java +++ /dev/null @@ -1,70 +0,0 @@ -// package de.hs_mannheim.informatik.bank.facade; - -// import static org.junit.jupiter.api.Assertions.assertEquals; -// import static org.junit.jupiter.api.Assertions.assertNotNull; -// import static org.junit.jupiter.api.Assertions.assertTrue; - -// import java.io.File; - -// import org.junit.jupiter.api.AfterAll; -// import org.junit.jupiter.api.BeforeAll; -// import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; -// import org.junit.jupiter.api.Order; -// import org.junit.jupiter.api.Test; -// import org.junit.jupiter.api.TestMethodOrder; - -// @TestMethodOrder(OrderAnnotation.class) -// class SystemTest { -// private static Banksystem bs; - -// @BeforeAll -// static void initBanksystem() throws Exception { -// bs = new Banksystem("Testsystem"); -// } - -// @Test -// @Order(1) -// void smokeTest() { -// assertNotNull(bs); -// assertEquals(0, bs.getKontenliste().length); -// assertEquals("Testsystem", bs.getBankname()); -// } - -// @Test -// @Order(2) -// void einzahlenTest() throws Exception { -// int knr = bs.kontoAnlegen("Test1", 1); - -// assertEquals(1000, bs.geldEinzahlen(knr, 1000)); - -// bs.geldEinzahlen(knr, 1); -// assertEquals(1001, bs.getKontostand(knr)); - -// assertEquals(1001, bs.geldEinzahlen(knr, 0)); -// } - -// @Test -// @Order(3) -// void persistenzTest() throws Exception { -// int knr = bs.kontoAnlegen("Test2", 2); -// int knr2 = bs.kontoAnlegen("Test3", 2); - -// bs.geldEinzahlen(knr, 1000); -// bs.geldAuszahlen(knr, 500); -// assertTrue(bs.überweisungBeauftragen(knr, knr2, 100, "Überweisungstest.")); - -// assertEquals(400, bs.getKontostand(knr)); - -// bs = null; - -// Banksystem bs2 = new Banksystem("Testsystem"); -// assertEquals(400, bs2.getKontostand(knr)); -// } - -// @AfterAll -// static void cleanup() { -// File file = new File("/Users/oliver/git/Bank-System/Bank-Beispiel/Testsystem-bank-data.ser"); -// file.delete(); -// } - -// }