Improve tests & validate FSEntry names #4

Merged
cyclane merged 6 commits from improve-tests into main 2024-01-07 16:09:24 +00:00
1 changed files with 23 additions and 22 deletions
Showing only changes of commit 726980a669 - Show all commits

View File

@ -1,9 +1,10 @@
package filesystem
import org.junit.jupiter.api.*
import java.nio.file.Files
import java.nio.file.Path
import java.io.File
import java.util.concurrent.TimeUnit
import kotlin.io.path.Path
import kotlin.io.path.createDirectory
import kotlin.test.Test
import kotlin.test.assertEquals
@ -13,17 +14,26 @@ class FSCreatorTest {
@BeforeEach
fun `before each`() {
assertDoesNotThrow("should create _tmp directory") {
Files.createDirectory(Path.of("_tmp"))
Path("_tmp").createDirectory()
}
}
@AfterEach
fun `after each`() {
assertDoesNotThrow("should delete _tmp directory") {
deleteRecursive(Path.of("_tmp"))
File("_tmp").deleteRecursively()
}
}
@Test
fun `create file`() {
val file = FSFile("test.txt", "This is a file")
assertDoesNotThrow("should create file") {
creator.create(file, "_tmp")
}
assertEquals(file.content, File("_tmp/", file.name).readText())
}
@Test
fun `create entries`() {
val readme = FSFile("README", "Hello World!")
@ -61,10 +71,10 @@ class FSCreatorTest {
}
// If objects don't exist, these functions will throw anyway, so don't explicitly check for existence.
// Similarly, don't explicitly check if an object is a directory.
assertEquals(readme.content, Files.readString(Path.of("_tmp/folder", readme.name)))
assertEquals(gomod.content, Files.readString(Path.of("_tmp/folder", gomod.name)))
assertEquals(maingo.content, Files.readString(Path.of("_tmp/folder", maingo.name)))
assertEquals(helloworldgo.content, Files.readString(Path.of("_tmp/folder/utils", helloworldgo.name)))
assertEquals(readme.content, File("_tmp/folder", readme.name).readText())
assertEquals(gomod.content, File("_tmp/folder", gomod.name).readText())
assertEquals(maingo.content, File("_tmp/folder", maingo.name).readText())
assertEquals(helloworldgo.content, File("_tmp/folder/utils", helloworldgo.name).readText())
}
@Test
@ -111,11 +121,11 @@ class FSCreatorTest {
"_tmp",
)
}
assertEquals("hi", Files.readString(Path.of("_tmp/folder/sub-folder/hi")))
assertEquals("P4ssW0rd", Files.readString(Path.of("_tmp/folder/folder/secrets/secret")))
assertEquals("One is a good number", Files.readString(Path.of("_tmp/folder/1.txt")))
assertEquals("Two!", Files.readString(Path.of("_tmp/folder/2.txt")))
assertEquals("Three!", Files.readString(Path.of("_tmp/folder/3.txt")))
assertEquals("hi", File("_tmp/folder/sub-folder/hi").readText())
assertEquals("P4ssW0rd", File("_tmp/folder/folder/secrets/secret").readText())
assertEquals("One is a good number", File("_tmp/folder/1.txt").readText())
assertEquals("Two!", File("_tmp/folder/2.txt").readText())
assertEquals("Three!", File("_tmp/folder/3.txt").readText())
}
@Test
@ -142,13 +152,4 @@ class FSCreatorTest {
creator.create(folder4, "_tmp")
}
}
}
fun deleteRecursive(path: Path) {
if (Files.isDirectory(path)) {
for (child in Files.list(path)) {
deleteRecursive(child)
}
}
Files.delete(path)
}