package com.bumptech.glide.util;
import static org.junit.Assert.assertEquals;
import android.graphics.Bitmap;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = Config.NONE, sdk = 18)
public class UtilTest {
@Test
public void testReturnsCorrectBitmapSizeForDifferentDimensions() {
int width = 100;
int height = 100;
Bitmap.Config config = Bitmap.Config.ARGB_8888;
int initialSize = Util.getBitmapByteSize(width, height, config);
int sizeOne = Util.getBitmapByteSize(width * 2, height, config);
int sizeTwo = Util.getBitmapByteSize(width, height * 2, config);
assertEquals(4 * width * height, initialSize);
assertEquals(2 * initialSize, sizeOne);
assertEquals(2 * initialSize, sizeTwo);
}
@Test
public void testReturnsCorrectBitmapSizeForAlpha8Bitmap() {
int width = 110;
int height = 43;
int size = Util.getBitmapByteSize(width, height, Bitmap.Config.ALPHA_8);
assertEquals(width * height, size);
}
@Test
public void testReturnsCorrectBitmapSizeForRgb565() {
int width = 34;
int height = 1444;
int size = Util.getBitmapByteSize(width, height, Bitmap.Config.RGB_565);
assertEquals(width * height * 2, size);
}
@Test
public void testReturnsCorrectBitmapSizeForARGB4444() {
int width = 4454;
int height = 1235;
int size = Util.getBitmapByteSize(width, height, Bitmap.Config.ARGB_4444);
assertEquals(width * height * 2, size);
}
@Test
public void testReturnsCorrectBitmapSizeForARGB8888() {
int width = 943;
int height = 3584;
int size = Util.getBitmapByteSize(width, height, Bitmap.Config.ARGB_8888);
assertEquals(width * height * 4, size);
}
@Test
public void testReturnsLargestSizeForNullConfig() {
int width = 999;
int height = 41324;
int size = Util.getBitmapByteSize(width, height, null);
assertEquals(width * height * 4, size);
}
}