test(student): add JUnit tests

This commit is contained in:
Артющик Анастасия
2026-08-24 21:14:09 +03:00
parent 5e71d27885
commit caf2c95dbb
2 changed files with 168 additions and 4 deletions
@@ -0,0 +1,168 @@
package ru.project.student;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
class StudentTest {
@Test
void shouldCreateValidStudent() {
Student student = new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(4.5)
.setRecordBookNumber("12345")
.build();
assertEquals("101", student.getGroupNumber());
assertEquals(4.5, student.getAverageGrade());
assertEquals("12345", student.getRecordBookNumber());
}
@Test
void shouldThrowExceptionWhenGroupNumberIsEmpty() {
assertThrows(IllegalArgumentException.class, () -> {
new StudentBuilder()
.setGroupNumber("")
.setAverageGrade(4.5)
.setRecordBookNumber("12345")
.build();
});
}
@Test
void shouldThrowExceptionWhenAverageGradeIsGreaterThanFive() {
assertThrows(IllegalArgumentException.class, () -> {
new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(6.0)
.setRecordBookNumber("12345")
.build();
});
}
@Test
void shouldThrowExceptionWhenAverageGradeIsLessThanZero() {
assertThrows(IllegalArgumentException.class, () -> {
new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(-1.0)
.setRecordBookNumber("12345")
.build();
});
}
@Test
void shouldCreateStudentWhenAverageGradeIsZero() {
Student student = new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(0.0)
.setRecordBookNumber("12345")
.build();
assertEquals(0.0, student.getAverageGrade());
}
@Test
void shouldCreateStudentWhenAverageGradeIsFive() {
Student student = new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(5.0)
.setRecordBookNumber("12345")
.build();
assertEquals(5.0, student.getAverageGrade());
}
@Test
void shouldThrowExceptionWhenRecordBookNumberIsEmpty() {
assertThrows(IllegalArgumentException.class, () -> {
new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(4.5)
.setRecordBookNumber("")
.build();
});
}
@Test
void shouldThrowExceptionWhenGroupNumberIsNull() {
assertThrows(IllegalArgumentException.class, () -> {
new StudentBuilder()
.setGroupNumber(null)
.setAverageGrade(4.5)
.setRecordBookNumber("12345")
.build();
});
}
@Test
void shouldThrowExceptionWhenGroupNumberIsBlank() {
assertThrows(IllegalArgumentException.class, () -> {
new StudentBuilder()
.setGroupNumber(" ")
.setAverageGrade(4.5)
.setRecordBookNumber("12345")
.build();
});
}
@Test
void shouldThrowExceptionWhenRecordBookNumberIsNull() {
assertThrows(IllegalArgumentException.class, () -> {
new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(4.5)
.setRecordBookNumber(null)
.build();
});
}
@Test
void shouldThrowExceptionWhenRecordBookNumberIsBlank() {
assertThrows(IllegalArgumentException.class, () -> {
new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(4.5)
.setRecordBookNumber(" ")
.build();
});
}
@Test
void shouldReturnTrueWhenStudentsAreEqual() {
Student student1 = new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(4.5)
.setRecordBookNumber("12345")
.build();
Student student2 = new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(4.5)
.setRecordBookNumber("12345")
.build();
assertEquals(student1, student2);
assertEquals(student1.hashCode(), student2.hashCode());
}
@Test
void shouldReturnFalseWhenStudentsAreDifferent() {
Student student1 = new StudentBuilder()
.setGroupNumber("101")
.setAverageGrade(4.5)
.setRecordBookNumber("12345")
.build();
Student student2 = new StudentBuilder()
.setGroupNumber("102")
.setAverageGrade(4.5)
.setRecordBookNumber("12345")
.build();
assertNotEquals(student1, student2);
}
}
@@ -1,4 +0,0 @@
package ru.project.student;
public class StudentText {
}