| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package pl.dmcs;
- import org.apache.commons.lang3.tuple.Pair;
- import org.junit.jupiter.api.Test;
- import org.junit.jupiter.api.io.TempDir;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.nio.file.Path;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- import static org.junit.jupiter.api.Assertions.*;
- public class DataLoaderTest {
- @TempDir
- Path tempDir;
- private File createTempFileWithData(String userData, List<String> recipients) throws IOException {
- File tempFile = tempDir.resolve("testdata.csv").toFile();
- try (BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile))) {
- writer.write(userData);
- writer.write("\n");
- for (String recipient : recipients) {
- writer.write(recipient);
- writer.write("\n");
- }
- }
- return tempFile;
- }
- private void assertUserData(User expectedUser, List<String> expectedRecipients, Pair<User, List<String>> result) {
- User actualUser = result.getLeft();
- List<String> actualRecipients = result.getRight();
- assertEquals(expectedUser.getFirstName(), actualUser.getFirstName());
- assertEquals(expectedUser.getLastName(), actualUser.getLastName());
- assertEquals(expectedUser.getEmail(), actualUser.getEmail());
- assertEquals(expectedRecipients, actualRecipients);
- }
- @Test
- public void testLoadData() throws IOException {
- File tempFile = createTempFileWithData("John,Doe,john.doe@example.com",
- Arrays.asList("recipient1@example.com", "recipient2@example.com", "recipient3@example.com"));
- User expectedUser = new User("John", "Doe", "john.doe@example.com");
- List<String> expectedRecipients = Arrays.asList("recipient1@example.com", "recipient2@example.com", "recipient3@example.com");
- Pair<User, List<String>> result = DataLoader.loadData(tempFile.getAbsolutePath());
- assertUserData(expectedUser, expectedRecipients, result);
- }
- @Test
- public void testLoadDataEmptyRecipients() throws IOException {
- File tempFile = createTempFileWithData("John,Doe,john.doe@example.com", Collections.emptyList());
- User expectedUser = new User("John", "Doe", "john.doe@example.com");
- List<String> expectedRecipients = Collections.emptyList();
- Pair<User, List<String>> result = DataLoader.loadData(tempFile.getAbsolutePath());
- assertUserData(expectedUser, expectedRecipients, result);
- }
- @Test
- public void testLoadDataInvalidFile() {
- assertThrows(IOException.class, () -> {
- DataLoader.loadData("invalid/path/to/file.csv");
- });
- }
- }
|