package pckg; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.FileNotFoundException; class shopTUITest { private shopTUI tui; @BeforeEach void setUp() { tui = new shopTUI(); } @Test void testBeendenLogik() throws FileNotFoundException { // Wir simulieren die Eingabe "beenden", damit die Endlosschleife direkt stoppt String input = "beenden\n"; InputStream in = new ByteArrayInputStream(input.getBytes()); System.setIn(in); // Der Test ist erfolgreich, wenn die Methode ohne Endlosschleife durchläuft assertDoesNotThrow(() -> { // Da mainMenu() die Schleife enthält, testen wir das Beenden hier tui.mainMenu(); }); } @Test void testUngueltigeEingabeUndDannBeenden() throws FileNotFoundException { // Erst eine falsche Eingabe, dann beenden String input = "falscheEingabe\nbeenden\n"; InputStream in = new ByteArrayInputStream(input.getBytes()); System.setIn(in); assertDoesNotThrow(() -> tui.mainMenu()); } }