### Question:
Cache implements MemoryStore<Key, Value> { @Override @NonNull public Maybe<List<Value>> getAll() { return Observable.fromIterable(cache.values()) .filter(this::notExpired) .map(CacheEntry::cachedObject) .toList() .filter(ListUtils::isNotEmpty) .subscribeOn(Schedulers.computation()); } Cache(@NonNull final Function<Value, Key> extractKeyFromModel,
                 @NonNull final TimestampProvider timestampProvider);  Cache(@NonNull final Function<Value, Key> extractKeyFromModel,
                 @NonNull final TimestampProvider timestampProvider,
                 final long timeoutMs); private  Cache(@NonNull final Function<Value, Key> extractKeyFromModel,
                  @NonNull final TimestampProvider timestampProvider,
                  @NonNull final Option<Long> timeoutMs); @Override void putSingular(@NonNull Value value); @Override void putAll(@NonNull List<Value> values); @Override @NonNull Maybe<Value> getSingular(@NonNull final Key key); @Override @NonNull Maybe<List<Value>> getAll(); @Override void clear();  }### Answer:
@Test public void getAllCompletesWithNoEmissionsWhenCacheIsEmpty() { cache.getAll().test().assertNoValues(); }