diff --git a/TravelBuddyApp/pom.xml b/TravelBuddyApp/pom.xml
index ea06a2e..d0c2d02 100644
--- a/TravelBuddyApp/pom.xml
+++ b/TravelBuddyApp/pom.xml
@@ -13,15 +13,9 @@
- org.junit.jupiter
- junit-jupiter-api
- 5.8.1
- test
-
-
- org.junit.jupiter
- junit-jupiter-engine
- 5.8.1
+ junit
+ junit
+ 4.13.1
test
@@ -34,6 +28,25 @@
commons-codec
1.15
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.9.3
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ 5.9.3
+ test
+
+
+
+ org.junit.platform
+ junit-platform-commons
+ 1.9.3
+ test
+
diff --git a/TravelBuddyApp/src/test/java/domainTest/UserTest.java b/TravelBuddyApp/src/test/java/domainTest/UserTest.java
new file mode 100644
index 0000000..0ce4dcf
--- /dev/null
+++ b/TravelBuddyApp/src/test/java/domainTest/UserTest.java
@@ -0,0 +1,92 @@
+package domainTest;
+
+import domain.Auto;
+import domain.Ort;
+import domain.User;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class UserTest {
+
+ private User testUser;
+ private final String testFilename = "users.txt";
+
+ @Before
+ public void setUp() {
+ Ort ort = new Ort(12345, "Teststadt");
+ Auto auto = new Auto("Testauto", 0.12);
+ testUser = new User("testuser", "password", ort, auto, 80.0, 15.0);
+ }
+
+ @After
+ public void tearDown() {
+ // Löschen der temporären Testdatei nach jedem Test
+ File file = new File(testFilename);
+ if (file.exists()) {
+ file.delete();
+ }
+ }
+
+ @Test
+ public void testRegistrieren() throws IOException {
+ // Führe die Registrierung durch
+ testUser.registrieren();
+
+ // Überprüfe, ob die Daten korrekt in die Datei geschrieben wurden
+ try (BufferedReader reader = new BufferedReader(new FileReader(testFilename))) {
+ String line = reader.readLine();
+ assertEquals("testuser," + testUser.getHashedPassword() + ",12345,Teststadt,Testauto,0.12,80.0,15.0", line);
+ }
+ }
+
+
+
+ @Test
+ public void testEinloggen() throws IOException {
+ // Vorbereitung der Testdaten in einer temporären Datei
+ try (PrintWriter writer = new PrintWriter(testFilename)) {
+ writer.println("testuser," + testUser.getHashedPassword() + ",12345,Teststadt,Testauto,0.12,80.0,15.0");
+ }
+
+ // Einloggen des Users
+ assertTrue(testUser.einloggen());
+
+ // Überprüfe, ob die Userdaten korrekt gesetzt wurden
+ assertEquals("Teststadt", testUser.getHeimatstandort().getOrtName());
+ assertEquals("Testauto", testUser.getAuto().getName());
+ assertEquals(0.12, testUser.getAuto().getCO2AusstossProKm(), 0.001); // Delta für Genauigkeit
+ assertEquals(80.0, testUser.getDurchschnittsgeschwindigkeitPKW(), 0.001); // Delta für Genauigkeit
+ assertEquals(15.0, testUser.getDurchschnittsgeschwindigkeitFahrrad(), 0.001); // Delta für Genauigkeit
+ }
+
+
+
+ @Test
+ public void testEinloggen_FalscheDaten() throws IOException {
+ // Vorbereitung der Testdaten in einer temporären Datei
+ try (PrintWriter writer = new PrintWriter(testFilename)) {
+ writer.println("testuser," + testUser.getHashedPassword() + ",12345,Teststadt,Testauto,0.12,80.0,15.0");
+ }
+
+ // Ändere Passwort, um ein falsches Einloggen zu erzwingen
+ testUser.setPassword("wrongpassword");
+
+ // Einloggen des Users mit falschen Daten
+ assertFalse(testUser.einloggen());
+ }
+
+
+
+}
diff --git a/TravelBuddyApp/src/test/java/domainTest/WetterServiceTest.java b/TravelBuddyApp/src/test/java/domainTest/WetterServiceTest.java
new file mode 100644
index 0000000..3a68113
--- /dev/null
+++ b/TravelBuddyApp/src/test/java/domainTest/WetterServiceTest.java
@@ -0,0 +1,34 @@
+package domainTest;
+
+import static org.junit.Assert.assertTrue;
+import java.io.IOException;
+import org.junit.Test;
+import domain.WetterService;
+
+
+public class WetterServiceTest {
+
+ @Test
+ public void testGetAktuellesWetter() throws IOException, InterruptedException {
+ String location = "Berlin";
+ String expectedWeatherRegex = "Aktuelle Temperatur: \\d+\\.\\d+°C, Wetter: .*";
+
+ String result = WetterService.getAktuellesWetter(location);
+
+ assertTrue("Expected weather format not found in result", result.matches(expectedWeatherRegex));
+ }
+
+ @Test
+ public void testGetWettervorhersage() throws IOException, InterruptedException {
+ String location = "Berlin";
+ String expectedForecastStart = "3-Tage-Wettervorhersage:";
+
+ String result = WetterService.getWettervorhersage(location);
+
+ assertTrue("Expected forecast start not found in result", result.startsWith(expectedForecastStart));
+ }
+
+
+}
+
+