private Consumer performCacheMiss() {
    when(mMemoryCache.get(mPostprocessedBitmapCacheKey)).thenReturn(null);

    mMemoryCacheProducer.produceResults(mConsumer, mProducerContext);

    verify(mProducerListener).onProducerStart(mProducerContext, PRODUCER_NAME);
    ArgumentCaptor<Consumer> captor = ArgumentCaptor.forClass(Consumer.class);
    verify(mInputProducer).produceResults(captor.capture(), eq(mProducerContext));
    verify(mProducerListener)
        .onProducerFinishWithSuccess(mProducerContext, PRODUCER_NAME, mExtraOnMiss);
    verify(mProducerListener, never())
        .onUltimateProducerReached(eq(mProducerContext), anyString(), anyBoolean());
    return captor.getValue();
  }
Checks basic properties of post-processed bitmap memory cache producer operation, that is: - it
delegates to the {@link MemoryCache#get(Object)} - if {@link MemoryCache#get(Object)} is
unsuccessful, then it passes the request to the next producer in the sequence. - if the next
producer returns the value, then it is put into the bitmap cache. - responses from the next
producer are passed back down to the consumer.
imagepipeline/src/test/java/com/facebook/imagepipeline/producers/PostprocessedBitmapMemoryCacheProducerTest.java