Observables { @NonNull public static Observable perMillisecondObservable( final int shortestUpdateWindowMillis, @NonNull final Observable... observables) { return compositeObservable(shortestUpdateWindowMillis, observables); } private  Observables(); @NonNull static Observable compositeObservable(@NonNull final Observable... observables); @NonNull static Observable conditionalObservable(
      @NonNull final Condition condition, @NonNull final Observable... observables); @NonNull static Observable perMillisecondObservable(
      final int shortestUpdateWindowMillis, @NonNull final Observable... observables); @NonNull static Observable perLoopObservable(@NonNull final Observable... observables); @NonNull static UpdateDispatcher updateDispatcher(); @NonNull static UpdateDispatcher updateDispatcher(
      @NonNull final ActivationHandler activationHandler);  }
@Test public void shouldUpdatePerMillisecondObservable() { final long expectedDelayedTime = scheduler.getCurrentTime() + FILTER_TIME; updatable.addToObservable(perMillisecondObservable(FILTER_TIME, updateDispatcher)); updateDispatcher.update(); idleMainLooper(FILTER_TIME); assertThat(updatable, wasUpdated()); assertThat(scheduler.getCurrentTime(), greaterThanOrEqualTo(expectedDelayedTime)); }