| package com.android.tv.util; |
| |
| import android.graphics.Bitmap; |
| import android.support.test.filters.SmallTest; |
| import android.test.AndroidTestCase; |
| |
| import com.android.tv.util.BitmapUtils.ScaledBitmapInfo; |
| |
| /** |
| * Tests for {@link ScaledBitmapInfo}. |
| */ |
| @SmallTest |
| public class ScaledBitmapInfoTest extends AndroidTestCase { |
| private static final Bitmap B80x100 = Bitmap.createBitmap(80, 100, Bitmap.Config.RGB_565); |
| private static final Bitmap B960x1440 = Bitmap.createBitmap(960, 1440, Bitmap.Config.RGB_565); |
| |
| public void testSize_B100x100to50x50() { |
| ScaledBitmapInfo actual = BitmapUtils.createScaledBitmapInfo("B80x100", B80x100, 50, 50); |
| assertScaledBitmapSize(2, 40, 50, actual); |
| } |
| |
| public void testNeedsToReload_B100x100to50x50() { |
| ScaledBitmapInfo actual = BitmapUtils.createScaledBitmapInfo("B80x100", B80x100, 50, 50); |
| assertNeedsToReload(false, actual, 25, 25); |
| assertNeedsToReload(false, actual, 50, 50); |
| assertNeedsToReload(false, actual, 99, 99); |
| assertNeedsToReload(true, actual, 100, 100); |
| assertNeedsToReload(true, actual, 101, 101); |
| } |
| |
| /** |
| * Reproduces <a href="http://b/20488453">b/20488453</a>. |
| */ |
| public void testBug20488453() { |
| ScaledBitmapInfo actual = BitmapUtils |
| .createScaledBitmapInfo("B960x1440", B960x1440, 284, 160); |
| assertScaledBitmapSize(8, 107, 160, actual); |
| assertNeedsToReload(false, actual, 284, 160); |
| } |
| |
| private static void assertNeedsToReload(boolean expected, ScaledBitmapInfo scaledBitmap, |
| int reqWidth, int reqHeight) { |
| assertEquals(scaledBitmap.id + " needToReload(" + reqWidth + "," + reqHeight + ")", |
| expected, scaledBitmap.needToReload(reqWidth, reqHeight)); |
| } |
| |
| private static void assertScaledBitmapSize(int expectedInSampleSize, int expectedWidth, |
| int expectedHeight, ScaledBitmapInfo actual) { |
| assertEquals(actual.id + " inSampleSize", expectedInSampleSize, actual.inSampleSize); |
| assertEquals(actual.id + " width", expectedWidth, actual.bitmap.getWidth()); |
| assertEquals(actual.id + " height", expectedHeight, actual.bitmap.getHeight()); |
| } |
| } |