### Question:
RxBackoff { public static RxBackoff fixed(long interval, int maxRetryCount) { return new RxBackoff(new Backoff.Builder() .setAlgorithm(new FixedIntervalAlgorithm(interval, TimeUnit.MILLISECONDS)) .setMaxRetryCount(maxRetryCount) .build()); } RxBackoff(@NonNull Backoff backoff);  RxBackoff(@NonNull Backoff backoff, @NonNull Scheduler intervalScheduler); static RxBackoff exponential(double multiplier, int maxRetryCount); static RxBackoff fixed(long interval, int maxRetryCount); static RxBackoff random(long lowInterval, long highInterval, int maxRetryCount); static RxBackoff of(BackoffAlgorithm algorithm, int maxRetryCount); RxBackoff filter(@NonNull Predicate<Throwable> predicate); RxBackoff doOnRetry(@NonNull BiConsumer<Throwable, Integer> onRetry); RxBackoff doOnAbort(@NonNull Consumer<Throwable> onAbort); Function<Observable<Throwable>, ObservableSource<?>> observable(); Function<Flowable<Throwable>, Publisher<?>> flowable();  }### Answer:
@Test public void fixed() { final AtomicInteger count = new AtomicInteger(0); final TestScheduler scheduler = new TestScheduler(); final RxBackoff backoff = new RxBackoff( new Backoff.Builder() .setAlgorithm(new FixedIntervalAlgorithm()) .setMaxRetryCount(5) .build(), scheduler); final TestObserver observer = Observable .fromCallable(new Callable<Integer>() { @Override public Integer call() throws Exception { throw new Exception("error " + count.incrementAndGet()); } }) .retryWhen(backoff.observable()) .subscribeOn(scheduler) .test(); scheduler.advanceTimeTo(90_0000L, TimeUnit.MILLISECONDS); scheduler.triggerActions(); observer.awaitTerminalEvent(1000L, TimeUnit.MILLISECONDS); observer.assertError(Exception.class); assertThat(count.get()).isEqualTo(6); }