Example #1
0
  @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();
  }
Example #2
0
  @Test
  public void testResourceOnlyReceivesOneGetOnResourceReady() {
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);

    verify(harness.resource, times(1)).get();
  }
Example #3
0
  @Test
  public void testIsFailedAfterNoResultAndNullException() {
    GenericRequest request = harness.getRequest();

    request.onException(null);
    assertTrue(request.isFailed());
  }
Example #4
0
  @Test
  public void testEngineLoadPassedCorrectPriority() {
    Priority expected = Priority.HIGH;
    harness.priority = expected;
    GenericRequest request = harness.getRequest();
    request.begin();

    request.onSizeReady(100, 100);

    verify(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),
            eq(expected),
            anyBoolean(),
            any(DiskCacheStrategy.class),
            any(ResourceCallback.class));
  }
Example #5
0
  @Test
  public void testIsCancelledAfterClear() {
    GenericRequest request = harness.getRequest();
    request.clear();

    assertTrue(request.isCancelled());
  }
Example #6
0
  @Test
  public void testIsFailedAfterException() {
    GenericRequest request = harness.getRequest();

    request.onException(new Exception("test"));
    assertTrue(request.isFailed());
  }
Example #7
0
  @Test
  public void testIsPausedAfterPause() {
    GenericRequest request = harness.getRequest();
    request.pause();

    assertTrue(request.isPaused());
  }
Example #8
0
  @Test
  public void testRequestListenerIsCalledWithLoadedFromMemoryIfLoadCompletesSynchronously() {
    final GenericRequest request = harness.getRequest();
    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 Answer<Object>() {
              @Override
              public Object answer(InvocationOnMock invocation) throws Throwable {
                request.onResourceReady(harness.resource);
                return null;
              }
            });

    request.begin();
    request.onSizeReady(100, 100);
    verify(harness.requestListener)
        .onResourceReady(
            eq(harness.result), any(Number.class), any(Target.class), eq(true), anyBoolean());
  }
Example #9
0
  @Test
  public void testIsNotCancelledAfterPause() {
    GenericRequest request = harness.getRequest();
    request.pause();

    assertFalse(request.isCancelled());
  }
Example #10
0
  @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));
  }
Example #11
0
  @Test
  public void testIsNotCompleteAfterClear() {
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);
    request.clear();

    assertFalse(request.isComplete());
  }
Example #12
0
  @Test
  public void testIsCompleteAfterReceivingResource() {
    GenericRequest request = harness.getRequest();

    request.onResourceReady(harness.resource);

    assertTrue(request.isComplete());
  }
Example #13
0
  @Test
  public void testIsNotRunningAfterComplete() {
    GenericRequest request = harness.getRequest();
    request.begin();
    request.onResourceReady(harness.resource);

    assertFalse(request.isRunning());
  }
Example #14
0
  @Test
  public void testIsNotRunningAfterFailing() {
    GenericRequest request = harness.getRequest();
    request.begin();
    request.onException(new RuntimeException("Test"));

    assertFalse(request.isRunning());
  }
Example #15
0
  @Test
  public void testIsNotRunningAfterClear() {
    GenericRequest request = harness.getRequest();
    request.begin();
    request.clear();

    assertFalse(request.isRunning());
  }
Example #16
0
  @Test
  public void testCallsTargetOnResourceReadyIfNoRequestListener() {
    harness.requestListener = null;
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);

    verify(harness.target).onResourceReady(eq(harness.result), any(GlideAnimation.class));
  }
Example #17
0
  @Test
  public void testDoesNotSetErrorDrawableIfRequestCoordinatorDoesntAllowIt() {
    harness.errorDrawable = new ColorDrawable(Color.RED);
    GenericRequest request = harness.getRequest();
    when(harness.requestCoordinator.canNotifyStatusChanged(any(Request.class))).thenReturn(false);
    request.onException(new IOException("Test"));

    verify(harness.target, never()).onLoadFailed(any(Exception.class), any(Drawable.class));
  }
Example #18
0
  @Test
  public void testDoesNotCallGetSizeIfOverrideWidthAndHeightAreSet() {
    harness.overrideWidth = 100;
    harness.overrideHeight = 100;
    GenericRequest request = harness.getRequest();
    request.begin();

    verify(harness.target, never()).getSize(any(SizeReadyCallback.class));
  }
Example #19
0
  @Test
  public void testCallsGetSizeIfOverrideHeightIsLessThanZero() {
    harness.overrideHeight = -1;
    harness.overrideWidth = 100;
    GenericRequest request = harness.getRequest();
    request.begin();

    verify(harness.target).getSize(any(SizeReadyCallback.class));
  }
Example #20
0
  @Test
  public void testTargetIsCalledWithAnimationFromFactory() {
    GenericRequest request = harness.getRequest();
    GlideAnimation<List> glideAnimation = mock(GlideAnimation.class);
    when(harness.factory.build(anyBoolean(), anyBoolean())).thenReturn(glideAnimation);
    request.onResourceReady(harness.resource);

    verify(harness.target).onResourceReady(eq(harness.result), eq(glideAnimation));
  }
Example #21
0
  @Test
  public void testIsNotPausedAfterBeginningWhilePaused() {
    GenericRequest request = harness.getRequest();
    request.pause();
    request.begin();

    assertFalse(request.isPaused());
    assertTrue(request.isRunning());
  }
Example #22
0
  @Test
  public void testRequestListenerIsCalledWithTarget() {
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);

    verify(harness.requestListener)
        .onResourceReady(
            any(List.class), any(Number.class), eq(harness.target), anyBoolean(), anyBoolean());
  }
Example #23
0
  @Test
  public void testCallsTargetOnExceptionIfNoRequestListener() {
    harness.requestListener = null;
    GenericRequest request = harness.getRequest();
    Exception exception = new IOException("test");
    request.onException(exception);

    verify(harness.target).onLoadFailed(eq(exception), eq(harness.errorDrawable));
  }
Example #24
0
  @Test
  public void testIsNotFailedAfterBegin() {
    GenericRequest request = harness.getRequest();

    request.onResourceReady(null);
    request.begin();

    assertFalse(request.isFailed());
  }
Example #25
0
  @Test
  public void testResourceIsRecycledOnClear() {
    GenericRequest request = harness.getRequest();

    request.onResourceReady(harness.resource);
    request.clear();

    verify(harness.engine).release(eq(harness.resource));
  }
Example #26
0
  @Test
  public void testRequestListenerIsCalledWithIsFirstResourceIfNoRequestCoordinator() {
    harness.requestCoordinator = null;
    GenericRequest request = harness.getRequest();
    request.onResourceReady(harness.resource);

    verify(harness.requestListener)
        .onResourceReady(
            eq(harness.result), any(Number.class), any(Target.class), anyBoolean(), eq(true));
  }
Example #27
0
  @Test
  public void testDoesNotCallTargetOnResourceReadyIfRequestListenerReturnsTrue() {
    GenericRequest request = harness.getRequest();
    when(harness.requestListener.onResourceReady(
            any(List.class), any(Number.class), eq(harness.target), anyBoolean(), anyBoolean()))
        .thenReturn(true);
    request.onResourceReady(harness.resource);

    verify(harness.target, never()).onResourceReady(any(List.class), any(GlideAnimation.class));
  }
Example #28
0
  @Test
  public void testCallsTargetOnResourceReadyIfRequestListenerReturnsFalse() {
    GenericRequest request = harness.getRequest();
    when(harness.requestListener.onResourceReady(
            any(List.class), any(Number.class), eq(harness.target), anyBoolean(), anyBoolean()))
        .thenReturn(false);
    request.onResourceReady(harness.resource);

    verify(harness.target).onResourceReady(eq(harness.result), any(GlideAnimation.class));
  }
Example #29
0
  @Test
  public void testCanHandleNullResources() {
    GenericRequest request = harness.getRequest();

    request.onResourceReady(null);

    assertTrue(request.isFailed());
    verify(harness.requestListener)
        .onException(any(Exception.class), any(Number.class), eq(harness.target), anyBoolean());
  }
Example #30
0
  @Test
  public void testOnSizeReadyWithNullDataFetcherCallsOnException() {
    GenericRequest request = harness.getRequest();
    when(harness.modelLoader.getResourceFetcher(any(Number.class), anyInt(), anyInt()))
        .thenReturn(null);
    request.begin();
    request.onSizeReady(100, 100);

    verify(harness.requestListener)
        .onException(any(Exception.class), any(Number.class), any(Target.class), anyBoolean());
  }