67 lines
2.2 KiB
Kotlin
67 lines
2.2 KiB
Kotlin
package com.example.hpostesting
|
|
|
|
import android.content.Context
|
|
import com.example.hpostesting.data.CsvWriter
|
|
import org.junit.Assert
|
|
import org.junit.Before
|
|
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)
|
|
class CsvWriterTest {
|
|
|
|
private lateinit var csvWriter: CsvWriter
|
|
private lateinit var context: Context
|
|
|
|
@Before
|
|
fun setUp() {
|
|
context = androidx.test.core.app.ApplicationProvider.getApplicationContext()
|
|
csvWriter = CsvWriter(context)
|
|
}
|
|
|
|
@Test
|
|
fun writeCsv_Success() {
|
|
// Arrange
|
|
val fileName = "test.csv"
|
|
val data = listOf(
|
|
arrayOf("1", "A", "1990", "Positive", "2024-02-04", "image_url1", "John Doe"),
|
|
arrayOf("2", "B", "1985", "Negative", "2024-02-05", "image_url2", "Jane Doe")
|
|
)
|
|
|
|
// Act
|
|
val result = csvWriter.writeCsv(fileName, data)
|
|
|
|
// Assert
|
|
Assert.assertTrue(result)
|
|
}
|
|
|
|
// @Test
|
|
// fun writeCsv_Failure() {
|
|
// // Arrange
|
|
// val fileName = "test.csv"
|
|
// val data = listOf(
|
|
// arrayOf("1", "A", "1990", "Positive", "2024-02-04", "image_url1", "John Doe"),
|
|
// arrayOf("2", "B", "1985", "Negative", "2024-02-05", "image_url2", "Jane Doe")
|
|
// )
|
|
//
|
|
// // Mocking Environment.getExternalStorageDirectory()
|
|
// val mockFile = Mockito.mock(File::class.java)
|
|
// Mockito.`when`(Environment.getExternalStorageDirectory()).thenReturn(mockFile)
|
|
// Mockito.`when`(mockFile.exists()).thenReturn(true)
|
|
//
|
|
// // Mocking FileWriter to simulate IOException
|
|
// val mockWriter = Mockito.mock(FileWriter::class.java)
|
|
// Mockito.`when`(mockWriter.write(Mockito.anyString())).thenThrow(IOException::class.java)
|
|
// Mockito.`when`(mockFile.absolutePath).thenReturn("/fake/path/to/file.csv")
|
|
// Mockito.`when`(FileWriter(mockFile)).thenReturn(mockWriter)
|
|
//
|
|
// // Act
|
|
// val result = csvWriter.writeCsv(fileName, data)
|
|
//
|
|
// // Assert
|
|
// Assert.assertFalse("Expected writeCsv to fail", result)
|
|
// }
|
|
} |