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.nio.file.Files;
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")
class ReadFileTest {
@ -22,28 +25,31 @@ class ReadFileTest {
@Test
@DisplayName("Empty file name in `filename` parameter")
void emptyFileName() {
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(""));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(Path.of("")));
}
@Test
@DisplayName("Empty file name in `filename` parameter")
void invalidFileExtension() throws IOException {
// Create files with wrong file extensions
Files.createFile(tempDir.resolve("emails.csv"));
Files.createFile(tempDir.resolve("emails"));
Files.createFile(tempDir.resolve("emails.xlsx"));
Files.createFile(tempDir.resolve("emails.db"));
Path csv = Files.createFile(tempDir.resolve("emails.csv"));
Path empty = Files.createFile(tempDir.resolve("emails"));
Path xlsx = Files.createFile(tempDir.resolve("emails.xlsx"));
Path db = Files.createFile(tempDir.resolve("emails.db"));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("emails.csv"));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("emails"));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("emails.xlsx"));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open("emails.db"));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(csv));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(empty));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(xlsx));
assertThrowsExactly(IllegalArgumentException.class, () -> ReadFile.open(db));
}
@Test
@DisplayName("Trying to open non-existent file")
void nonExistentFile() {
assertThrowsExactly(RuntimeException.class, () -> ReadFile.open("doesNotExist.txt"));
void nonExistentFile() throws IOException {
Path nonExistent = Files.createFile(tempDir.resolve("doesNotExist.txt"));
Files.delete(nonExistent);
assertThrowsExactly(RuntimeException.class, () -> ReadFile.open(nonExistent));
}
}
}