diff --git a/src/de/dhbw/contactdb/Main.java b/src/de/dhbw/contactdb/Main.java index 3e718cd..481c998 100644 --- a/src/de/dhbw/contactdb/Main.java +++ b/src/de/dhbw/contactdb/Main.java @@ -54,9 +54,9 @@ public class Main { if (args.length == 1) { if (args[0].contains("--personensuche")) { - searchForPerson(getSearchString(args[0])); + System.out.println(searchForPerson(getSearchString(args[0]))); } else if (args[0].contains("--ortssuche")) { - searchForPlace(getSearchString(args[0])); + System.out.println(searchForPlace(getSearchString(args[0]))); } else if (args[0].contains("--kontaktpersonen")) { int id = Integer.parseInt(getSearchString(args[0])); @@ -97,12 +97,14 @@ public class Main { * * @author florian kaiser */ - public static void searchForPlace(String search) { - places.forEach((key, value) -> { - if (value.getName().toLowerCase().contains(search)) { - System.out.println(value); + public static String searchForPlace(String search) { + StringBuilder result = new StringBuilder(); + for (Place p : places.values()) { + if (p.getName().toLowerCase().contains(search)) { + result.append(p.getName()).append(" "); } - }); + } + return result.toString(); } @@ -112,12 +114,14 @@ public class Main { * * @author florian kaiser */ - public static void searchForPerson(String search) { - persons.forEach((key, value) -> { - if (value.getName().toLowerCase().contains(search)) { - System.out.println(value); + public static String searchForPerson(String search) { + StringBuilder result = new StringBuilder(); + for (Person p : persons.values()) { + if (p.getName().toLowerCase().contains(search)) { + result.append(p.getName()).append(" "); } - }); + } + return result.toString(); } diff --git a/src/de/dhbw/unit/ProjectTest.java b/src/de/dhbw/unit/ProjectTest.java new file mode 100644 index 0000000..a547c3b --- /dev/null +++ b/src/de/dhbw/unit/ProjectTest.java @@ -0,0 +1,52 @@ +package de.dhbw.unit; + +import de.dhbw.contactdb.Main; +import de.dhbw.contactdb.ProjektTester; +import de.dhbw.contactdb.utils.Parser; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import java.util.stream.Collectors; + +import static org.junit.jupiter.api.Assertions.*; + +public class ProjectTest { + @BeforeAll + public static void before() { + Parser.parse("/de/dhbw/contactdb/db/contacts2021.db"); + } + + @Test + public void testSearchPerson() { + assertEquals("Mila Milan ", Main.searchForPerson("ila")); + } + + @Test + public void testSearchPlace() { + assertEquals("Supermarkt Großmarkt ", Main.searchForPlace("markt")); + } + + @Test + public void testContactPersons() { + assertEquals("Ben, Carla, Emilia, Emily, Joshua, Malia, Maria, Mia, Sophia", Main.getContactPersons(158).stream() + .filter(visit -> visit.getPerson().getId() != 158) + .map(visit -> visit.getPerson().getName()) + .sorted() + .distinct() + .collect(Collectors.joining(", "))); + } + + @Test + public void testVisitors() { + assertEquals("Anna, Charlotte, Emilia, Leonie, Marie, Mia", Main.getVisitors("=3,\"2021-05-15T11:00:00\"").stream() + .map(visit -> visit.getPerson().getName()) + .sorted() + .distinct() + .collect(Collectors.joining(", "))); + } + + @Test + public void testImport() { + assertNotNull(Main.class.getResourceAsStream("/de/dhbw/contactdb/db/contacts2021.db")); + } +} \ No newline at end of file