@Before public void before() { def = new ImageSizeResolverDef(); }
w = (int) (canvasWidth * (width.value / 100.F) + .5F); } else { w = resolveAbsolute(width, imageWidth, textSize); h = (int) (w / ratio + .5F); } else { h = resolveAbsolute(height, imageHeight, textSize); final int h = resolveAbsolute(height, imageHeight, textSize); final int w = (int) (h * ratio + .5F); rect = new Rect(0, 0, w, h);
@Test public void no_image_size_width_greater_than_canvas() { // image must be scaled (with ratio) wo fit canvas width final Rect rect = new Rect(0, 0, 10, 20); assertEquals( new Rect(0, 0, 8, 16), def.resolveImageSize( null, rect, 8, Float.NaN ) ); }
@Before public void before() { imageSizeResolver = new ImageSizeResolverDef(); }
@Test public void no_image_size() { // no image size returns image original bounds final Rect rect = new Rect(0, 0, 15, 43); assertEquals(rect, def.resolveImageSize(null, rect, 15, Float.NaN)); }
imageSizeResolver = new ImageSizeResolverDef();
@Test public void width_percent_scales_keeps_ratio() { final Rect rect = new Rect(0, 0, 10, 20); assertEquals( new Rect(0, 0, 50, 100), def.resolveImageSize( new ImageSize(new Dimension(50.F, UNIT_PERCENT), null), rect, 100, Float.NaN ) ); }
@Test public void relative_text_size_height_keeps_width_ratio() { final Rect rect = new Rect(0, 0, 4, 12); assertEquals( new Rect(0, 0, 10, 30), def.resolveImageSize( new ImageSize(null, new Dimension(3.F, UNIT_EM)), rect, 40, 10.F ) ); } }
@Test public void width_text_size_relative_height_keeps_ratio() { final Rect rect = new Rect(0, 0, 15, 30); assertEquals( new Rect(0, 0, 10, 20), def.resolveImageSize( new ImageSize(new Dimension(1.F, UNIT_EM), null), rect, 42, 10.F ) ); }
@Test public void absolute_height_keeps_width_ratio() { final Rect rect = new Rect(0, 0, 50, 25); assertEquals( new Rect(0, 0, 100, 50), def.resolveImageSize( new ImageSize(null, new Dimension(50, "px")), rect, 200, Float.NaN ) ); }
@Test public void height_percent_not_used() { final Rect rect = new Rect(1, 2, 3, 4); assertEquals( rect, def.resolveImageSize( new ImageSize(null, new Dimension(100.F, UNIT_PERCENT)), rect, -1, Float.NaN ) ); }
@Test public void unknown_dimension_considered_absolute() { final Rect rect = new Rect(0, 0, 22, 33); assertEquals( new Rect(0, 0, 7, 9), def.resolveImageSize( new ImageSize(new Dimension(7, "width"), new Dimension(9, "height")), rect, 90, Float.NaN ) ); }
@Test public void width_height_text_size_relative() { final Rect rect = new Rect(0, 0, 100, 200); assertEquals( new Rect(0, 0, 20, 40), def.resolveImageSize( new ImageSize(new Dimension(2.f, UNIT_EM), new Dimension(4.F, UNIT_EM)), rect, 999, 10.F ) ); }