Skip to content
Snippets Groups Projects
Commit e0269474 authored by Benedikt Wetzel's avatar Benedikt Wetzel Committed by Sören Henning
Browse files

Add test for IOHandler

parent cbae6dfe
No related branches found
No related tags found
4 merge requests!159Re-implementation of Theodolite with Kotlin/Quarkus,!157Update Graal Image in CI pipeline,!138Load execution ID from file,!83WIP: Re-implementation of Theodolite with Kotlin/Quarkus
......@@ -4,7 +4,6 @@ import com.google.gson.GsonBuilder
import mu.KotlinLogging
import java.io.File
import java.io.PrintWriter
import java.lang.IllegalArgumentException
private val logger = KotlinLogging.logger {}
......
package theodolite.util
import com.google.gson.GsonBuilder
import io.quarkus.test.junit.QuarkusTest
import org.junit.Rule
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
import org.junit.rules.TemporaryFolder
const val FOLDER_URL = "Test-Folder"
@QuarkusTest
internal class IOHandlerTest {
@Rule
var temporaryFolder = TemporaryFolder()
@Test
fun testWriteStringToText() {
temporaryFolder.create()
val testContent = "Test-File-Content"
val folder = temporaryFolder.newFolder(FOLDER_URL)
IOHandler().writeStringToTextFile(
fileURL = "${folder.absolutePath}/test-file.txt",
data = testContent)
assertEquals(
testContent,
IOHandler().readFileAsString("${folder.absolutePath}/test-file.txt")
)
}
@Test
fun testWriteToCSVFile() {
temporaryFolder.create()
val folder = temporaryFolder.newFolder(FOLDER_URL)
val testContent = listOf(
listOf("apples","red"),
listOf("bananas","yellow"),
listOf("avocado","brown"))
val columns = listOf("Fruit", "Color")
IOHandler().writeToCSVFile(
fileURL = "${folder.absolutePath}/test-file",
data = testContent,
columns = columns)
var expected = "Fruit,Color\n"
testContent.forEach { expected += it[0] + "," + it[1] + "\n" }
assertEquals(
expected.trim(),
IOHandler().readFileAsString("${folder.absolutePath}/test-file.csv")
)
}
@Test
fun testWriteToJSONFile() {
temporaryFolder.create()
val folder = temporaryFolder.newFolder(FOLDER_URL)
val testContent = Resource(0, emptyList())
IOHandler().writeToJSONFile(
fileURL = "${folder.absolutePath}/test-file.json",
objectToSave = testContent)
val expected = GsonBuilder().enableComplexMapKeySerialization().setPrettyPrinting().create().toJson(testContent)
assertEquals(
expected,
IOHandler().readFileAsString("${folder.absolutePath}/test-file.json")
)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment