Online-Shop/shopTUITest.java

42 lines
1.3 KiB
Java

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());
}
}