package design.model.coursesearch; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertFalse; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import java.util.ArrayList; import design.model.course_search.*; import design.model.Course; /** Unit Tests for the Difficulty Sorter class * @author Willem Dalton **/ public class sortStrategyTest { Course test1 = new Course(0, "Rolling Waves", 67, "Rochester, NY", 9, 30, null); Course test2 = new Course(1, "Balls in the Rough", 60, "Buffalo, NY", 18, 60, null); Course test3 = new Course(2, "The Last Green Valley", 67, "Rome, NY", 9, 47, null); Course test4 = new Course(2, "Rolling Waves", 67, "Rome, NY", 9, 30, null); @Test void testDifficultySort() { SortByDifficulty sorter = new SortByDifficulty(); ArrayList courses = new ArrayList(); courses.add(test1); courses.add(test2); sorter.sortCourses(courses); assertTrue(sorter.isEqual(test1, test3)); assertFalse(sorter.isEqual(test1, test2)); assertEquals("Difficulty", sorter.toString()); } @Test void testNameSort() { SortByName sorter = new SortByName(); ArrayList courses = new ArrayList(); courses.add(test1); courses.add(test4); sorter.sortCourses(courses); assertTrue(sorter.isEqual(test1, test4)); assertFalse(sorter.isEqual(test1, test2)); assertEquals("Name", sorter.toString()); } @Test void testLocationSort() { SortByLocation sorter = new SortByLocation(); ArrayList courses = new ArrayList(); courses.add(test1); courses.add(test4); sorter.sortCourses(courses); assertTrue(sorter.isEqual(test3, test4)); assertFalse(sorter.isEqual(test1, test2)); assertEquals("Location", sorter.toString()); } @Test void testParSort() { SortByPar sorter = new SortByPar(); ArrayList courses = new ArrayList(); courses.add(test1); courses.add(test4); sorter.sortCourses(courses); assertTrue(sorter.isEqual(test1, test4)); assertFalse(sorter.isEqual(test1, test2)); assertEquals("Total Par", sorter.toString()); } @Test void testHoleSort() { SortByHoles sorter = new SortByHoles(); ArrayList courses = new ArrayList(); courses.add(test1); courses.add(test4); sorter.sortCourses(courses); assertTrue(sorter.isEqual(test1, test4)); assertFalse(sorter.isEqual(test1, test2)); assertEquals("Hole Count", sorter.toString()); } }