package com.bumptech.glide.request.target;
import static org.mockito.Mockito.mock;
import com.bumptech.glide.request.transition.Transition;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class SimpleTargetTest {
@Test(expected = IllegalArgumentException.class)
public void testThrowsOnGetSizeIfGivenWidthIsLessThanZero() {
getTarget(-1, 1).getSize(mock(SizeReadyCallback.class));
}
@Test(expected = IllegalArgumentException.class)
public void testThrowsOnGetSizeIfGivenWidthIsEqualToZero() {
getTarget(0, 1).getSize(mock(SizeReadyCallback.class));
}
@Test(expected = IllegalArgumentException.class)
public void testThrowsOnGetSizeIfGivenHeightIsLessThanZero() {
getTarget(1, -1).getSize(mock(SizeReadyCallback.class));
}
@Test(expected = IllegalArgumentException.class)
public void testThrowsOnGetSizeIfGivenHeightIsEqualToZero() {
getTarget(1, 0).getSize(mock(SizeReadyCallback.class));
}
@Test
public void testCanBeConstructedWithoutDimensions() {
getTarget();
}
@Test
public void testConstructorDoesNotThrowWithSizeOriginal() {
getTarget(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
}
@Test
public void testGetSizeDoesNotThrowWithSizeOriginal() {
getTarget(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).getSize(mock(SizeReadyCallback.class));
}
private SimpleTarget<Object> getTarget() {
return new SimpleTarget<Object>() {
@Override
public void onResourceReady(Object resource, Transition<? super Object> transition) {
// Do nothing.
}
};
}
private SimpleTarget<Object> getTarget(int width, int height) {
return new SimpleTarget<Object>(width, height) {
@Override
public void onResourceReady(Object resource, Transition<? super Object> transition) {
// Do nothing.
}
};
}
}