package design.model.coursesearch; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import java.util.ArrayList; import design.model.course_search.ICourse; import design.model.course_search.*; import design.model.Course; /** Unit Tests for the Club class. * @author Willem Dalton **/ @Tag("Model-tier") public class CourseListTest { @Test void testConstructor() { CourseList testList = new CourseList(); assertNotNull(testList); } @Test void testSetCourses() { CourseList testList = new CourseList(); Course testCourse1 = new Course(0, "Rolling Waves", 10, "Rochester, NY", 0, 0, null); Course testCourse2 = new Course(1, "Arcadia Hills", 10, "Rochester, NY", 0, 0, null); ArrayList courses = new ArrayList(); courses.add(testCourse1); courses.add(testCourse2); testList.setCourses(courses); assertEquals(courses, testList.getCourses()); } @Test void testSort() { CourseList testList = new CourseList(); Course testCourse1 = new Course(0, "Rolling Waves", 10, "Rochester, NY", 0, 0, null); Course testCourse2 = new Course(1, "Arcadia Hills", 10, "Rochester, NY", 0, 0, null); ArrayList courses = new ArrayList(); courses.add(testCourse1); courses.add(testCourse2); testList.setCourses(courses); SortByName sorter = new SortByName(); testList.setSorter(sorter); testList.sort(); assertEquals(testCourse2, testList.getCourses().get(0)); assertEquals(testCourse1, testList.getCourses().get(1)); } @Test void testAddRemove() { CourseList testList = new CourseList(); Course testCourse1 = new Course(0, "Rolling Waves", 10, "Rochester, NY", 0, 0, null); testList.add(testCourse1); assertEquals(testCourse1, testList.getCourses().get(0)); assertEquals(1, testList.getCourses().size()); testList.remove(testCourse1); assertEquals(0, testList.getCourses().size()); } @Test void testOverrides() { CourseList testList = new CourseList(); assertEquals("Course List", testList.getName()); assertEquals("Course List", testList.toString()); assertEquals(0, testList.getDifficultyRating()); assertEquals("", testList.getLocation()); assertEquals(0, testList.getTotalPar()); assertEquals(0, testList.getHoleCount()); assertNull(testList.getHoles()); } }