Comment on page
Output Tests
This is an example of how you can test the output stream of student code.
This test makes sure the student's code prints
"Hello World"
. It assumes the student's file name is Example.java
. Replace the Example.main(null)
call with whatever you student's file name is. Note: This code converts the output to all lowercase and removes spaces to compare against the correct value.
import org.junit.Before;
import org.junit.After;
import org.junit.Test;
import static org.junit.Assert.*;
import java.io.*;
public class CodingRoomsUnitTests {
private final PrintStream standardOut = System.out;
private final ByteArrayOutputStream outputStreamCaptor = new ByteArrayOutputStream();
@Before
public void setUp() {
System.setOut(new PrintStream(outputStreamCaptor));
}
@After
public void tearDown() {
System.setOut(standardOut);
}
@Test
public void testDefaultCase() {
Example.main(null);
assertEquals("Hello World".toLowerCase().trim().replace(" ", ""), outputStreamCaptor.toString().toLowerCase().trim().replace(" ", ""));
}
}
Example.java
public class Example
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}