@Test public void testEngineLoadCancelledOnCancel() { Engine.LoadStatus loadStatus = mock(Engine.LoadStatus.class); when(harness.engine.load( anyInt(), anyInt(), any(ResourceDecoder.class), any(DataFetcher.class), any(Encoder.class), any(ResourceDecoder.class), any(Transformation.class), any(ResourceEncoder.class), any(ResourceTranscoder.class), any(Priority.class), anyBoolean(), any(DiskCacheStrategy.class), any(ResourceCallback.class))) .thenReturn(loadStatus); GenericRequest request = harness.getRequest(); request.begin(); request.onSizeReady(100, 100); request.cancel(); verify(loadStatus).cancel(); }
@Test public void testCanReRunCancelledRequests() { doAnswer(new CallSizeReady(100, 100)) .when(harness.target) .getSize(any(SizeReadyCallback.class)); when(harness.engine.load( anyInt(), anyInt(), any(ResourceDecoder.class), any(DataFetcher.class), any(Encoder.class), any(ResourceDecoder.class), any(Transformation.class), any(ResourceEncoder.class), any(ResourceTranscoder.class), any(Priority.class), anyBoolean(), any(DiskCacheStrategy.class), any(ResourceCallback.class))) .thenAnswer(new CallResourceCallback(harness.resource)); GenericRequest request = harness.getRequest(); request.begin(); request.cancel(); request.begin(); verify(harness.target, times(2)).onResourceReady(eq(harness.result), any(GlideAnimation.class)); }
@Test public void testDoesNotStartALoadIfOnSizeReadyIsCalledAfterCancel() { GenericRequest request = harness.getRequest(); request.cancel(); request.onSizeReady(100, 100); verify(harness.engine, never()) .load( anyInt(), anyInt(), any(ResourceDecoder.class), any(DataFetcher.class), any(Encoder.class), any(ResourceDecoder.class), any(Transformation.class), any(ResourceEncoder.class), any(ResourceTranscoder.class), any(Priority.class), anyBoolean(), any(DiskCacheStrategy.class), any(ResourceCallback.class)); }