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 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/test/java/design/persistence/JSONLeagueDatabaseTest.java (limited to 'src/test/java/design/persistence/JSONLeagueDatabaseTest.java') 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")); + // } +} -- 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/JSONLeagueDatabaseTest.java | 28 ++++++++++++++-------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'src/test/java/design/persistence/JSONLeagueDatabaseTest.java') 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 6fd412fc2981b0d3cbba0e4cf955d1e1a54c9e45 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Sun, 16 Nov 2025 14:14:43 -0500 Subject: fixed unit tests --- src/test/java/design/persistence/JSONLeagueDatabaseTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/test/java/design/persistence/JSONLeagueDatabaseTest.java') diff --git a/src/test/java/design/persistence/JSONLeagueDatabaseTest.java b/src/test/java/design/persistence/JSONLeagueDatabaseTest.java index b27555c..f211670 100644 --- a/src/test/java/design/persistence/JSONLeagueDatabaseTest.java +++ b/src/test/java/design/persistence/JSONLeagueDatabaseTest.java @@ -67,7 +67,7 @@ public class JSONLeagueDatabaseTest { 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); + Match testMatch = new Match(testCourse, new Date(123), LocalDateTime.now(), LocalDateTime.now(), 3); testLeague.addMatchToSchedule(testMatch); instance.updateLeague(testLeague); assertEquals(testLeague, instance.getLeague(testLeague.getId())); -- cgit v1.2.3