From d2b35ee84843dc74afce87c3fb8b7e5a53cd56a7 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Fri, 14 Nov 2025 13:15:12 -0500 Subject: finished testing most of JSON personal database --- .../persistence/JSONPersonalDatabaseTest.java | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/test/java/design/persistence/JSONPersonalDatabaseTest.java (limited to 'src/test/java/design/persistence') diff --git a/src/test/java/design/persistence/JSONPersonalDatabaseTest.java b/src/test/java/design/persistence/JSONPersonalDatabaseTest.java new file mode 100644 index 0000000..55270c4 --- /dev/null +++ b/src/test/java/design/persistence/JSONPersonalDatabaseTest.java @@ -0,0 +1,63 @@ +package design.persistence; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +import design.model.Golfer; + +/** Unit Tests for the JSON Personal Database Singleton + * @author Willem Dalton + **/ +@Tag("Persistence-tier") +public class JSONPersonalDatabaseTest { + Path tempDB; + + @BeforeEach + void clearDB() throws IOException + { + tempDB = Files.createTempFile("testdb", ".json"); + Files.writeString(tempDB, "[]"); + JSONPersonalDatabase.testInstance(tempDB.toString()); + } + + @Test + void testInstance() + { + JSONPersonalDatabase instance = JSONPersonalDatabase.instance(); // makes new instance + assertNotNull(instance); + JSONPersonalDatabase instance2 = JSONPersonalDatabase.instance(); // instance already exists + assertNotNull(instance2); + } + + @Test + void testAddRemove() throws IOException + { + JSONPersonalDatabase instance = JSONPersonalDatabase.testInstance(tempDB.toString()); // makes new instance + Golfer testGolfer = new Golfer("Jamie Doe", "joe_cool", "12345"); + instance.addGolfer(testGolfer); + assertEquals(testGolfer, instance.getGolfer("joe_cool")); + instance.removeGolfer(testGolfer); + assertEquals(null, instance.getGolfer("joe_cool")); + } + + @Test + void testUpdateGolfer() throws IOException + { + JSONPersonalDatabase instance = JSONPersonalDatabase.testInstance(tempDB.toString()); // makes new instance + Golfer testGolfer = new Golfer("Jamie Doe", "joe_cool", "12345"); + instance.addGolfer(testGolfer); + testGolfer.setUsername("joe_super_cool"); + instance.updateGolfer(testGolfer); + assertEquals(testGolfer, instance.getGolfer("joe_super_cool")); + } +} -- cgit v1.2.3 From c052f5cb104ff5d4599161cf5fad95545c3be957 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Fri, 14 Nov 2025 13:36:42 -0500 Subject: progress on league database testing --- .../design/persistence/JSONLeagueDatabaseTest.java | 67 ++++++++++++++++++++++ .../persistence/JSONPersonalDatabaseTest.java | 1 - 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 src/test/java/design/persistence/JSONLeagueDatabaseTest.java (limited to 'src/test/java/design/persistence') diff --git a/src/test/java/design/persistence/JSONLeagueDatabaseTest.java b/src/test/java/design/persistence/JSONLeagueDatabaseTest.java new file mode 100644 index 0000000..1dcdbb1 --- /dev/null +++ b/src/test/java/design/persistence/JSONLeagueDatabaseTest.java @@ -0,0 +1,67 @@ +package design.persistence; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Date; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +import design.model.League; +import design.model.StrokeLeague; +import design.model.Golfer; + +/** Unit Tests for the JSON Personal Database Singleton + * @author Willem Dalton + **/ +@Tag("Persistence-tier") +public class JSONLeagueDatabaseTest { + Path tempDB; + + @BeforeEach + void clearDB() throws IOException + { + tempDB = Files.createTempFile("testleaguedb", ".json"); + Files.writeString(tempDB, "[]"); + JSONLeagueDatabase.testInstance(tempDB.toString()); + } + + @Test + void testInstance() + { + JSONLeagueDatabase instance = JSONLeagueDatabase.instance(); // makes new instance + assertNotNull(instance); + JSONLeagueDatabase instance2 = JSONLeagueDatabase.instance(); // instance already exists + assertNotNull(instance2); + } + + @Test + void testAddRemove() throws IOException + { + JSONLeagueDatabase instance = JSONLeagueDatabase.testInstance(tempDB.toString()); // makes new instance + Golfer testOwner = new Golfer("Jamie Doe", "joe_cool", "12345"); + League testLeague = new StrokeLeague("The A Team", new Date(1234), new Date(123), new Date(12345), testOwner); + instance.addLeague(testLeague); + assertEquals(1, instance.getLeagues().length); + assertEquals(testLeague, instance.getLeagues()[0]); + instance.removeLeague(testLeague); + assertEquals(0, instance.getLeagues().length); + } + + // @Test + // void testUpdateGolfer() throws IOException + // { + // JSONLeagueDatabase instance = JSONLeagueDatabase.testInstance(tempDB.toString()); // makes new instance + // Golfer testGolfer = new Golfer("Jamie Doe", "joe_cool", "12345"); + // instance.addGolfer(testGolfer); + // testGolfer.setUsername("joe_super_cool"); + // instance.updateGolfer(testGolfer); + // assertEquals(testGolfer, instance.getGolfer("joe_super_cool")); + // } +} diff --git a/src/test/java/design/persistence/JSONPersonalDatabaseTest.java b/src/test/java/design/persistence/JSONPersonalDatabaseTest.java index 55270c4..21cc366 100644 --- a/src/test/java/design/persistence/JSONPersonalDatabaseTest.java +++ b/src/test/java/design/persistence/JSONPersonalDatabaseTest.java @@ -1,7 +1,6 @@ package design.persistence; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import java.nio.file.Files; -- cgit v1.2.3 From 1da6f53677108558ca1403dbb82f4adc0a84797e Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Sat, 15 Nov 2025 12:47:37 -0500 Subject: finished testing for persistence --- .../design/persistence/CSVMasterDatabaseTest.java | 43 ++++++++++++++++++++++ .../design/persistence/JSONLeagueDatabaseTest.java | 28 +++++++++----- 2 files changed, 61 insertions(+), 10 deletions(-) create mode 100644 src/test/java/design/persistence/CSVMasterDatabaseTest.java (limited to 'src/test/java/design/persistence') diff --git a/src/test/java/design/persistence/CSVMasterDatabaseTest.java b/src/test/java/design/persistence/CSVMasterDatabaseTest.java new file mode 100644 index 0000000..853d51c --- /dev/null +++ b/src/test/java/design/persistence/CSVMasterDatabaseTest.java @@ -0,0 +1,43 @@ +package design.persistence; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +import design.model.Club.ClubType; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +/** Unit Tests for the CSV Master Database Singleton class. + * @author Willem Dalton + **/ +@Tag("Model-tier") +public class CSVMasterDatabaseTest { + + @Test + void testInstance() + { + CSVMasterDatabase instance = CSVMasterDatabase.instance(); + assertNotNull(instance); + CSVMasterDatabase instance2 = CSVMasterDatabase.instance(); + assertNotNull(instance2); + } + + @Test + void testGetCourses() + { + CSVMasterDatabase instance = CSVMasterDatabase.instance(); + String expectedResult = "Mountain View Links (Mobile, AL) | Holes: 18 | Total Par: 70 | Difficulty: 73.0"; + assertEquals(1000, instance.getCourses().length); + assertNotNull(instance.getCourseList()); + assertEquals(expectedResult, instance.getCourse(0).toString()); + } + +} diff --git a/src/test/java/design/persistence/JSONLeagueDatabaseTest.java b/src/test/java/design/persistence/JSONLeagueDatabaseTest.java index 1dcdbb1..b27555c 100644 --- a/src/test/java/design/persistence/JSONLeagueDatabaseTest.java +++ b/src/test/java/design/persistence/JSONLeagueDatabaseTest.java @@ -5,6 +5,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Date; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -15,7 +17,10 @@ import org.junit.jupiter.api.Test; import design.model.League; import design.model.StrokeLeague; +import design.model.Course; import design.model.Golfer; +import design.model.Hole; +import design.model.Match; /** Unit Tests for the JSON Personal Database Singleton * @author Willem Dalton @@ -54,14 +59,17 @@ public class JSONLeagueDatabaseTest { assertEquals(0, instance.getLeagues().length); } - // @Test - // void testUpdateGolfer() throws IOException - // { - // JSONLeagueDatabase instance = JSONLeagueDatabase.testInstance(tempDB.toString()); // makes new instance - // Golfer testGolfer = new Golfer("Jamie Doe", "joe_cool", "12345"); - // instance.addGolfer(testGolfer); - // testGolfer.setUsername("joe_super_cool"); - // instance.updateGolfer(testGolfer); - // assertEquals(testGolfer, instance.getGolfer("joe_super_cool")); - // } + @Test + void testUpdateGolfer() throws IOException + { + JSONLeagueDatabase instance = JSONLeagueDatabase.testInstance(tempDB.toString()); // makes new instance + Golfer testOwner = new Golfer("Jamie Doe", "joe_cool", "12345"); + League testLeague = new StrokeLeague("The A Team", new Date(1234), new Date(123), new Date(12345), testOwner); + instance.addLeague(testLeague); + Course testCourse = new Course(0, "Rolling Waves", 62, "Rochester, NY", 9, 20, new ArrayList()); + Match testMatch = new Match(testCourse, new Date(123), LocalDateTime.now(), 3); + testLeague.addMatchToSchedule(testMatch); + instance.updateLeague(testLeague); + assertEquals(testLeague, instance.getLeague(testLeague.getId())); + } } -- cgit v1.2.3 From a5668e0b228115eb828c84148cdcf27eb56b28a7 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Sat, 15 Nov 2025 12:48:48 -0500 Subject: removed unused dependencies in CSV testing --- src/test/java/design/persistence/CSVMasterDatabaseTest.java | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'src/test/java/design/persistence') diff --git a/src/test/java/design/persistence/CSVMasterDatabaseTest.java b/src/test/java/design/persistence/CSVMasterDatabaseTest.java index 853d51c..7ecf59f 100644 --- a/src/test/java/design/persistence/CSVMasterDatabaseTest.java +++ b/src/test/java/design/persistence/CSVMasterDatabaseTest.java @@ -2,19 +2,10 @@ package design.persistence; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; -import design.model.Club.ClubType; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Modifier; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - /** Unit Tests for the CSV Master Database Singleton class. * @author Willem Dalton **/ @@ -39,5 +30,4 @@ public class CSVMasterDatabaseTest { assertNotNull(instance.getCourseList()); assertEquals(expectedResult, instance.getCourse(0).toString()); } - } -- cgit v1.2.3 From d06215b7ce9004943f370756a35e40cbbf46f672 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Sat, 15 Nov 2025 13:58:06 -0500 Subject: finished testing for statistics subsystem --- src/test/java/design/persistence/CSVMasterDatabaseTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/test/java/design/persistence') diff --git a/src/test/java/design/persistence/CSVMasterDatabaseTest.java b/src/test/java/design/persistence/CSVMasterDatabaseTest.java index 7ecf59f..4c78800 100644 --- a/src/test/java/design/persistence/CSVMasterDatabaseTest.java +++ b/src/test/java/design/persistence/CSVMasterDatabaseTest.java @@ -9,7 +9,7 @@ import org.junit.jupiter.api.Test; /** Unit Tests for the CSV Master Database Singleton class. * @author Willem Dalton **/ -@Tag("Model-tier") +@Tag("Persistence-tier") public class CSVMasterDatabaseTest { @Test -- cgit v1.2.3