From 2b25ecbe5f41656481f4adec39db05514406ca0c Mon Sep 17 00:00:00 2001 From: Ivan_Kishkan Date: Mon, 28 Sep 2020 13:58:31 +0400 Subject: [PATCH] - upd date test - add copyFile test --- fileRepository/source/TestFileToCopy.txt | 4 + .../epam/izh/rd/online/DateServiceTest.java | 2 +- .../izh/rd/online/FileRepositoryTest.java | 116 ++++++++++++------ 3 files changed, 81 insertions(+), 41 deletions(-) create mode 100644 fileRepository/source/TestFileToCopy.txt diff --git a/fileRepository/source/TestFileToCopy.txt b/fileRepository/source/TestFileToCopy.txt new file mode 100644 index 00000000..e4c32287 --- /dev/null +++ b/fileRepository/source/TestFileToCopy.txt @@ -0,0 +1,4 @@ +test +1 +2 +текст \ No newline at end of file diff --git a/src/test/java/com/epam/izh/rd/online/DateServiceTest.java b/src/test/java/com/epam/izh/rd/online/DateServiceTest.java index c00c3609..d777ab0f 100644 --- a/src/test/java/com/epam/izh/rd/online/DateServiceTest.java +++ b/src/test/java/com/epam/izh/rd/online/DateServiceTest.java @@ -55,7 +55,7 @@ void testGetNextLeapYear() { .findFirst() .getAsInt(); - assertEquals(2020, dateService.getNextLeapYear(), + assertEquals(2024, dateService.getNextLeapYear(), "Для вызова метода: dateService.getNextLeapYear()"); } diff --git a/src/test/java/com/epam/izh/rd/online/FileRepositoryTest.java b/src/test/java/com/epam/izh/rd/online/FileRepositoryTest.java index 87dad34f..d581bac2 100644 --- a/src/test/java/com/epam/izh/rd/online/FileRepositoryTest.java +++ b/src/test/java/com/epam/izh/rd/online/FileRepositoryTest.java @@ -2,6 +2,11 @@ import com.epam.izh.rd.online.repository.FileRepository; import com.epam.izh.rd.online.repository.SimpleFileRepository; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.stream.Stream; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -15,58 +20,89 @@ public class FileRepositoryTest { - private static final String TEST_DIR_COUNT_PATH = "testDirCountFiles"; - private static final String TEST_DIR_CREATE_PATH = "testDirCreateFile"; - private static final String TEST_FILE_TO_CREATE = "newFile.txt"; + private static final String TEST_DIR_COUNT_PATH = "testDirCountFiles"; + private static final String TEST_DIR_CREATE_PATH = "testDirCreateFile"; + private static final String TEST_FILE_TO_CREATE = "newFile.txt"; + private static final String SOURCE_FILE = "fileRepository/source/TestFileToCopy.txt"; + private static final String COPY_FILE = "fileRepository/copy/TestFileToCopy.txt"; - private static FileRepository fileRepository; + private static FileRepository fileRepository; - @BeforeAll - static void setup() { - fileRepository = new SimpleFileRepository(); - } + @BeforeAll + static void setup() { + fileRepository = new SimpleFileRepository(); + } - @BeforeEach - void clean() { - File file = getFile(TEST_DIR_CREATE_PATH + "/" + TEST_FILE_TO_CREATE); - if (file.exists()) { - file.delete(); - } + @BeforeEach + void clean() { + File file = getFile(TEST_DIR_CREATE_PATH + "/" + TEST_FILE_TO_CREATE); + if (file.exists()) { + file.delete(); } + } - @Test - @DisplayName("Тест метода FileRepository.countDirsInDirectory(String path)") - void testCountDirsInDirectory() { - assertEquals(7, fileRepository.countDirsInDirectory(TEST_DIR_COUNT_PATH)); - } + @Test + @DisplayName("Тест метода FileRepository.countDirsInDirectory(String path)") + void testCountDirsInDirectory() { + assertEquals(7, fileRepository.countDirsInDirectory(TEST_DIR_COUNT_PATH)); + } - @Test - @DisplayName("Тест метода FileRepository.countFilesInDirectory(String path)") - void testCountFilesInDirectory() { - assertEquals(10, fileRepository.countFilesInDirectory(TEST_DIR_COUNT_PATH)); - } + @Test + @DisplayName("Тест метода FileRepository.countFilesInDirectory(String path)") + void testCountFilesInDirectory() { + assertEquals(10, fileRepository.countFilesInDirectory(TEST_DIR_COUNT_PATH)); + } + + @Test + @DisplayName("Тест метода FileRepository.copyTXTFiles(String from, String to)") + void testCopyTXTFiles() { + final File emptyFile = getFile(COPY_FILE); + assertEquals("", emptyFile.getName()); + fileRepository.copyTXTFiles(SOURCE_FILE, COPY_FILE); + final File sourceFile = new File(SOURCE_FILE); + final String sourceContent = readLineByLineJava(sourceFile.getAbsolutePath()); + final File copyFile = new File(COPY_FILE); + final String copyContent = readLineByLineJava(copyFile.getAbsolutePath()); - @Test - @DisplayName("Тест метода FileRepository.createFile(String path)") - void testCreateFile() { - fileRepository.createFile(TEST_DIR_CREATE_PATH, TEST_FILE_TO_CREATE); + assertEquals(sourceContent, copyContent); - assertTrue(getFile(TEST_DIR_CREATE_PATH + "/" + TEST_FILE_TO_CREATE).exists()); + if (copyFile.exists()) { + copyFile.delete(); } + } + + @Test + @DisplayName("Тест метода FileRepository.createFile(String path)") + void testCreateFile() { + fileRepository.createFile(TEST_DIR_CREATE_PATH, TEST_FILE_TO_CREATE); + + assertTrue(getFile(TEST_DIR_CREATE_PATH + "/" + TEST_FILE_TO_CREATE).exists()); + } + + @Test + @DisplayName("Тест метода FileRepository.readFileFromResources(String fileName)") + void testReadFileFromResources() { + assertEquals("Ya-hoo!", fileRepository.readFileFromResources("readme.txt")); + } + + private String readLineByLineJava(String filePath) { + StringBuilder contentBuilder = new StringBuilder(); - @Test - @DisplayName("Тест метода FileRepository.readFileFromResources(String fileName)") - void testReadFileFromResources() { - assertEquals("Ya-hoo!", fileRepository.readFileFromResources("readme.txt")); + try (Stream stream = Files.lines(Paths.get(filePath), StandardCharsets.UTF_8)) { + stream.forEach(s -> contentBuilder.append(s).append("\n")); + } catch (IOException e) { + e.printStackTrace(); } + return contentBuilder.toString(); + } - private File getFile(String path) { - ClassLoader classLoader = getClass().getClassLoader(); - URL resource = classLoader.getResource(path); - if (resource != null) { - return new File(resource.getFile()); - } - return new File(""); + private File getFile(String path) { + ClassLoader classLoader = getClass().getClassLoader(); + URL resource = classLoader.getResource(path); + if (resource != null) { + return new File(resource.getFile()); } + return new File(""); + } }