From eb45a0f9269ad32d7b5ba4aba67dab8008ed640c Mon Sep 17 00:00:00 2001 From: Pablito2442 Date: Thu, 19 Feb 2026 21:58:07 +0100 Subject: [PATCH 1/8] Modificacion de pom.xml coverage --- pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pom.xml b/pom.xml index 49b9938c..821b886a 100644 --- a/pom.xml +++ b/pom.xml @@ -70,6 +70,9 @@ report test + + target/jacoco.exe + report From d601cd190ad9db8237bd917f9ae3f2fe929f11e4 Mon Sep 17 00:00:00 2001 From: Pablito2442 Date: Thu, 19 Feb 2026 22:00:56 +0100 Subject: [PATCH 2/8] Resuelto problema de permisos CI --- .github/workflows/Java17CImaven.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/Java17CImaven.yml b/.github/workflows/Java17CImaven.yml index 038cd61b..b8a6f9f7 100644 --- a/.github/workflows/Java17CImaven.yml +++ b/.github/workflows/Java17CImaven.yml @@ -19,6 +19,9 @@ jobs: runs-on: ubuntu-latest + permissions: + contents: write + steps: - uses: actions/checkout@v4 - name: Set up JDK 17 From e1e17e1a871bac84bf512286245208ce65e9eb00 Mon Sep 17 00:00:00 2001 From: Pablito2442 Date: Thu, 19 Feb 2026 22:35:39 +0100 Subject: [PATCH 3/8] Creation & Test of @testGetInstance --- .../ubu/gii/dass/c01/ReusablePoolTest.java | 72 ++++--------------- 1 file changed, 15 insertions(+), 57 deletions(-) diff --git a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java index 4e8c38d0..c4a79cce 100644 --- a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java +++ b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java @@ -1,63 +1,21 @@ -/** - * - */ package ubu.gii.dass.c01; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Disabled; - - - -/** - * @author alumno - * - */ -public class ReusablePoolTest { - - - @BeforeAll - public static void setUp(){ - } - - - @AfterAll - public static void tearDown() throws Exception { - } - - /** - * Test method for {@link ubu.gii.dass.c01.ReusablePool#getInstance()}. - */ - @Test - @DisplayName("testGetInstance") - @Disabled("Not implemented yet") - public void testGetInstance() { - - } - - /** - * Test method for {@link ubu.gii.dass.c01.ReusablePool#acquireReusable()}. - */ - @Test - @DisplayName("testAcquireReusable") - @Disabled("Not implemented yet") +import org.junit.jupiter.api.Test; - public void testAcquireReusable() { - - } +class ReusablePoolTest { - /** - * Test method for {@link ubu.gii.dass.c01.ReusablePool#releaseReusable(ubu.gii.dass.c01.Reusable)}. - */ - @Test - @DisplayName("testReleaseReusable") - @Disabled("Not implemented yet") - public void testReleaseReusable() { + @Test + @DisplayName("testGetInstance") + void testGetInstance() { + // Comprobacion de que el pool no es nulo y que se comporta como un singleton + ReusablePool pool1 = ReusablePool.getInstance(); + assertNotNull(pool1, "El pool no debería ser nulo tras la inicialización"); - } - -} + // Comprobamos que dos llamadas a getInstance devuelven la misma instancia + ReusablePool pool2 = ReusablePool.getInstance(); + assertSame(pool1, pool2, "getInstance debe devolver exactamente la misma instancia (Singleton)"); + } +} \ No newline at end of file From 688b3ffe1425d9af778da408469fb10d30100499 Mon Sep 17 00:00:00 2001 From: Pablito2442 Date: Thu, 19 Feb 2026 22:43:39 +0100 Subject: [PATCH 4/8] Restore del xml (Skipping JaCoCo execution) --- pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pom.xml b/pom.xml index 821b886a..49b9938c 100644 --- a/pom.xml +++ b/pom.xml @@ -70,9 +70,6 @@ report test - - target/jacoco.exe - report From 807cf23d21b187ba8f1b9a99007f87110863b15e Mon Sep 17 00:00:00 2001 From: Pablito2442 Date: Thu, 19 Feb 2026 22:54:37 +0100 Subject: [PATCH 5/8] Creation & Test of @testAcquireReusableSuccess --- .../java/ubu/gii/dass/c01/ReusablePoolTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java index c4a79cce..84faf197 100644 --- a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java +++ b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java @@ -18,4 +18,19 @@ void testGetInstance() { ReusablePool pool2 = ReusablePool.getInstance(); assertSame(pool1, pool2, "getInstance debe devolver exactamente la misma instancia (Singleton)"); } + + @Test + @DisplayName("testAcquireReusableSuccess") + void testAcquireReusableSuccess() throws Exception { + // Modificacion del pool para comprobar que se obtienen objetos reutilizables validos + ReusablePool pool = ReusablePool.getInstance(); + Reusable r = pool.acquireReusable(); + + try { + assertNotNull(r, "Debe devolver un objeto Reusable valido"); + } finally { + // Restauramos el pool a su estado original para los demas tests + pool.releaseReusable(r); + } + } } \ No newline at end of file From b9e7470c9e9c18f438c4ac16598146c68c8cfb79 Mon Sep 17 00:00:00 2001 From: ItsZitor Date: Sat, 21 Feb 2026 13:27:41 +0100 Subject: [PATCH 6/8] Creation & Test of @testAcquireReusableThrowsException --- .../ubu/gii/dass/c01/ReusablePoolTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java index 84faf197..6da8aefb 100644 --- a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java +++ b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java @@ -2,6 +2,8 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertThrows; + import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -33,4 +35,27 @@ void testAcquireReusableSuccess() throws Exception { pool.releaseReusable(r); } } + + @Test + @DisplayName("testAcquireReusableThrowsException") + void testAcquireReusableThrowsException() throws Exception { + // Modificacion del pool para dejarlo sin instancias libres y comprobar que lanza la excepcion + ReusablePool pool = ReusablePool.getInstance(); + + // Vaciamos el pool (asumiendo que tiene tamaño 2) + Reusable r1 = pool.acquireReusable(); + Reusable r2 = pool.acquireReusable(); + + try { + // El tercer intento debe lanzar la excepcion + assertThrows(NotFreeInstanceException.class, () -> { + pool.acquireReusable(); + }, "Debe lanzar NotFreeInstanceException al no haber instancias libres"); + } finally { + // Restauramos el pool a su estado original para los demas tests + pool.releaseReusable(r1); + pool.releaseReusable(r2); + } + } + } \ No newline at end of file From eea014d50bbb86251d7133f4c5964fc4b8b51492 Mon Sep 17 00:00:00 2001 From: Dankof04 Date: Sat, 21 Feb 2026 19:25:27 +0100 Subject: [PATCH 7/8] Creation & Test of @testReleaseReusableSuccess --- .settings/org.eclipse.core.resources.prefs | 4 ++++ .settings/org.eclipse.jdt.core.prefs | 8 ++++++++ .settings/org.eclipse.m2e.core.prefs | 4 ++++ .../java/ubu/gii/dass/c01/ReusablePoolTest.java | 16 ++++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 .settings/org.eclipse.m2e.core.prefs diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..f9fe3459 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..2f5cc74c --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 00000000..f897a7f1 --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java index 6da8aefb..a32d0339 100644 --- a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java +++ b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertSame; import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -58,4 +59,19 @@ void testAcquireReusableThrowsException() throws Exception { } } + @Test + @DisplayName("testReleaseReusableSuccess") + void testReleaseReusableSuccess() throws Exception { + // Modificacion del pool para comprobar que se pueden liberar objetos correctamente sin lanzar excepciones + ReusablePool pool = ReusablePool.getInstance(); + + // Extraemos uno para vaciar un hueco + Reusable r = pool.acquireReusable(); + + // Restauramos el pool a su estado original para los demas tests + assertDoesNotThrow(() -> { + pool.releaseReusable(r); + }, "No debe lanzar excepcion al liberar una instancia valida que no esta en el pool"); + } + } \ No newline at end of file From 9311702d6b8697c7ffb627215ccc5af1a2a280b4 Mon Sep 17 00:00:00 2001 From: lorcel12 Date: Sun, 22 Feb 2026 01:46:02 +0100 Subject: [PATCH 8/8] Creation & Test of @testReleaseReusableThrowsException --- .../java/ubu/gii/dass/c01/ReusablePoolTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java index a32d0339..e67cc375 100644 --- a/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java +++ b/src/test/java/ubu/gii/dass/c01/ReusablePoolTest.java @@ -74,4 +74,20 @@ void testReleaseReusableSuccess() throws Exception { }, "No debe lanzar excepcion al liberar una instancia valida que no esta en el pool"); } + @Test + @DisplayName("testReleaseReusableThrowsException") + void testReleaseReusableThrowsException() throws Exception { + // Modificacion del pool para comprobar que al intentar liberar un objeto que ya esta en el pool se lanza la excepcion + ReusablePool pool = ReusablePool.getInstance(); + + // Sacamos una instancia + Reusable r = pool.acquireReusable(); + + assertThrows(DuplicatedInstanceException.class, () -> { + pool.releaseReusable(r); // Primera devolucion funciona y deja el pool restaurado + pool.releaseReusable(r); // Segunda devolucion lanza excepcion + }, "Debe lanzar DuplicatedInstanceException al intentar devolver un objeto que ya esta en el pool"); + + } + } \ No newline at end of file