From 579f35981e6910a3b9957f6a95300edcd5ce7015 Mon Sep 17 00:00:00 2001 From: "@hangga" Date: Wed, 1 Nov 2023 11:01:27 +0700 Subject: [PATCH] update, rename class --- .../uuid/UUIDLongGeneratorUnitTest.java | 60 ------------------- .../UUIDPositiveLongGeneratorUnitTest.java | 6 +- 2 files changed, 3 insertions(+), 63 deletions(-) delete mode 100644 core-java-modules/core-java-uuid/src/test/java/com/baeldung/uuid/UUIDLongGeneratorUnitTest.java diff --git a/core-java-modules/core-java-uuid/src/test/java/com/baeldung/uuid/UUIDLongGeneratorUnitTest.java b/core-java-modules/core-java-uuid/src/test/java/com/baeldung/uuid/UUIDLongGeneratorUnitTest.java deleted file mode 100644 index fde726d259..0000000000 --- a/core-java-modules/core-java-uuid/src/test/java/com/baeldung/uuid/UUIDLongGeneratorUnitTest.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.baeldung.uuid; - -import org.apache.log4j.Logger; -import org.junit.jupiter.api.Test; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.text.DecimalFormat; -import java.util.HashSet; -import java.util.Set; - -import static org.assertj.core.api.Assertions.assertThat; - -public class UUIDLongGeneratorUnitTest { - private final static int n = 1000000; - private final static double COLLISION_THRESHOLD = 0.001; - private static final Logger logger = Logger.getLogger(UUIDLongGeneratorUnitTest.class); - private final UUIDPositiveLongGenerator uuidLongGenerator = new UUIDPositiveLongGenerator(); - - @Test - void whenForeachGenerateLongValue_thenCollisionsCheck() throws InvocationTargetException, IllegalAccessException { - printTableHeader(); - for (Method method : uuidLongGenerator.getClass().getDeclaredMethods()) { - collisionAndNegativeCheck(method); - } - } - - private void printTableHeader() { - logger.info(String.format("%-30s %-15s %-15s %-15s %-15s%n", "Approach", "collisions", "negatives", "collision", "negative")); - logger.info(String.format("%-30s %-15s %-15s %-15s %-15s%n", "(method name)", "count", "count", "probability", "probability")); - System.out.println("--------------------------------------------------------------------------------------------"); - } - - private void printOutput(String method, int collisionsCount, int negativeCount, double collisionsProbability, double negativeProbability) { - DecimalFormat decimalFormat = new DecimalFormat("#.#####"); - logger.info(String.format("%-30s %-15s %-15s %-15s %-15s", method, collisionsCount, negativeCount, decimalFormat.format(collisionsProbability), decimalFormat.format(negativeProbability))); - } - - private void collisionAndNegativeCheck(Method method) throws InvocationTargetException, IllegalAccessException { - Set uniqueValues = new HashSet<>(); - int collisions = 0; - int negative = 0; - - for (int i = 0; i < n; i++) { - long uniqueValue = (long) method.invoke(uuidLongGenerator); - if (!uniqueValues.add(uniqueValue)) { - collisions++; - } - if (uniqueValue < 0) { - negative++; - } - } - - double collisionsProbability = (double) collisions / n; - double negativeProbability = (double) negative / n; - printOutput(method.getName(), collisions, negative, collisionsProbability, negativeProbability); - - assertThat(collisionsProbability).isLessThan(COLLISION_THRESHOLD); - } -} diff --git a/core-java-modules/core-java-uuid/src/test/java/com/baeldung/uuid/UUIDPositiveLongGeneratorUnitTest.java b/core-java-modules/core-java-uuid/src/test/java/com/baeldung/uuid/UUIDPositiveLongGeneratorUnitTest.java index 2df49b20fd..c910a6eb16 100644 --- a/core-java-modules/core-java-uuid/src/test/java/com/baeldung/uuid/UUIDPositiveLongGeneratorUnitTest.java +++ b/core-java-modules/core-java-uuid/src/test/java/com/baeldung/uuid/UUIDPositiveLongGeneratorUnitTest.java @@ -14,6 +14,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class UUIDPositiveLongGeneratorUnitTest { private final static int n = 1000000; + private final static double COLLISION_THRESHOLD = 0.001; private final UUIDPositiveLongGenerator uuidLongGenerator = new UUIDPositiveLongGenerator(); private final Logger logger = LoggerFactory.getLogger(UUIDPositiveLongGeneratorUnitTest.class); @@ -34,8 +35,7 @@ public class UUIDPositiveLongGeneratorUnitTest { private void printOutput(String method, int collisionsCount, int negativeCount, double collisionsProbability, double negativeProbability) { DecimalFormat decimalFormat = new DecimalFormat("#.#####"); - //logger.info(String.format("%-30s %-15s %-15s %-15s %-15s", method, collisionsCount, negativeCount, decimalFormat.format(collisionsProbability), decimalFormat.format(negativeProbability))); - logger.info("%-30s{} %-15s{} %-15s{} %-15s{} %-15s{}", method, collisionsCount, negativeCount, decimalFormat.format(collisionsProbability), decimalFormat.format(negativeProbability)); + logger.info(String.format("%-30s %-15s %-15s %-15s %-15s", method, collisionsCount, negativeCount, decimalFormat.format(collisionsProbability), decimalFormat.format(negativeProbability))); } @@ -55,6 +55,6 @@ public class UUIDPositiveLongGeneratorUnitTest { double collisionsProbability = (double) collisions / n; double negativeProbability = (double) negative / n; printOutput(method.getName(), collisions, negative, collisionsProbability, negativeProbability); - assertThat(collisionsProbability).isLessThan(0.001); + assertThat(collisionsProbability).isLessThan(COLLISION_THRESHOLD); } }