@Test
public void Should_checkWhenReceiverThrows()
        throws Exception {

    IMessageReceiver receiver = new ChildDeletionCheckerReceiver(underlyingReceiverMock, ctxMock, checkStrategyMock, deletionActionMock);
    doThrow(new MessageReceiveException()).when(underlyingReceiverMock).receive(same(messageProcessorMock));
    doThrow(new DeletionCheckException("")).when(checkStrategyMock).checkDelete(same(ctxMock), same(envMock));
    try {
        receiver.receive(messageProcessorMock);
        fail();
    } catch (MessageReceiveException e) {
        assertEquals(1, e.getCause().getSuppressed().length);
        assertTrue(e.getCause().getSuppressed()[0] instanceof DeletionCheckException);
    }
}