From 4b13a89bb91fc8a89843b4f36a5e5a0ad1290b02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=A0s?= Date: Thu, 28 Mar 2024 00:42:27 +0100 Subject: [PATCH] test(DevWeb): Add tests for AbstractDAOFactory --- .../project/dao/AbstractDAOFactoryTest.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/S2/DevWeb/Projet/src/test/java/uppa/project/dao/AbstractDAOFactoryTest.java b/S2/DevWeb/Projet/src/test/java/uppa/project/dao/AbstractDAOFactoryTest.java index 342de54..0fe1706 100644 --- a/S2/DevWeb/Projet/src/test/java/uppa/project/dao/AbstractDAOFactoryTest.java +++ b/S2/DevWeb/Projet/src/test/java/uppa/project/dao/AbstractDAOFactoryTest.java @@ -1,5 +1,7 @@ package uppa.project.dao; +import java.util.HashMap; +import java.util.Objects; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import uppa.project.dao.jpa.Game_JPA_DAO_Factory; @@ -14,9 +16,20 @@ class AbstractDAOFactoryTest { } @Test - void getDAOFactory() { - assertEquals(Game_JPA_DAO_Factory.class, AbstractDAOFactory.getDAOFactory(PersistenceKind.JPA).getClass()); + void test_getDAOFactory() { + // If the method throws an exception, make sure the database is running + assertDoesNotThrow(() -> AbstractDAOFactory.getDAOFactory(PersistenceKind.JPA)); - assertThrows(NullPointerException.class, () -> AbstractDAOFactory.getDAOFactory(null)); + // Test if the method returns the correct DAO factory + HashMap factories = new HashMap<>() {{ + put(PersistenceKind.JPA, Game_JPA_DAO_Factory.class); + }}; + + for (PersistenceKind kind : PersistenceKind.values()) { + assertEquals( + factories.get(kind), + Objects.requireNonNull(AbstractDAOFactory.getDAOFactory(kind)).getClass() + ); + } } }