@Test public void testFibonacci() {

  assertThat(Math.round(Retryer.fib(0))).isEqualTo(0);
  assertThat(Math.round(Retryer.fib(1))).isEqualTo(1);
  List<Long> results = new ArrayList<>();
  results.add(0L);
  results.add(1L);
  for (int i = 2; i < 93; i++) {
    long f = Math.round(Retryer.fib(i));
    assertThat(f).isLessThan(Long.MAX_VALUE);
    assertThat((double) f)
        .isWithin(f / 1000).of(results.get(i - 2).doubleValue() + results.get(i - 1).doubleValue());
    results.add(f);
  }
}