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