test(sorting): add student record book case

This commit is contained in:
Артющик Анастасия
2026-08-28 22:55:25 +03:00
parent 62ef9540bf
commit 61280132f1
@@ -3,6 +3,7 @@ package ru.project.sorting;
import org.junit.jupiter.api.Test;
import ru.project.collection.MyLinkedList;
import ru.project.collection.MyList;
import ru.project.student.Student;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -144,6 +145,33 @@ class EvenOnlyMergeSortStrategyTest {
assertEquals(5, list.get(4));
assertEquals(2, list.get(5));
}
@Test
void shouldUseStudentRecordBookNumberToDetermineEvenElements() {
MyList<Student> students = new MyLinkedList<>();
students.add(new Student("A01", 4.0, 7));
students.add(new Student("A02", 4.0, 8));
students.add(new Student("A03", 4.0, 3));
students.add(new Student("A04", 4.0, 2));
students.add(new Student("A05", 4.0, 5));
students.add(new Student("A06", 4.0, 4));
SortStrategy<Student> strategy = new EvenOnlyMergeSortStrategy<>(
Student::getRecordBookNumber
);
strategy.sort(students, new StudentRecordBookComparator());
assertEquals(7, students.get(0).getRecordBookNumber());
assertEquals(2, students.get(1).getRecordBookNumber());
assertEquals(3, students.get(2).getRecordBookNumber());
assertEquals(4, students.get(3).getRecordBookNumber());
assertEquals(5, students.get(4).getRecordBookNumber());
assertEquals(8, students.get(5).getRecordBookNumber());
assertEquals(6, students.size());
}
}