/** Test method for {@link FailureReport#recoverable()}. */
 @Test
 public void recoverable() {
   this.continueFunction = null;
   final FailureReport<String> failReport = new FailureReport<>();
   failReport.recoverable();
   assertThat(failReport.getContinueRoutine().get(), is(nullValue()));
 }
  /** Test method for {@link FailureReport#continueWith()}. */
  @Test
  public void continueWith() {
    final FailureReport<String> failReport = new FailureReport<>();
    final Runnable runTest = mock(Runnable.class);
    failReport.continueWith(runTest);
    assertThat(failReport.getContinueRoutine().get(), is(nullValue()));
    verify(runTest).run();

    @SuppressWarnings("unchecked")
    final Supplier<Object> continueTest = mock(Supplier.class);
    final Object returned = mock(Object.class);
    final FailureReport<Object> failReport2 = new FailureReport<>();
    failReport2.continueWith(continueTest);
    given(continueTest.get()).willReturn(returned);
    assertThat(failReport2.getContinueRoutine().get(), is(theInstance(returned)));
  }
 /** Test method for {@link FailureReport#getContinueRoutine()}. */
 @Test
 public void getContinueRoutine() {
   final FailureReport<String> failReport = new FailureReport<>();
   assertThat(failReport.getContinueRoutine(), is(this.continueFunction));
 }