From f908785891795f8dfcd8faf8c3f8ad55e0a895d6 Mon Sep 17 00:00:00 2001 From: Simon Grimme Date: Thu, 20 Oct 2022 14:31:59 +0300 Subject: [PATCH] Finished FilenameUtilTest --- .../gameyfin/util/FilenameUtilTest.java | 65 ++++++++++++++----- 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/backend/src/test/java/de/grimsi/gameyfin/util/FilenameUtilTest.java b/backend/src/test/java/de/grimsi/gameyfin/util/FilenameUtilTest.java index 9ea385b..306dcf5 100644 --- a/backend/src/test/java/de/grimsi/gameyfin/util/FilenameUtilTest.java +++ b/backend/src/test/java/de/grimsi/gameyfin/util/FilenameUtilTest.java @@ -2,14 +2,18 @@ package de.grimsi.gameyfin.util; import com.google.common.jimfs.Configuration; import com.google.common.jimfs.Jimfs; +import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import java.io.IOException; import java.nio.file.FileSystem; +import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; @@ -24,10 +28,16 @@ class FilenameUtilTest { private static final FileSystem unixFS = Jimfs.newFileSystem(Configuration.unix()); private static final FileSystem osxFS = Jimfs.newFileSystem(Configuration.osX()); private static final FileSystem winFS = Jimfs.newFileSystem(Configuration.windows()); + private static final List gameFileExtensions = List.of("extension_1", "extension_2", "extension_3"); + @BeforeAll + static void init() { + new FilenameUtil().setPossibleGameFileExtensions(gameFileExtensions); + } + @AfterAll - static void close() throws IOException { + static void closeFileSystems() throws IOException { unixFS.close(); osxFS.close(); winFS.close(); @@ -44,6 +54,8 @@ class FilenameUtilTest { String result = FilenameUtil.getFilenameWithoutExtension(p); assertThat(result).isEqualTo(filename); + + Files.deleteIfExists(p); } @ParameterizedTest @@ -57,30 +69,49 @@ class FilenameUtilTest { String result = FilenameUtil.getFilenameWithoutExtension(p); assertThat(result).isEqualTo("%s.%s".formatted(filename, gameFileExtensions.get(0))); + + Files.deleteIfExists(p); } - @Test - void getFilenameWithExtension_Unix() { + @ParameterizedTest + @MethodSource("fileSystems") + void getFilenameWithExtension(FileSystem fileSystem) throws IOException { + String filename = "example_file"; + + Path p = fileSystem.getPath("%s.%s".formatted(filename, gameFileExtensions.get(0))); + Files.createFile(p); + + String result = FilenameUtil.getFilenameWithExtension(p); + + assertThat(result).isEqualTo("%s.%s".formatted(filename, gameFileExtensions.get(0))); + + Files.deleteIfExists(p); } - @Test - void getFilenameWithExtension_OSX() { + @ParameterizedTest + @MethodSource("fileSystems") + void hasGameArchiveExtension_gameArchive(FileSystem fileSystem) throws IOException { + String filename = "example_file"; + + Path p = fileSystem.getPath("%s.%s".formatted(filename, gameFileExtensions.get(0))); + Files.createFile(p); + + assertThat(FilenameUtil.hasGameArchiveExtension(p)).isTrue(); + + Files.deleteIfExists(p); } - @Test - void getFilenameWithExtension_Windows() { - } + @ParameterizedTest + @MethodSource("fileSystems") + void hasGameArchiveExtension_notGameArchive(FileSystem fileSystem) throws IOException { + String filename = "example_file"; - @Test - void hasGameArchiveExtension_Unix() { - } + Path p = fileSystem.getPath("%s.%s".formatted(filename, "some_other_extension")); + Files.createFile(p); - @Test - void hasGameArchiveExtension_OSX() { - } + assertThat(FilenameUtil.hasGameArchiveExtension(p)).isFalse(); - @Test - void hasGameArchiveExtension_Windows() { + Files.deleteIfExists(p); } private static Stream fileSystems() {