@Test(expected = GrabberService.GrabberServiceException.class)
public void testStartUpRethrowsFrameGrabberExceptionAsGrabberServiceException() throws
    GrabberService.GrabberServiceException {

  final String exceptionMessage = "Start: Kaboom!";
  try {
    final GrabberService grabberService = createSimpleGrabberService(
        () -> new SimpleMockFrameGrabber() {
          @Override
          public void start() throws FrameGrabber.Exception {
            throw new FrameGrabber.Exception(exceptionMessage);
          }
        });
    grabberService.startUp();
    fail("Should have thrown an exception when starting");
  } catch (GrabberService.GrabberServiceException e) {
    assertThat(e.getCause()).hasMessageThat().contains(exceptionMessage);
    throw e;
  }
  fail("Should have rethrown the exception in the catch block");
}