package com.mozilla.grouperfish.base; import org.testng.annotations.Test; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.fail; @Test(groups="unit") public class AssertTest { public void testNonNullPass() { Assert.nonNull(new int[100]); Assert.nonNull("a", 123, new Object()); } @Test(expectedExceptions=IllegalArgumentException.class) public void testNonNullFailSingle() { final String nothing = null; Assert.nonNull(nothing); } @Test(expectedExceptions=IllegalArgumentException.class) public void testNonNullFailMulti() { Assert.nonNull("a", 123, new Object(), null); } public void testCheckPass() { Assert.check(true); Assert.check(true, true); Assert.check(true, true, true); } @Test(expectedExceptions=IllegalArgumentException.class) public void testCheckFailSingle() { Assert.check(false); } @Test(expectedExceptions=IllegalArgumentException.class) public void testCheckFailMulti() { Assert.check(true, true, false); } @Test(expectedExceptions=IllegalStateException.class) public void testUnreachable() { Assert.unreachable(); } @Test(expectedExceptions = IllegalStateException.class) public void testUnreachableType() { String bogus = Assert.unreachable(String.class); fail(bogus); } public void testUnreachableWrap() { Exception inner = new RuntimeException(); try { String neverAssigned = Assert.unreachable(String.class, inner); fail(neverAssigned); } catch (IllegalStateException e) { assertEquals(inner, e.getCause()); } } public void testUnreachableArgs() { try { Assert.unreachable("Arrrgh"); fail(); } catch (IllegalStateException e) { assertEquals( "[ASSERTION FAILED] Code should be unreachable: Arrrgh\n", e.getMessage()); } try { Assert.unreachable("Wut: %s %s???", "Over", 9000); fail(); } catch (IllegalStateException e) { assertEquals( "[ASSERTION FAILED] Code should be unreachable: Wut: Over 9000???\n", e.getMessage()); } try { String neverAssigned = Assert.unreachable(String.class, "Wut: %s %s???", "Over", 9000); fail(neverAssigned); } catch (IllegalStateException e) { assertEquals( "[ASSERTION FAILED] Code should be unreachable: Wut: Over 9000???\n", e.getMessage()); } } }