diff --git a/weasis-acquire/weasis-acquire-explorer/pom.xml b/weasis-acquire/weasis-acquire-explorer/pom.xml index 607853726..0295babe3 100755 --- a/weasis-acquire/weasis-acquire-explorer/pom.xml +++ b/weasis-acquire/weasis-acquire-explorer/pom.xml @@ -43,6 +43,15 @@ + + org.apache.maven.plugins + maven-surefire-plugin + + + -javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar + + + diff --git a/weasis-acquire/weasis-acquire-explorer/src/test/java/org/weasis/acquire/explorer/PublishDicomTaskTest.java b/weasis-acquire/weasis-acquire-explorer/src/test/java/org/weasis/acquire/explorer/PublishDicomTaskTest.java index 44e622dc7..9c243ffed 100755 --- a/weasis-acquire/weasis-acquire-explorer/src/test/java/org/weasis/acquire/explorer/PublishDicomTaskTest.java +++ b/weasis-acquire/weasis-acquire-explorer/src/test/java/org/weasis/acquire/explorer/PublishDicomTaskTest.java @@ -11,10 +11,12 @@ import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; import org.mockito.junit.jupiter.MockitoExtension; import org.weasis.acquire.explorer.gui.dialog.AcquirePublishDialog.Resolution; import org.weasis.core.api.media.data.ImageElement; @@ -25,30 +27,47 @@ class PublishDicomTaskTest { @Mock AcquireImageInfo imgInfo; @Mock ImageElement imgElt; + @BeforeEach + void setUp() { + try (AutoCloseable closeable = MockitoAnnotations.openMocks(this)) { + // Initialize mocks before each test + } catch (Exception e) { + e.printStackTrace(); + } + } + @Test void testCalculateRatio() { Mockito.when(imgInfo.getImage()).thenReturn(imgElt); + // Assertions for null values assertNull(PublishDicomTask.calculateRatio(null, null)); assertNull(PublishDicomTask.calculateRatio(imgInfo, null)); assertNull(PublishDicomTask.calculateRatio(imgInfo, Resolution.ORIGINAL)); + Mockito.reset(imgElt); + + // Scenario 1 Mockito.when(imgElt.getTagValue(TagW.ImageWidth)).thenReturn(4000); Mockito.when(imgElt.getTagValue(TagW.ImageHeight)).thenReturn(2000); - assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.ULTRA_HD), 0.96, 1)); - assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.FULL_HD), 0.48, 1)); - assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.HD_DVD), 0.32, 1)); + assertTrue( + isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.ULTRA_HD), 0.96, 0.05)); + assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.FULL_HD), 0.48, 0.05)); + assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.HD_DVD), 0.32, 0.05)); + + Mockito.reset(imgElt); + // Scenario 2 Mockito.when(imgElt.getTagValue(TagW.ImageWidth)).thenReturn(2000); Mockito.when(imgElt.getTagValue(TagW.ImageHeight)).thenReturn(4000); - assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.ULTRA_HD), 0.96, 1)); - assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.FULL_HD), 0.48, 1)); - assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.HD_DVD), 0.32, 1)); + assertTrue( + isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.ULTRA_HD), 0.96, 0.05)); + assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.FULL_HD), 0.48, 0.05)); + assertTrue(isCloseTo(PublishDicomTask.calculateRatio(imgInfo, Resolution.HD_DVD), 0.32, 0.05)); } - private boolean isCloseTo(Double actual, double expected, double percentage) { + private boolean isCloseTo(Double actual, double expected, double tolerance) { double diff = Math.abs(actual - expected); - double tolerance = expected * percentage / 100.0; return diff <= tolerance; } } diff --git a/weasis-parent/pom.xml b/weasis-parent/pom.xml index c010e7d19..2948e9d87 100755 --- a/weasis-parent/pom.xml +++ b/weasis-parent/pom.xml @@ -17,8 +17,8 @@ 4.5.2 -SNAPSHOT - 22 - 22 + 23 + 23 [${jdk-version},) [3.6.3,) UTF-8 @@ -108,7 +108,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.12.1 + 3.13.0 ${java-version} @@ -136,22 +136,22 @@ org.apache.maven.plugins maven-install-plugin - 3.1.1 + 3.1.3 org.apache.maven.plugins maven-clean-plugin - 3.3.2 + 3.4.0 org.apache.maven.plugins maven-deploy-plugin - 3.1.1 + 3.1.3 org.apache.maven.plugins maven-jar-plugin - 3.3.0 + 3.4.2 ${project.build.outputDirectory}/META-INF/MANIFEST.MF @@ -161,17 +161,17 @@ org.apache.maven.plugins maven-jarsigner-plugin - 3.0.0 + 3.1.0 org.codehaus.mojo flatten-maven-plugin - 1.5.0 + 1.6.0 org.apache.maven.plugins maven-dependency-plugin - 3.6.1 + 3.8.1 @@ -183,7 +183,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.2.5 + 3.5.2 @{argLine} -Xshare:off -XX:+EnableDynamicAgentLoading all @@ -192,12 +192,12 @@ org.apache.maven.plugins maven-source-plugin - 3.3.0 + 3.3.1 org.apache.maven.plugins maven-enforcer-plugin - 3.4.1 + 3.5.0 org.apache.maven.plugins @@ -207,12 +207,12 @@ org.apache.maven.plugins maven-site-plugin - 4.0.0-M13 + 4.0.0-M16 org.codehaus.mojo build-helper-maven-plugin - 3.5.0 + 3.6.0 com.diffplug.spotless @@ -222,22 +222,22 @@ org.apache.maven.plugins maven-assembly-plugin - 3.6.0 + 3.7.1 org.codehaus.mojo exec-maven-plugin - 3.1.1 + 3.5.0 org.apache.maven.plugins maven-shade-plugin - 3.5.1 + 3.6.0 org.jacoco jacoco-maven-plugin - 0.8.11 + 0.8.12