From aeb87c7194bb28e7f4d83b923990735083a26611 Mon Sep 17 00:00:00 2001
From: Martin <ms618@hdm-stuttgart.de>
Date: Fri, 23 Feb 2024 18:37:06 +0100
Subject: [PATCH] Update: PersistenceTest.java (Mockito test demonstration
 implemented)

---
 .../DataStorage/Classes/PersistenceTest.java  | 38 +++++++++++--------
 1 file changed, 22 insertions(+), 16 deletions(-)

diff --git a/src/test/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/PersistenceTest.java b/src/test/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/PersistenceTest.java
index 5b753274..697a9fda 100644
--- a/src/test/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/PersistenceTest.java
+++ b/src/test/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/PersistenceTest.java
@@ -16,30 +16,36 @@ import static org.mockito.Mockito.when;
 
 class PersistenceTest {
 
-    private static final Logger log = LogManager.getLogger(PersistenceTest.class);
-    Persistence persistenceSingleton;
-
+/*    private static final Logger log = LogManager.getLogger(PersistenceTest.class);
+    Persistence persistenceSingleton = Persistence.getInstance();;
+    OracleDB dbMock = mock(OracleDB.class);
     OracleDB inst = new OracleDB();
 
-    @BeforeEach
-    public void setup() throws SQLException {
-        persistenceSingleton = Persistence.getInstance();
-        persistenceSingleton.db = inst;
+
+    @Test
+    void updateCoreMaps() throws RuntimeException, DatabaseException {
         ArrayList<MapData> maps = new ArrayList<MapData>();
         maps.add(new MapData("09a02b54d05b5b7ebc29a4383ca12d3dda846b72", "Arena1", 18, 18, "12 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 12"));
         maps.add(new MapData("0ab15557ab6dc4be60dfe6a9b0288bac3036bd97", "Arena2", 18, 18, "12 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 12 12 1 1 1 1 1 1 1 5 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 12"));
-        when(inst.getCoreMaps()).thenReturn(maps);
-    }
 
-    @Test
-    void updateCoreMaps() throws RuntimeException, DatabaseException {
+        persistenceSingleton.setDB(dbMock);
+        try {
+          when(dbMock.getCoreMaps()).thenReturn(maps);
+      }
+      catch (Exception e){
+
+        }
+
             persistenceSingleton.updateCoreMaps();
             assertEquals("09a02b54d05b5b7ebc29a4383ca12d3dda846b72", persistenceSingleton.getCoreMaps().get(0).getMapID());
             assertEquals("0ab15557ab6dc4be60dfe6a9b0288bac3036bd97", persistenceSingleton.getCoreMaps().get(1).getMapID());
-    }
+    }*/
+
+
+}
 
-    @Test
-    void loadPlayerStatistics() {
-    }
 
-}
\ No newline at end of file
+//copy this to Persistence.java Class to be able to use this test
+/*    public void setDB(OracleDB db){    //only for showcasing Mockito test, because it would break encapsulation
+        this.db = db;
+    }*/
\ No newline at end of file
-- 
GitLab