Assume Class examples redone.

This commit is contained in:
Bruno Fontana 2020-09-22 18:21:24 -03:00
parent 10e7aaed73
commit 9f51e1c6e5

View File

@ -5,37 +5,55 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assume.assumeFalse; import static org.junit.Assume.assumeFalse;
import static org.junit.Assume.assumeThat; import static org.junit.Assume.assumeThat;
import static org.junit.Assume.assumeTrue; import static org.junit.Assume.assumeTrue;
import static org.junit.Assume.assumeNotNull;
import static org.junit.Assume.assumeNoException;
import org.junit.Test; import org.junit.Test;
public class ConditionallyIgnoreTestsUnitTest { public class ConditionallyIgnoreTestsUnitTest {
@Test public void whenAssumeThatAndOSIsLinux_thenRunTest() {
assumeThat(getOsName(), is("Linux"));
assertEquals("run", "RUN".toLowerCase());
}
@Test @Test public void whenAssumeTrueAndOSIsLinux_thenRunTest() {
public void whenAssumeThatCodeVersionIsNot2_thenIgnore() {
final int codeVersion = 1; final int codeVersion = 1;
assumeThat(codeVersion, is(2)); assumeTrue(isExpectedOS(getOsName()));
assertEquals("run", "RUN".toLowerCase());
assertEquals("hello", "HELLO".toLowerCase());
} }
@Test @Test public void whenAssumeFalseAndOSIsLinux_thenIgnore() {
public void whenAssumeTrueOnCondition_thenIgnore() { assumeFalse(isExpectedOS(getOsName()));
final int codeVersion = 1; assertEquals("run", "RUN".toLowerCase());
assumeTrue(isCodeVersion2(codeVersion));
assertEquals("hello", "HELLO".toLowerCase());
} }
@Test @Test public void whenAssumeNotNullAndNotNullOSVersion_thenIgnore() {
public void whenAssumeFalseOnCondition_thenIgnore() { assumeNotNull(getOsName());
final int codeVersion = 2; assertEquals("run", "RUN".toLowerCase());
assumeFalse(isCodeVersion2(codeVersion));
assertEquals("hello", "HELLO".toLowerCase());
} }
private boolean isCodeVersion2(final int codeVersion) { /**
return codeVersion == 2; * Let's use a different example here.
*/
@Test public void whenAssumeNoExceptionAndExceptionThrown_thenIgnore() {
assertEquals("everything ok", "EVERYTHING OK".toLowerCase());
String t = null;
try {
t.charAt(0);
} catch (NullPointerException npe) {
assumeNoException(npe);
}
assertEquals("run", "RUN".toLowerCase());
}
private boolean isExpectedOS(final String osName) {
return "Linux".equals(osName);
}
// This should use System.getProperty("os.name") in a real test.
private String getOsName() {
return "Linux";
} }
} }