### Question:
RangeStoreServiceImpl implements RangeStoreService, AutoCloseable { @Override public CompletableFuture<DeleteRangeResponse> delete(DeleteRangeRequest request) { RoutingHeader header = request.getHeader(); if (header.getRangeId() <= 0L) { return CompletableFuture.completedFuture(DeleteRangeResponse.newBuilder() .setHeader(ResponseHeader.newBuilder() .setCode(StatusCode.BAD_REQUEST) .setRoutingHeader(request.getHeader()) .build()) .build()); } RangeId rid = RangeId.of(header.getStreamId(), header.getRangeId()); TableStore store = tableStoreCache.getTableStore(rid); if (null != store) { return store.delete(request); } else { return tableStoreCache.openTableStore(scId, rid) .thenCompose(s -> s.delete(request)); } } RangeStoreServiceImpl(long scId,
                          StorageContainerPlacementPolicy rangePlacementPolicy,
                          OrderedScheduler scheduler,
                          MVCCStoreFactory storeFactory,
                          StorageServerClientManager clientManager);   RangeStoreServiceImpl(long scId,
                          OrderedScheduler scheduler,
                          MVCCStoreFactory storeFactory,
                          RootRangeStoreFactory rrStoreFactory,
                          MetaRangeStoreFactory mrStoreFactory,
                          TableStoreFactory tableStoreFactory); long getId(); @Override CompletableFuture<Void> start(); @Override CompletableFuture<Void> stop(); @Override void close(); @Override CompletableFuture<CreateNamespaceResponse> createNamespace(CreateNamespaceRequest request); @Override CompletableFuture<DeleteNamespaceResponse> deleteNamespace(DeleteNamespaceRequest request); @Override CompletableFuture<GetNamespaceResponse> getNamespace(GetNamespaceRequest request); @Override CompletableFuture<CreateStreamResponse> createStream(CreateStreamRequest request); @Override CompletableFuture<DeleteStreamResponse> deleteStream(DeleteStreamRequest request); @Override CompletableFuture<GetStreamResponse> getStream(GetStreamRequest request); @Override CompletableFuture<GetActiveRangesResponse> getActiveRanges(GetActiveRangesRequest request); @Override CompletableFuture<RangeResponse> range(RangeRequest request); @Override CompletableFuture<PutResponse> put(PutRequest request); @Override CompletableFuture<DeleteRangeResponse> delete(DeleteRangeRequest request); @Override CompletableFuture<TxnResponse> txn(TxnRequest request); @Override CompletableFuture<IncrementResponse> incr(IncrementRequest request);  }### Answer:
@Test public void testDeleteWhenTableStoreNotCached() throws Exception { mockStorageContainer(SCID); DeleteRangeResponse expectedResp = DeleteRangeResponse.getDefaultInstance(); when(trStore.delete(any(DeleteRangeRequest.class))) .thenReturn(FutureUtils.value(expectedResp)); DeleteRangeRequest request = newDeleteRequest(); DeleteRangeResponse response = FutureUtils.result(container.delete(request)); assertSame(expectedResp, response); assertSame(trStore, container.getTableStoreCache().getTableStore(RID)); }