summaryrefslogtreecommitdiff
path: root/src/test/java/design/model
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/java/design/model/CourseTest.java36
-rw-r--r--src/test/java/design/model/GolferTest.java17
-rw-r--r--src/test/java/design/model/RoundTest.java42
-rw-r--r--src/test/java/design/model/coursesearch/CourseListTest.java27
-rw-r--r--src/test/java/design/model/coursesearch/sortStrategyTest.java88
5 files changed, 204 insertions, 6 deletions
diff --git a/src/test/java/design/model/CourseTest.java b/src/test/java/design/model/CourseTest.java
new file mode 100644
index 0000000..b6dd4a5
--- /dev/null
+++ b/src/test/java/design/model/CourseTest.java
@@ -0,0 +1,36 @@
+package design.model;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+
+
+/** Unit Tests for the Course class.
+ * @author Willem Dalton
+ **/
+@Tag("Model-tier")
+public class CourseTest{
+
+ @Test
+ void testConstructor()
+ {
+ Course testCourse = new Course(0, "Rolling Waves", 62, "Rochester, NY", 9, 20, new ArrayList<Hole>());
+ assertEquals(0, testCourse.getId());
+ assertEquals("Rolling Waves", testCourse.getName());
+ assertEquals(62, testCourse.getDifficultyRating());
+ assertEquals("Rochester, NY", testCourse.getLocation());
+ assertEquals(9, testCourse.getHoleCount());
+ assertEquals(20, testCourse.getTotalPar());
+ assertEquals(0, testCourse.getHoles().size());
+ }
+
+ @Test
+ void testToString()
+ {
+ Course testCourse = new Course(0, "Rolling Waves", 62, "Rochester, NY", 9, 20, new ArrayList<Hole>());
+ assertEquals("Rolling Waves (Rochester, NY) | Holes: 9 | Total Par: 20 | Difficulty: 62.0", testCourse.toString());
+ }
+}
diff --git a/src/test/java/design/model/GolferTest.java b/src/test/java/design/model/GolferTest.java
index 3a79070..65229f3 100644
--- a/src/test/java/design/model/GolferTest.java
+++ b/src/test/java/design/model/GolferTest.java
@@ -4,6 +4,7 @@ package design.model;
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 static org.junit.jupiter.api.Assertions.assertNotNull;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
@@ -13,6 +14,7 @@ import design.model.Club.ClubType;
import java.lang.reflect.Constructor;
import java.time.LocalDateTime;
import java.util.ArrayList;
+import java.util.List;
import java.lang.reflect.Modifier;
/** Unit Tests for the Club class.
@@ -30,12 +32,15 @@ public class GolferTest {
assertTrue(testGolfer.checkPassword("weback4321"));
}
- // @Test
- // void testPrivateConstructor() throws Exception
- // {
- // Constructor<Golfer> constructor = Golfer.class.getDeclaredConstructor();
- // assertTrue(Modifier.isPrivate(constructor.getModifiers()));
- // }
+ @Test
+ void testPrivateConstructor() throws Exception
+ {
+ Constructor<Golfer> constructor = Golfer.class.getDeclaredConstructor(String.class, int.class, String.class, List.class, List.class, List.class);
+ assertTrue(Modifier.isPrivate(constructor.getModifiers()));
+ constructor.setAccessible(true);
+ Golfer testGolfer = constructor.newInstance("testUser", 12345, "Test Golfer", new ArrayList<>(), new ArrayList<>(), new ArrayList<>());
+ assertNotNull(testGolfer);
+ }
@Test
void testSetUserName()
diff --git a/src/test/java/design/model/RoundTest.java b/src/test/java/design/model/RoundTest.java
new file mode 100644
index 0000000..d472f5b
--- /dev/null
+++ b/src/test/java/design/model/RoundTest.java
@@ -0,0 +1,42 @@
+package design.model;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+
+/** Unit Tests for the Round class.
+ * @author Willem Dalton
+ **/
+@Tag("Model-tier")
+public class RoundTest {
+
+ @Test
+ void testConstructor()
+ {
+ Course testCourse = new Course(0, "Rolling Waves", 62, "Rochester, NY", 9, 20, new ArrayList<Hole>());
+ LocalDateTime testTime = LocalDateTime.now();
+ Hole testHole = new Hole(0,3);
+ Round testRound = new Round(testCourse, testTime, testHole);
+ assertEquals(testCourse, testRound.getCourse());
+ assertEquals(testTime, testRound.getDateTime());
+ assertEquals(testHole, testRound.getStartingHole());
+ }
+
+ @Test
+ void testHolePlay()
+ {
+ Course testCourse = new Course(0, "Rolling Waves", 62, "Rochester, NY", 9, 20, new ArrayList<Hole>());
+ LocalDateTime testTime = LocalDateTime.now();
+ Hole testHole = new Hole(0,3);
+ Round testRound = new Round(testCourse, testTime, testHole);
+ Play testPlay = new Play(0);
+
+ testRound.addPlay(testPlay);
+ assertEquals(1, testRound.getPlays().length);
+ assertEquals(testPlay, testRound.getPlays()[0]);
+ }
+}
diff --git a/src/test/java/design/model/coursesearch/CourseListTest.java b/src/test/java/design/model/coursesearch/CourseListTest.java
new file mode 100644
index 0000000..7538ba5
--- /dev/null
+++ b/src/test/java/design/model/coursesearch/CourseListTest.java
@@ -0,0 +1,27 @@
+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 Club class.
+ * @author Willem Dalton
+ **/
+@Tag("Model-tier")
+public class CourseListTest {
+
+ @Test
+ void testConstructor()
+ {
+ CourseList testList = new CourseList();
+
+ }
+}
diff --git a/src/test/java/design/model/coursesearch/sortStrategyTest.java b/src/test/java/design/model/coursesearch/sortStrategyTest.java
new file mode 100644
index 0000000..aecbeff
--- /dev/null
+++ b/src/test/java/design/model/coursesearch/sortStrategyTest.java
@@ -0,0 +1,88 @@
+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<ICourse> 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<ICourse> 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<ICourse> 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<ICourse> 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<ICourse> 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());
+ }
+}