diff options
| author | sowgro <tpoke.ferrari@gmail.com> | 2025-11-16 02:22:34 -0500 |
|---|---|---|
| committer | sowgro <tpoke.ferrari@gmail.com> | 2025-11-16 02:22:34 -0500 |
| commit | 2001073e2353e4e9824473cf712102cec3af6a11 (patch) | |
| tree | 091e0ba975be4d9b13c8323d49862ac87e22b84d /src/test/java/design/persistence/JSONPersonalDatabaseTest.java | |
| parent | 5bb349e46fbe9c63ad15379703e0d1371bae0081 (diff) | |
| parent | a667071453840878eb9dba07c5fd96559f79ca57 (diff) | |
| download | designproject-design-6-2001073e2353e4e9824473cf712102cec3af6a11.tar.gz designproject-design-6-2001073e2353e4e9824473cf712102cec3af6a11.tar.bz2 designproject-design-6-2001073e2353e4e9824473cf712102cec3af6a11.zip | |
Merge branch 'main' into league-play-refactoring
# Conflicts:
# src/main/java/design/persistence/JSONLeagueDatabase.java
# src/main/java/design/persistence/JSONPersonalDatabase.java
# src/main/java/design/persistence/Serializers.java
Diffstat (limited to 'src/test/java/design/persistence/JSONPersonalDatabaseTest.java')
| -rw-r--r-- | src/test/java/design/persistence/JSONPersonalDatabaseTest.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/test/java/design/persistence/JSONPersonalDatabaseTest.java b/src/test/java/design/persistence/JSONPersonalDatabaseTest.java new file mode 100644 index 0000000..21cc366 --- /dev/null +++ b/src/test/java/design/persistence/JSONPersonalDatabaseTest.java @@ -0,0 +1,62 @@ +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 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")); + } +} |
