@Test
public void unexpectedException() {

    final Throwable e = new Throwable();
    try {
        Assert.unexpectedException(e);
    } catch (UnexpectedFailureException ee) {
        assertThat(ee, exception(UnexpectedFailureException.class, DEFAULT_HEADER, "unexpected"));
    }
    try {
        Assert.unexpectedException(e, MESSAGE);
    } catch (UnexpectedFailureException ee) {
        assertThat(ee, exception(UnexpectedFailureException.class, MESSAGE));
    }
    try {
        Assert.unexpectedException(e, MESSAGE, 1);
    } catch (UnexpectedFailureException ee) {
        assertThat(ee, exception(UnexpectedFailureException.class, MESSAGE_1));
    }
    try {
        Assert.unexpectedException(e);
        fail();
    } catch (UnexpectedFailureException ee) {
        assertSame(e, ee.getCause());
    }
    try {
        Assert.unexpectedException(e, MESSAGE);
        fail();
    } catch (UnexpectedFailureException ee) {
        assertSame(e, ee.getCause());
    }
}