@Test public void centerCropResultMatchesTargetSize() { Request request = new Request.Builder(URI_1).resize(1080, 642).centerCrop().build(); Bitmap source = Bitmap.createBitmap(640, 640, ARGB_8888); Bitmap result = transformResult(request, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); String scalePreOperation = shadowMatrix.getPreOperations().get(0); assertThat(scalePreOperation).startsWith("scale "); float scaleX = Float.valueOf(scalePreOperation.split(" ")[1]); float scaleY = Float.valueOf(scalePreOperation.split(" ")[2]); int transformedWidth = Math.round(result.getWidth() * scaleX); int transformedHeight = Math.round(result.getHeight() * scaleY); assertThat(transformedWidth).isEqualTo(1080); assertThat(transformedHeight).isEqualTo(642); }
@Test public void centerCropResultMatchesTargetSizeWhileDesiredWidthIs0() { Request request = new Request.Builder(URI_1).resize(0, 642).centerCrop().build(); Bitmap source = Bitmap.createBitmap(640, 640, ARGB_8888); Bitmap result = transformResult(request, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); String scalePreOperation = shadowMatrix.getPreOperations().get(0); assertThat(scalePreOperation).startsWith("scale "); float scaleX = Float.valueOf(scalePreOperation.split(" ")[1]); float scaleY = Float.valueOf(scalePreOperation.split(" ")[2]); int transformedWidth = Math.round(result.getWidth() * scaleX); int transformedHeight = Math.round(result.getHeight() * scaleY); assertThat(transformedWidth).isEqualTo(642); assertThat(transformedHeight).isEqualTo(642); }
@Test public void centerCropResultMatchesTargetSizeWhileDesiredHeightIs0() { Request request = new Request.Builder(URI_1).resize(1080, 0).centerCrop().build(); Bitmap source = Bitmap.createBitmap(640, 640, ARGB_8888); Bitmap result = transformResult(request, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); String scalePreOperation = shadowMatrix.getPreOperations().get(0); assertThat(scalePreOperation).startsWith("scale "); float scaleX = Float.valueOf(scalePreOperation.split(" ")[1]); float scaleY = Float.valueOf(scalePreOperation.split(" ")[2]); int transformedWidth = Math.round(result.getWidth() * scaleX); int transformedHeight = Math.round(result.getHeight() * scaleY); assertThat(transformedWidth).isEqualTo(1080); assertThat(transformedHeight).isEqualTo(1080); }
@Test public void centerInsideResultMatchesTargetSizeWhileDesiredWidthIs0() { Request request = new Request.Builder(URI_1).resize(0, 642).centerInside().build(); Bitmap source = Bitmap.createBitmap(640, 640, ARGB_8888); Bitmap result = transformResult(request, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); String scalePreOperation = shadowMatrix.getPreOperations().get(0); assertThat(scalePreOperation).startsWith("scale "); float scaleX = Float.valueOf(scalePreOperation.split(" ")[1]); float scaleY = Float.valueOf(scalePreOperation.split(" ")[2]); int transformedWidth = Math.round(result.getWidth() * scaleX); int transformedHeight = Math.round(result.getHeight() * scaleY); assertThat(transformedWidth).isEqualTo(642); assertThat(transformedHeight).isEqualTo(642); }
@Test public void centerInsideResultMatchesTargetSizeWhileDesiredHeightIs0() { Request request = new Request.Builder(URI_1).resize(1080, 0).centerInside().build(); Bitmap source = Bitmap.createBitmap(640, 640, ARGB_8888); Bitmap result = transformResult(request, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); String scalePreOperation = shadowMatrix.getPreOperations().get(0); assertThat(scalePreOperation).startsWith("scale "); float scaleX = Float.valueOf(scalePreOperation.split(" ")[1]); float scaleY = Float.valueOf(scalePreOperation.split(" ")[2]); int transformedWidth = Math.round(result.getWidth() * scaleX); int transformedHeight = Math.round(result.getHeight() * scaleY); assertThat(transformedWidth).isEqualTo(1080); assertThat(transformedHeight).isEqualTo(1080); }
@Test public void centerCropTallTooSmall() { Bitmap source = Bitmap.createBitmap(10, 20, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 40).centerCrop().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(5); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(10); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 4.0 4.0"); }
@Test public void centerCropTallTooLarge() { Bitmap source = Bitmap.createBitmap(100, 200, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).centerCrop().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(50); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(100); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(100); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.5 0.5"); }
@Test public void centerCropWideTooSmall() { Bitmap source = Bitmap.createBitmap(20, 10, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 40).centerCrop().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(5); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(10); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 4.0 4.0"); }
@Test public void centerCropWithGravityHorizontalLeft() { Bitmap source = Bitmap.createBitmap(20, 10, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 40).centerCrop(Gravity.LEFT).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(10); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 4.0 4.0"); }
@Test public void centerCropWithGravityHorizontalRight() { Bitmap source = Bitmap.createBitmap(20, 10, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 40).centerCrop(Gravity.RIGHT).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(10); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 4.0 4.0"); }
@Test public void centerCropWithGravityVerticalTop() { Bitmap source = Bitmap.createBitmap(10, 20, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 40).centerCrop(Gravity.TOP).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(10); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 4.0 4.0"); }
@Test public void centerCropWithGravityVerticalBottom() { Bitmap source = Bitmap.createBitmap(10, 20, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 40).centerCrop(Gravity.BOTTOM).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(10); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 4.0 4.0"); }
@Test public void centerCropWideTooLarge() { Bitmap source = Bitmap.createBitmap(200, 100, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).centerCrop().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(50); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(100); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(100); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.5 0.5"); }
@Test public void centerCropTallTooSmall() throws Exception { Bitmap source = Bitmap.createBitmap(10, 20, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 40).centerCrop().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(5); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(10); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsOnly("scale 4.0 4.0"); }
@Test public void centerCropTallTooLarge() throws Exception { Bitmap source = Bitmap.createBitmap(100, 200, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).centerCrop().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(50); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(100); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(100); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsOnly("scale 0.5 0.5"); }
@Test public void centerCropWideTooSmall() throws Exception { Bitmap source = Bitmap.createBitmap(20, 10, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 40).centerCrop().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(5); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(10); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(10); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsOnly("scale 4.0 4.0"); }
@Test public void centerCropWideTooLarge() throws Exception { Bitmap source = Bitmap.createBitmap(200, 100, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).centerCrop().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); assertThat(shadowBitmap.getCreatedFromX()).isEqualTo(50); assertThat(shadowBitmap.getCreatedFromY()).isEqualTo(0); assertThat(shadowBitmap.getCreatedFromWidth()).isEqualTo(100); assertThat(shadowBitmap.getCreatedFromHeight()).isEqualTo(100); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsOnly("scale 0.5 0.5"); }
@Test public void exifRotation() { Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, ORIENTATION_ROTATE_90); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("rotate 90.0"); }
@Test public void exifRotationSizing() throws Exception { Request data = new Request.Builder(URI_1).resize(5, 10).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, ORIENTATION_ROTATE_90); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).contains("scale 1.0 0.5"); }
@Test public void exifRotationNoSizing() throws Exception { Request data = new Request.Builder(URI_1).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, ORIENTATION_ROTATE_90); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).contains("rotate 90.0"); }
@Test public void rotation90Sizing() throws Exception { Request data = new Request.Builder(URI_1).rotate(90).resize(5, 10).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).contains("scale 1.0 0.5"); }
@Test public void rotation180Sizing() throws Exception { Request data = new Request.Builder(URI_1).rotate(180).resize(5, 10).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).contains("scale 0.5 1.0"); }
@Test public void rotation90WithPivotSizing() throws Exception { Request data = new Request.Builder(URI_1).rotate(90,0,10).resize(5, 10).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).contains("scale 1.0 0.5"); }
@Test public void exifVerticalFlip() { Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, ORIENTATION_FLIP_VERTICAL); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPostOperations()).containsExactly("scale -1.0 1.0"); assertThat(shadowMatrix.getPreOperations()).containsExactly("rotate 180.0"); }
@Test public void exifHorizontalFlip() { Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, ORIENTATION_FLIP_HORIZONTAL); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPostOperations()).containsExactly("scale -1.0 1.0"); assertThat(shadowMatrix.getPreOperations()).doesNotContain("rotate 180.0"); assertThat(shadowMatrix.getPreOperations()).doesNotContain("rotate 90.0"); assertThat(shadowMatrix.getPreOperations()).doesNotContain("rotate 270.0"); }
@Test public void exifTranspose() { Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, ORIENTATION_TRANSPOSE); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPostOperations()).containsExactly("scale -1.0 1.0"); assertThat(shadowMatrix.getPreOperations()).containsExactly("rotate 90.0"); }
@Test public void exifTransverse() { Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Bitmap result = transformResult(data, source, ORIENTATION_TRANSVERSE); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPostOperations()).containsExactly("scale -1.0 1.0"); assertThat(shadowMatrix.getPreOperations()).containsExactly("rotate 270.0"); }
@Test public void keepsAspectRationWhileResizingWhenDesiredWidthIs0() { Request request = new Request.Builder(URI_1).resize(20, 0).build(); Bitmap source = Bitmap.createBitmap(40, 20, ARGB_8888); Bitmap result = transformResult(request, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.5 0.5"); }
@Test public void keepsAspectRationWhileResizingWhenDesiredHeightIs0() { Request request = new Request.Builder(URI_1).resize(0, 10).build(); Bitmap source = Bitmap.createBitmap(40, 20, ARGB_8888); Bitmap result = transformResult(request, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.5 0.5"); }
@Test public void exifRotationWithManualRotation() { Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap result = transformResult(data, source, ORIENTATION_ROTATE_90); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("rotate 90.0"); assertThat(shadowMatrix.getSetOperations()).containsEntry("rotate", "-45.0"); }
@Test public void rotation() { Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Request data = new Request.Builder(URI_1).rotate(-45).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getSetOperations()).containsEntry("rotate", "-45.0"); }
@Test public void pivotRotation() { Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Request data = new Request.Builder(URI_1).rotate(-45, 10, 10).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getSetOperations()).containsEntry("rotate", "-45.0 10.0 10.0"); }
@Test public void resize() { Bitmap source = Bitmap.createBitmap(10, 10, ARGB_8888); Request data = new Request.Builder(URI_1).resize(20, 15).build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 2.0 1.5"); }
@Test public void centerInsideTallTooSmall() { Bitmap source = Bitmap.createBitmap(20, 10, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).centerInside().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 2.5 2.5"); }
@Test public void centerInsideTallTooLarge() { Bitmap source = Bitmap.createBitmap(100, 50, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).centerInside().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.5 0.5"); }
@Test public void centerInsideWideTooSmall() { Bitmap source = Bitmap.createBitmap(10, 20, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).centerInside().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 2.5 2.5"); }
@Test public void centerInsideWideTooLarge() { Bitmap source = Bitmap.createBitmap(50, 100, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).centerInside().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.5 0.5"); }
@Test public void onlyScaleDownOriginalBigger() { Bitmap source = Bitmap.createBitmap(100, 100, ARGB_8888); Request data = new Request.Builder(URI_1).resize(50, 50).onlyScaleDown().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.5 0.5"); }
@Test public void onlyScaleDownOriginalBiggerWidthIs0() { Bitmap source = Bitmap.createBitmap(50, 50, ARGB_8888); Request data = new Request.Builder(URI_1).resize(0, 40).onlyScaleDown().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.8 0.8"); }
@Test public void onlyScaleDownOriginalBiggerHeightIs0() { Bitmap source = Bitmap.createBitmap(50, 50, ARGB_8888); Request data = new Request.Builder(URI_1).resize(40, 0).onlyScaleDown().build(); Bitmap result = transformResult(data, source, 0); ShadowBitmap shadowBitmap = shadowOf(result); assertThat(shadowBitmap.getCreatedFromBitmap()).isSameAs(source); Matrix matrix = shadowBitmap.getCreatedFromMatrix(); ShadowMatrix shadowMatrix = shadowOf(matrix); assertThat(shadowMatrix.getPreOperations()).containsExactly("scale 0.8 0.8"); }