diff --git a/src/Parkhaus/Main.java b/src/Parkhaus/Main.java index da21631..b101b22 100644 --- a/src/Parkhaus/Main.java +++ b/src/Parkhaus/Main.java @@ -3,6 +3,8 @@ package Parkhaus; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; + +import Parkhaus.domain.AutoNichtGefundenException; public class Main { public static void main(String[] args) throws ParseException, AutoNichtGefundenException, Exception { diff --git a/src/Parkhaus/TextUI.java b/src/Parkhaus/TextUI.java index 5a22cb9..a0c3616 100644 --- a/src/Parkhaus/TextUI.java +++ b/src/Parkhaus/TextUI.java @@ -2,6 +2,7 @@ package Parkhaus; import java.text.ParseException; import java.util.Scanner; +import Parkhaus.domain.*; public class TextUI { private Parkhaus system; diff --git a/src/Parkhaus/AutoNichtGefundenException.java b/src/Parkhaus/domain/AutoNichtGefundenException.java similarity index 85% rename from src/Parkhaus/AutoNichtGefundenException.java rename to src/Parkhaus/domain/AutoNichtGefundenException.java index 15600ef..ea10179 100644 --- a/src/Parkhaus/AutoNichtGefundenException.java +++ b/src/Parkhaus/domain/AutoNichtGefundenException.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain; public class AutoNichtGefundenException extends Exception { diff --git a/src/Parkhaus/Fahrzeug.java b/src/Parkhaus/domain/Fahrzeug.java similarity index 98% rename from src/Parkhaus/Fahrzeug.java rename to src/Parkhaus/domain/Fahrzeug.java index e0ad326..5d6689d 100644 --- a/src/Parkhaus/Fahrzeug.java +++ b/src/Parkhaus/domain/Fahrzeug.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain; import java.text.SimpleDateFormat; import java.util.Date; diff --git a/src/Parkhaus/Allgemeine_Test.java b/src/Parkhaus/domain/JTests/Allgemeine_Test.java similarity index 95% rename from src/Parkhaus/Allgemeine_Test.java rename to src/Parkhaus/domain/JTests/Allgemeine_Test.java index 16e3081..f19b566 100644 --- a/src/Parkhaus/Allgemeine_Test.java +++ b/src/Parkhaus/domain/JTests/Allgemeine_Test.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain.JTests; import static org.junit.jupiter.api.Assertions.*; @@ -7,6 +7,8 @@ import java.text.SimpleDateFormat; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import Parkhaus.domain.Parkhaus; + class Allgemeine_Test { private Parkhaus system; diff --git a/src/Parkhaus/JTest_AutoMitSchulden.java b/src/Parkhaus/domain/JTests/JTest_AutoMitSchulden.java similarity index 89% rename from src/Parkhaus/JTest_AutoMitSchulden.java rename to src/Parkhaus/domain/JTests/JTest_AutoMitSchulden.java index 5f7bfe9..5c02c41 100644 --- a/src/Parkhaus/JTest_AutoMitSchulden.java +++ b/src/Parkhaus/domain/JTests/JTest_AutoMitSchulden.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain.JTests; import static org.junit.jupiter.api.Assertions.*; @@ -8,6 +8,8 @@ import java.text.SimpleDateFormat; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import Parkhaus.domain.Parkhaus; + class JTest_AutoMitSchulden { private Parkhaus parkhaus; @@ -23,7 +25,7 @@ class JTest_AutoMitSchulden { @Test public void test_AutoMitSchulden() throws Exception { - String kennzeichen = "MA-SH 4077"; + String kennzeichen = "MA-SH 4077E"; String einfahrt = "01.10.2024, 12:30"; String ausfahrt = "01.10.2024, 13:00"; @@ -43,7 +45,7 @@ class JTest_AutoMitSchulden { ausfahrt = "01.10.2024, 15:00"; parkhaus.einfahren(kennzeichen, einfahrt); parkhaus.berechneParkgebuehren(kennzeichen, ausfahrt); - parkhaus.setBezahlt(kennzeichen); + parkhaus.setVerschuldet(kennzeichen); parkhaus.ausfahren(kennzeichen, ausfahrt); diff --git a/src/Parkhaus/JTest_Einfahren.java b/src/Parkhaus/domain/JTests/JTest_Einfahren.java similarity index 92% rename from src/Parkhaus/JTest_Einfahren.java rename to src/Parkhaus/domain/JTests/JTest_Einfahren.java index e3d2ced..d9fa90d 100644 --- a/src/Parkhaus/JTest_Einfahren.java +++ b/src/Parkhaus/domain/JTests/JTest_Einfahren.java @@ -1,7 +1,10 @@ -package Parkhaus; +package Parkhaus.domain.JTests; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.*; + +import Parkhaus.domain.Parkhaus; + import java.text.ParseException; class JTest_Einfahren { diff --git a/src/Parkhaus/JTest_ausfahren.java b/src/Parkhaus/domain/JTests/JTest_ausfahren.java similarity index 93% rename from src/Parkhaus/JTest_ausfahren.java rename to src/Parkhaus/domain/JTests/JTest_ausfahren.java index 270e76d..ef9b18c 100644 --- a/src/Parkhaus/JTest_ausfahren.java +++ b/src/Parkhaus/domain/JTests/JTest_ausfahren.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain.JTests; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -11,6 +11,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import Parkhaus.domain.Parkhaus; + class JTest_ausfahren { private Parkhaus parkhaus; private SimpleDateFormat sdf; diff --git a/src/Parkhaus/JTest_berechneParkgebuehren.java b/src/Parkhaus/domain/JTests/JTest_berechneParkgebuehren.java similarity index 96% rename from src/Parkhaus/JTest_berechneParkgebuehren.java rename to src/Parkhaus/domain/JTests/JTest_berechneParkgebuehren.java index 62f858a..c3910ae 100644 --- a/src/Parkhaus/JTest_berechneParkgebuehren.java +++ b/src/Parkhaus/domain/JTests/JTest_berechneParkgebuehren.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain.JTests; import static org.junit.jupiter.api.Assertions.*; @@ -10,6 +10,9 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import Parkhaus.domain.AutoNichtGefundenException; +import Parkhaus.domain.Parkhaus; + class JTest_berechneParkgebuehren { private Parkhaus parkhaus; diff --git a/src/Parkhaus/JTest_checkVisakarte.java b/src/Parkhaus/domain/JTests/JTest_checkVisakarte.java similarity index 94% rename from src/Parkhaus/JTest_checkVisakarte.java rename to src/Parkhaus/domain/JTests/JTest_checkVisakarte.java index fe50322..45ded88 100644 --- a/src/Parkhaus/JTest_checkVisakarte.java +++ b/src/Parkhaus/domain/JTests/JTest_checkVisakarte.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain.JTests; import static org.junit.jupiter.api.Assertions.*; @@ -9,6 +9,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import Parkhaus.domain.Parkhaus; + class JTest_checkVisakarte { private Parkhaus parkhaus; diff --git a/src/Parkhaus/Parkhaus.java b/src/Parkhaus/domain/Parkhaus.java similarity index 91% rename from src/Parkhaus/Parkhaus.java rename to src/Parkhaus/domain/Parkhaus.java index 3d4b8b0..bf6132a 100644 --- a/src/Parkhaus/Parkhaus.java +++ b/src/Parkhaus/domain/Parkhaus.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -21,7 +21,7 @@ public class Parkhaus { private Fahrzeug fahrzeug; private double betragAktuellesAuto; - Parkhaus() { + public Parkhaus() { this.fahrzeuge = new ArrayList<>(); this.fahrzeugeMitSchulden = new HashSet<>(); this.maxPlaetze = 180; @@ -118,14 +118,19 @@ public class Parkhaus { ausfahrt = sdf.parse(aktuelleZeitString); } else ausfahrt = sdf.parse(ausfahrtzeit); - - if (fahrzeug.isBezahlt() == true || fahrzeug.IstVerschuldet() == true) { - fahrzeuge.remove(fahrzeug); - maxPlaetze++; + + if (fahrzeug.getBetrag() > 0) { + if (fahrzeug.isBezahlt() == true || fahrzeug.IstVerschuldet() == true) { + fahrzeuge.remove(fahrzeug); + maxPlaetze++; + return true; + } + else + return false; + }else return true; - } - - return false; + + } public String getkennzeichenAktuellesAuto() { @@ -145,28 +150,26 @@ public class Parkhaus { public boolean setVerschuldet(String kennzeichen) throws AutoNichtGefundenException { /* - Speichere das Auto, welches Schulden hat * - Wenn das Auto nochmal Schuldne hat, - * lösche das alte Objekt und speichere das neue mit dem neuen Betrag + * aktuliesiere der Betrag des Autos * */ fahrzeug = findeFahrzeug(kennzeichen); fahrzeug.setIstVerschuldet(true); fahrzeug.setBezahlt(false); - Fahrzeug zuEntfernendesFahrzeug = null; + Fahrzeug markFahrzeug = null; for (Fahrzeug f : fahrzeugeMitSchulden) if (f.getKennzeichen().equalsIgnoreCase(kennzeichen)) { - //Markiere das Auto, das wir löschen wollen - zuEntfernendesFahrzeug = f; + markFahrzeug = f; break; } - if (zuEntfernendesFahrzeug != null) { - fahrzeugeMitSchulden.remove(zuEntfernendesFahrzeug); - } - - fahrzeugeMitSchulden.add(fahrzeug); - + if (markFahrzeug != null) + markFahrzeug.setBetrag(fahrzeug.getBetrag()); + else + fahrzeugeMitSchulden.add(fahrzeug); + return fahrzeug.IstVerschuldet(); } diff --git a/src/Parkhaus/Zahlung.java b/src/Parkhaus/domain/Zahlung.java similarity index 97% rename from src/Parkhaus/Zahlung.java rename to src/Parkhaus/domain/Zahlung.java index aa4a070..27497f7 100644 --- a/src/Parkhaus/Zahlung.java +++ b/src/Parkhaus/domain/Zahlung.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain; public class Zahlung { diff --git a/src/Parkhaus/kennzeichenzufaelliggenerieren.java b/src/Parkhaus/domain/kennzeichenzufaelliggenerieren.java similarity index 98% rename from src/Parkhaus/kennzeichenzufaelliggenerieren.java rename to src/Parkhaus/domain/kennzeichenzufaelliggenerieren.java index 9e530d2..d4218f9 100644 --- a/src/Parkhaus/kennzeichenzufaelliggenerieren.java +++ b/src/Parkhaus/domain/kennzeichenzufaelliggenerieren.java @@ -1,4 +1,4 @@ -package Parkhaus; +package Parkhaus.domain; import java.util.ArrayList; import java.util.HashSet;