    @Test
    public void testGetMessage() {


        Assert.assertEquals(null, exceptionDefaultConstructor.getMessage());

        Assert.assertEquals(null, exceptionWithNullMessage.getMessage());

        Assert.assertEquals("msg", exceptionWithMessage.getMessage());

        Assert.assertEquals("msg; nested exception is: java.lang.Exception: cause", exceptionWithCausedBy.getMessage());

        Assert.assertEquals("msg", exceptionWithInitCause.getMessage());

        Assert.assertEquals("msg; nested exception is: java.lang.Exception: cause", exceptionWithCausedByAndInitCause.getMessage());

        // TODO Define this behavior
//        Assert.assertEquals("msg; nested exception is: java.lang.RuntimeException: initCause", exceptionWithDifferentCausedByAndInitCause.getMessage());
    }