@Test
public void shouldThrowSampleServiceExceptionWhenPersonInstantiationFailed() throws Exception {

    PersonService personService = mock(PersonService.class);
    EventService eventService = mock(EventService.class);
    BusinessMessages businessMessages = mock(BusinessMessages.class);
    IllegalArgumentException illegalArgumentException = mock(IllegalArgumentException.class);
    whenNew(BusinessMessages.class).withNoArguments().thenReturn(businessMessages);
    whenNew(Person.class).withArguments("Maxime", "Nowak").thenThrow(illegalArgumentException);
    when(illegalArgumentException.getMessage()).thenReturn("Test");
    SampleServiceImpl sampleService = new SampleServiceImpl(personService, eventService);
    try {
        boolean isCreated = sampleService.createPerson("Maxime", "Nowak");
        fail("Should not happen !");
    } catch (SampleServiceException sampleServiceException) {
        assertThat(sampleServiceException.getMessage()).isEqualTo("Test");
        verifyZeroInteractions(personService);
        verifyZeroInteractions(eventService);
    }
}