feat: add path argument for ReadFile

This commit is contained in:
Anthony Berg 2024-10-17 18:24:52 +02:00
parent d1ba0f9d84
commit e3a7f339f2

View File

@ -6,8 +6,11 @@ import org.junit.jupiter.api.io.TempDir;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrowsExactly;
@DisplayName("ReadFile class functions test") @DisplayName("ReadFile class functions test")
class ReadFileTest { class ReadFileTest {
@ -22,28 +25,31 @@ class ReadFileTest {
@Test @Test
@DisplayName("Empty file name in `filename` parameter") @DisplayName("Empty file name in `filename` parameter")
void emptyFileName() { void emptyFileName() {
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("")); assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(Path.of("")));
} }
@Test @Test
@DisplayName("Empty file name in `filename` parameter") @DisplayName("Empty file name in `filename` parameter")
void invalidFileExtension() throws IOException { void invalidFileExtension() throws IOException {
// Create files with wrong file extensions // Create files with wrong file extensions
Files.createFile(tempDir.resolve("emails.csv")); Path csv = Files.createFile(tempDir.resolve("emails.csv"));
Files.createFile(tempDir.resolve("emails")); Path empty = Files.createFile(tempDir.resolve("emails"));
Files.createFile(tempDir.resolve("emails.xlsx")); Path xlsx = Files.createFile(tempDir.resolve("emails.xlsx"));
Files.createFile(tempDir.resolve("emails.db")); Path db = Files.createFile(tempDir.resolve("emails.db"));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("emails.csv")); assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(csv));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("emails")); assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(empty));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("emails.xlsx")); assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(xlsx));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("emails.db")); assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(db));
} }
@Test @Test
@DisplayName("Trying to open non-existent file") @DisplayName("Trying to open non-existent file")
void nonExistentFile() { void nonExistentFile() throws IOException {
assertThrowsExactly(RuntimeException.class, () -> ReadFile.open("doesNotExist.txt")); Path nonExistent = Files.createFile(tempDir.resolve("doesNotExist.txt"));
Files.delete(nonExistent);
assertThrowsExactly(RuntimeException.class, () -> ReadFile.open(nonExistent));
} }
} }
} }