blob: 37f065902884fbd9c9175208fc90ddbaeed2a5be [file] [log] [blame]
package org.junit.tests.running.core;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.JUnitCore;
public class CommandLineTest {
private ByteArrayOutputStream results;
private PrintStream oldOut;
private static boolean testWasRun;
@Before
public void before() {
oldOut = System.out;
results = new ByteArrayOutputStream();
System.setOut(new PrintStream(results));
}
@After
public void after() {
System.setOut(oldOut);
}
public static class Example {
@Test
public void test() {
testWasRun = true;
}
}
@Test
public void runATest() {
testWasRun = false;
new MainRunner().runWithCheckForSystemExit(new Runnable() {
public void run() {
JUnitCore.main("org.junit.tests.running.core.CommandLineTest$Example");
}
});
assertTrue(testWasRun);
}
@Test
public void runAClass() {
testWasRun = false;
JUnitCore.runClasses(Example.class);
assertTrue(testWasRun);
}
private static int fCount;
public static class Count {
@Test
public void increment() {
fCount++;
}
}
@Test
public void runTwoClassesAsArray() {
fCount = 0;
JUnitCore.runClasses(new Class[]{Count.class, Count.class});
assertEquals(2, fCount);
}
@Test
public void runTwoClasses() {
fCount = 0;
JUnitCore.runClasses(Count.class, Count.class);
assertEquals(2, fCount);
}
}