Improve tests & validate FSEntry names #4
| @@ -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) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user