You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.3 KiB

package Application;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.PrintStream;
import static org.junit.jupiter.api.Assertions.assertEquals;
class CliTest {
private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
private final PrintStream originalOut = System.out;
private final ByteArrayInputStream inContent = new ByteArrayInputStream("Test".getBytes());
private final InputStream originalIn = System.in;
Cli cli;
@BeforeEach
void setUp() {
System.setOut(new PrintStream(outContent));
System.setIn(inContent);
cli = new Cli(System.out, System.in);
}
@AfterEach
void tearDown() {
System.setOut(originalOut);
System.setIn(originalIn);
}
//Only tests correct stream integration, other methods are provided
@Test
void getPrintStream() {
cli.getPrintStream().println("Hello World!");
assertEquals("Hello World!\n", outContent.toString().replaceAll("\r", ""));
}
//Only tests correct stream integration, other methods are provided
@Test
void getScanner() {
assertEquals(cli.getScanner().next(), "Test");
}
}