@Test(expected = IllegalArgumentException.class) public void testThrowsIfGivenInvalidHeight() { BitmapTransformation transformation = new BitmapTransformation() { @Override public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { } @Override protected Bitmap transform(@NonNull BitmapPool bitmapPool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { return null; } }; transformation.transform(context, mockResource(1, 1), 100, -1); }
@Test(expected = IllegalArgumentException.class) public void testThrowsIfGivenInvalidWidth() { BitmapTransformation transformation = new BitmapTransformation() { @Override public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { } @Override protected Bitmap transform(@NonNull BitmapPool bitmapPool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { return null; } }; transformation.transform(context, mockResource(1, 1), -1, 100); }
@Test public void testPassesGivenArgumentsToTransform() { final int expectedWidth = 13; final int expectedHeight = 148; final Resource<Bitmap> resource = mockResource(223, 4123); BitmapTransformation transformation = new BitmapTransformation() { @Override public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { } @Override protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { assertEquals(bitmapPool, pool); assertEquals(resource.get(), toTransform); assertEquals(expectedWidth, outWidth); assertEquals(expectedHeight, outHeight); return resource.get(); } }; transformation.transform(context, resource, expectedWidth, expectedHeight); }
@Test public void testReturnsNewResourceWhenBitmapTransformed() { final Bitmap transformed = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_4444); BitmapTransformation transformation = new BitmapTransformation() { @Override public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { } @Override protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap bitmap, int outWidth, int outHeight) { return transformed; } }; Resource<Bitmap> resource = mockResource(1, 2); assertNotSame(resource, transformation.transform(context, resource, 100, 100)); }
@Test public void testReturnsNullIfTransformReturnsNull() { BitmapTransformation transform = new BitmapTransformation() { @Override public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { } @Override protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { return null; } }; Resource<Bitmap> resource = mockResource(100, 100); assertNull(transform.transform(context, resource, 100, 100)); }
@Test public void testReturnsGivenResourceWhenBitmapNotTransformed() { BitmapTransformation transformation = new BitmapTransformation() { @Override public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { } @Override protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) { return toTransform; } }; Resource<Bitmap> resource = mockResource(100, 100); assertEquals(resource, transformation.transform(context, resource, 1, 1)); }
@Test public void testCallsTransformWithGivenBitmapHeightIfHeightIsSizeOriginal() { SizeTrackingTransform transform = new SizeTrackingTransform(); int expectedHeight = 500; Resource<Bitmap> resource = mockResource(123, expectedHeight); transform.transform(context, resource, 444, expectedHeight); assertEquals(expectedHeight, transform.givenHeight); }
@Test public void testCallsTransformWithGivenBitmapWidthIfWidthIsSizeOriginal() { SizeTrackingTransform transform = new SizeTrackingTransform(); int expectedWidth = 200; Resource<Bitmap> resource = mockResource(expectedWidth, 300); transform.transform(context, resource, Target.SIZE_ORIGINAL, 500); assertEquals(expectedWidth, transform.givenWidth); }