From 726980a669d39a80eb69c3d3f2c2c00e92e1a493 Mon Sep 17 00:00:00 2001 From: Gleb Koval Date: Fri, 5 Jan 2024 17:09:45 +0000 Subject: [PATCH] Test create file & cleanup --- src/test/kotlin/filesystem/FSCreatorTest.kt | 45 +++++++++++---------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/src/test/kotlin/filesystem/FSCreatorTest.kt b/src/test/kotlin/filesystem/FSCreatorTest.kt index ab7c2df..77c20fd 100644 --- a/src/test/kotlin/filesystem/FSCreatorTest.kt +++ b/src/test/kotlin/filesystem/FSCreatorTest.kt @@ -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) } \ No newline at end of file