Как записать растровое изображение в файл, а затем прочитать его как растровое изображение с помощью Robolectric?
Я хочу написать тест для сохранения растрового изображения в виде файла и его извлечения. Я создал растровое изображение шириной 200 и высотой и записал его в файл. Но когда я читаю из файла, его ширина всегда возвращается как 100 из-за какой-то ошибки.
@RunWith(RobolectricTestRunner::class)
class ViewModelTest {
private var tempFile: File? = null
@Before
@Throws(Exception::class)
fun setUp() {
val cacheDir = ApplicationProvider.getApplicationContext<Application>().cacheDir
cacheDir.mkdir()
tempFile = File(cacheDir, "temp.jpeg")
}
@Test
fun bitmapTest() {
val sampleBitmap = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888)
if (tempFile?.exists() == true)
tempFile?.delete()
try {
val out = FileOutputStream(tempFile)
sampleBitmap?.compress(Bitmap.CompressFormat.JPEG, 100, out)
out.flush()
out.close()
} catch (e: Exception) {
e.printStackTrace()
}
val bitmap = BitmapFactory.decodeStream(FileInputStream(tempFile))
assertEquals(200, bitmap.height)
}
}