50 lines
1.2 KiB
Java
50 lines
1.2 KiB
Java
package com.gitlesson;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.PrintStream;
|
|
|
|
import org.junit.After;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import com.gitlesson.demolibrary.TestLibrary;
|
|
|
|
/**
|
|
* Unit test for simple App.
|
|
*/
|
|
public class AppTest {
|
|
private final PrintStream stardardOut = System.out;
|
|
private final ByteArrayOutputStream outputStreamCaptor = new ByteArrayOutputStream();
|
|
|
|
/**
|
|
* substitute the standard output with
|
|
* a new object because we need to check
|
|
* if the method Main writes the correct string
|
|
*/
|
|
@Before
|
|
public void setup() {
|
|
System.setOut(new PrintStream(outputStreamCaptor));
|
|
}
|
|
|
|
/**
|
|
* Reset the standard out to the system one
|
|
*/
|
|
@After
|
|
public void restore() {
|
|
System.setOut(stardardOut);
|
|
}
|
|
|
|
/**
|
|
* Rigorous Test :-)
|
|
*/
|
|
@Test
|
|
public void shouldAnswerWithTrue() {
|
|
String[] args = new String[0];
|
|
App.main(args);
|
|
String result = outputStreamCaptor.toString();
|
|
String expected = TestLibrary.getText();
|
|
assertEquals("This strings should match", expected, result);
|
|
}
|
|
}
|