Test create file & cleanup

This commit is contained in:
Gleb Koval 2024-01-05 17:09:45 +00:00
parent ca221f1907
commit efc11deb6e
Signed by: cyclane
GPG Key ID: 15E168A8B332382C
1 changed files with 23 additions and 22 deletions

View File

@ -1,10 +1,11 @@
package filesystem
import org.junit.jupiter.api.*
import java.io.File
import java.nio.file.FileSystemException
import java.nio.file.Files
import java.nio.file.Path
import java.util.concurrent.TimeUnit
import kotlin.io.path.Path
import kotlin.io.path.createDirectory
import kotlin.test.Test
import kotlin.test.assertEquals
@ -14,17 +15,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!")
@ -62,10 +72,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
@ -112,11 +122,11 @@ class FSCreatorTest {
"_tmp",
)
}
assertEquals("hi", Files.readString(Path.of("_tmp/folder/sub-folder/hi")))
assertEquals("P4ssW0rd", Files.readString(Path.of("_tmp/folder/another-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/another-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
@ -129,13 +139,4 @@ class FSCreatorTest {
creator.create(folder, "_tmp")
}
}
}
fun deleteRecursive(path: Path) {
if (Files.isDirectory(path)) {
for (child in Files.list(path)) {
deleteRecursive(child)
}
}
Files.delete(path)
}