42 lines
1.3 KiB
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());
|
|
}
|
|
} |