From 217f9594bdb7c45f7abc9621211b93de220242a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=BE=D0=BB=D0=BE=D0=B4=D0=B8=D0=BD=20=D0=93=D0=B5?= =?UTF-8?q?=D1=80=D0=BC=D0=B0=D0=BD?= Date: Mon, 31 Aug 2026 23:13:45 +0400 Subject: [PATCH] refactor(test): replace DataSourceReader tests with StudentCsvReader tests --- .../datasource/DataSourceReaderTest.java | 116 ---------------- .../ru/project/io/StudentCsvReaderTest.java | 127 ++++++++++++++++++ 2 files changed, 127 insertions(+), 116 deletions(-) delete mode 100644 app/src/test/java/ru/project/datasource/DataSourceReaderTest.java create mode 100644 app/src/test/java/ru/project/io/StudentCsvReaderTest.java diff --git a/app/src/test/java/ru/project/datasource/DataSourceReaderTest.java b/app/src/test/java/ru/project/datasource/DataSourceReaderTest.java deleted file mode 100644 index 740904c..0000000 --- a/app/src/test/java/ru/project/datasource/DataSourceReaderTest.java +++ /dev/null @@ -1,116 +0,0 @@ -package ru.project.datasource; - -import java.io.UncheckedIOException; -import java.util.NoSuchElementException; - -import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertNotSame; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.BeforeEach; - -import ru.project.collection.MyList; -import ru.project.collection.MyLinkedList; - -import ru.project.student.Student; -import ru.project.student.StudentBuilder; - -class DataSourceReaderTest{ - private StudentCsvReader valideReader; - //Testing StudentCsvReader - @BeforeEach - void setUp(){ - valideReader = new StudentCsvReader("C:\\Users\\Dexp\\TestData\\sample.csv"); - } - - @Test - void readerTestRejectRelativePath(){ - assertThrows(IllegalArgumentException.class, () -> new StudentCsvReader("/Users/Dexp/TestData/sample.csv")); - } - - @Test - void readerRejectPathIsDir(){ - assertThrows(UncheckedIOException.class, () -> new StudentCsvReader("C:\\Users\\Dexp\\TestData")); - } - - @Test - void readerTestFileNotExist(){ - assertThrows(UncheckedIOException.class, () -> new StudentCsvReader("C:\\Users\\Dexp\\TestData\\sss.csv")); - } - - @Test - void testSkipsHeader(){ - Student student = valideReader.next(); - assertTrue(!(student.getGroupNumber()=="groupNumber")); - } - - @Test - void testCreationStudentOnValidData(){ - Student student = valideReader.next(); - assertEquals(student.getGroupNumber(), "A21"); - assertEquals(student.getAverageGrade(), 5.0); - assertEquals(student.getRecordBookNumber(), 331); - } - - @Test - void testNotSkippingFirstStudent(){ - boolean hn = valideReader.hasNext(); - hn = valideReader.hasNext(); - Student student = valideReader.next(); - assertEquals(student.getGroupNumber(), "A21"); - assertEquals(student.getAverageGrade(), 5.0); - assertEquals(student.getRecordBookNumber(), 331); - } - - @Test - void testValidEndsOfFile(){ - Student student = valideReader.next(); - student = valideReader.next(); - assertTrue(!valideReader.hasNext()); - } - - @Test - void testOutOfIndex(){ - assertThrows(NoSuchElementException.class, () -> { - Student student = valideReader.next(); - student = valideReader.next(); - student = valideReader.next(); - }); - } - - @Test - void readerTestRejectFewParametres(){ - assertThrows(IllegalArgumentException.class, () -> { - StudentCsvReader reader = new StudentCsvReader("C:\\Users\\Dexp\\TestData\\fewparameters.csv"); - Student student = reader.next(); - }); - } - - @Test - void readerTestRejectInvalidGroupNumber(){ - assertThrows(IllegalArgumentException.class, () -> { - StudentCsvReader reader = new StudentCsvReader("C:\\Users\\Dexp\\TestData\\invalid_groupnumber.csv"); - Student student = reader.next(); - }); - } - - @Test - void readerTestRejectInvalidAverageGrade(){ - assertThrows(IllegalArgumentException.class, () -> { - StudentCsvReader reader = new StudentCsvReader("C:\\Users\\Dexp\\TestData\\invalid_averagegrade.csv"); - Student student = reader.next(); - }); - } - - @Test - void readerTestRejectInvalidRecordBookNumber(){ - assertThrows(IllegalArgumentException.class, () -> { - StudentCsvReader reader = new StudentCsvReader("C:\\Users\\Dexp\\TestData\\invalid_recordbooknumber.csv"); - Student student = reader.next(); - }); - } -} \ No newline at end of file diff --git a/app/src/test/java/ru/project/io/StudentCsvReaderTest.java b/app/src/test/java/ru/project/io/StudentCsvReaderTest.java new file mode 100644 index 0000000..60db7de --- /dev/null +++ b/app/src/test/java/ru/project/io/StudentCsvReaderTest.java @@ -0,0 +1,127 @@ +package ru.project.io; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.UncheckedIOException; +import java.util.NoSuchElementException; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import ru.project.student.Student; + +class StudentCsvReaderTest { + private StudentCsvReader valideReader; + + // Testing StudentCsvReader + @BeforeEach + void setUp() { + valideReader = new StudentCsvReader("C:\\Users\\Dexp\\TestData\\sample.csv"); + } + + @Test + void readerTestRejectRelativePath() { + assertThrows( + IllegalArgumentException.class, + () -> new StudentCsvReader("/Users/Dexp/TestData/sample.csv")); + } + + @Test + void readerRejectPathIsDir() { + assertThrows( + UncheckedIOException.class, () -> new StudentCsvReader("C:\\Users\\Dexp\\TestData")); + } + + @Test + void readerTestFileNotExist() { + assertThrows( + UncheckedIOException.class, + () -> new StudentCsvReader("C:\\Users\\Dexp\\TestData\\sss.csv")); + } + + @Test + void testSkipsHeader() { + Student student = valideReader.next(); + assertTrue(!(student.getGroupNumber() == "groupNumber")); + } + + @Test + void testCreationStudentOnValidData() { + Student student = valideReader.next(); + assertEquals(student.getGroupNumber(), "A21"); + assertEquals(student.getAverageGrade(), 5.0); + assertEquals(student.getRecordBookNumber(), 331); + } + + @Test + void testNotSkippingFirstStudent() { + boolean hn = valideReader.hasNext(); + hn = valideReader.hasNext(); + Student student = valideReader.next(); + assertEquals(student.getGroupNumber(), "A21"); + assertEquals(student.getAverageGrade(), 5.0); + assertEquals(student.getRecordBookNumber(), 331); + } + + @Test + void testValidEndsOfFile() { + Student student = valideReader.next(); + student = valideReader.next(); + assertTrue(!valideReader.hasNext()); + } + + @Test + void testOutOfIndex() { + assertThrows( + NoSuchElementException.class, + () -> { + Student student = valideReader.next(); + student = valideReader.next(); + student = valideReader.next(); + }); + } + + @Test + void readerTestRejectFewParametres() { + assertThrows( + IllegalArgumentException.class, + () -> { + StudentCsvReader reader = + new StudentCsvReader("C:\\Users\\Dexp\\TestData\\fewparameters.csv"); + Student student = reader.next(); + }); + } + + @Test + void readerTestRejectInvalidGroupNumber() { + assertThrows( + IllegalArgumentException.class, + () -> { + StudentCsvReader reader = + new StudentCsvReader("C:\\Users\\Dexp\\TestData\\invalid_groupnumber.csv"); + Student student = reader.next(); + }); + } + + @Test + void readerTestRejectInvalidAverageGrade() { + assertThrows( + IllegalArgumentException.class, + () -> { + StudentCsvReader reader = + new StudentCsvReader("C:\\Users\\Dexp\\TestData\\invalid_averagegrade.csv"); + Student student = reader.next(); + }); + } + + @Test + void readerTestRejectInvalidRecordBookNumber() { + assertThrows( + IllegalArgumentException.class, + () -> { + StudentCsvReader reader = + new StudentCsvReader("C:\\Users\\Dexp\\TestData\\invalid_recordbooknumber.csv"); + Student student = reader.next(); + }); + } +}