diff --git a/core-java-modules/core-java-concurrency-basic-2/README.md b/core-java-modules/core-java-concurrency-basic-2/README.md
new file mode 100644
index 0000000000..e72725b7cb
--- /dev/null
+++ b/core-java-modules/core-java-concurrency-basic-2/README.md
@@ -0,0 +1,10 @@
+=========
+
+## Core Java Concurrency Basic 2 Examples
+
+### Relevant Articles:
+- [How to Delay Code Execution in Java](https://www.baeldung.com/java-delay-code-execution)
+- [wait and notify() Methods in Java](https://www.baeldung.com/java-wait-notify)
+- [Difference Between Wait and Sleep in Java](https://www.baeldung.com/java-wait-and-sleep)
+- [Guide to the Synchronized Keyword in Java](https://www.baeldung.com/java-synchronized)
+- [Life Cycle of a Thread in Java](https://www.baeldung.com/java-thread-lifecycle)
diff --git a/core-java-modules/core-java-concurrency-basic-2/pom.xml b/core-java-modules/core-java-concurrency-basic-2/pom.xml
new file mode 100644
index 0000000000..7e0a160456
--- /dev/null
+++ b/core-java-modules/core-java-concurrency-basic-2/pom.xml
@@ -0,0 +1,33 @@
+
+ 4.0.0
+ com.baeldung
+ core-java-concurrency-basic-2
+ 0.1.0-SNAPSHOT
+ core-java-concurrency-basic-2
+ jar
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../../parent-java
+
+
+
+
+
+
+ core-java-concurrency-basic-2
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
+
+
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/delay/Delay.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/delay/Delay.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/delay/Delay.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/delay/Delay.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/sleepwait/ThreadA.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/sleepwait/ThreadA.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/sleepwait/ThreadA.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/sleepwait/ThreadA.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/sleepwait/ThreadB.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/sleepwait/ThreadB.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/sleepwait/ThreadB.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/sleepwait/ThreadB.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/sleepwait/WaitSleepExample.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/sleepwait/WaitSleepExample.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/sleepwait/WaitSleepExample.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/sleepwait/WaitSleepExample.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizedBlocks.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizedBlocks.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizedBlocks.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizedBlocks.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizedMethods.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizedMethods.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizedMethods.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizedMethods.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/BlockedState.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/BlockedState.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/BlockedState.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/BlockedState.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/NewState.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/NewState.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/NewState.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/NewState.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/RunnableState.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/RunnableState.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/RunnableState.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/RunnableState.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/TerminatedState.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/TerminatedState.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/TerminatedState.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/TerminatedState.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/TimedWaitingState.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/TimedWaitingState.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/TimedWaitingState.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/TimedWaitingState.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/WaitingState.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/WaitingState.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/threadlifecycle/WaitingState.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/threadlifecycle/WaitingState.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/waitandnotify/Data.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/waitandnotify/Data.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/waitandnotify/Data.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/waitandnotify/Data.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/waitandnotify/NetworkDriver.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/waitandnotify/NetworkDriver.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/waitandnotify/NetworkDriver.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/waitandnotify/NetworkDriver.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/waitandnotify/Receiver.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/waitandnotify/Receiver.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/waitandnotify/Receiver.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/waitandnotify/Receiver.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/waitandnotify/Sender.java b/core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/waitandnotify/Sender.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/waitandnotify/Sender.java
rename to core-java-modules/core-java-concurrency-basic-2/src/main/java/com/baeldung/concurrent/waitandnotify/Sender.java
diff --git a/core-java-modules/core-java-concurrency-basic-2/src/main/resources/logback.xml b/core-java-modules/core-java-concurrency-basic-2/src/main/resources/logback.xml
new file mode 100644
index 0000000000..56af2d397e
--- /dev/null
+++ b/core-java-modules/core-java-concurrency-basic-2/src/main/resources/logback.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/synchronize/BaeldungSychronizedBlockUnitTest.java b/core-java-modules/core-java-concurrency-basic-2/src/test/java/com/baeldung/concurrent/synchronize/BaeldungSychronizedBlockUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/synchronize/BaeldungSychronizedBlockUnitTest.java
rename to core-java-modules/core-java-concurrency-basic-2/src/test/java/com/baeldung/concurrent/synchronize/BaeldungSychronizedBlockUnitTest.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizeMethodsUnitTest.java b/core-java-modules/core-java-concurrency-basic-2/src/test/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizeMethodsUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizeMethodsUnitTest.java
rename to core-java-modules/core-java-concurrency-basic-2/src/test/java/com/baeldung/concurrent/synchronize/BaeldungSynchronizeMethodsUnitTest.java
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/waitandnotify/NetworkIntegrationTest.java b/core-java-modules/core-java-concurrency-basic-2/src/test/java/com/baeldung/concurrent/waitandnotify/NetworkIntegrationTest.java
similarity index 100%
rename from core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/waitandnotify/NetworkIntegrationTest.java
rename to core-java-modules/core-java-concurrency-basic-2/src/test/java/com/baeldung/concurrent/waitandnotify/NetworkIntegrationTest.java
index e2bc328df3..473fe6ff8e 100644
--- a/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/waitandnotify/NetworkIntegrationTest.java
+++ b/core-java-modules/core-java-concurrency-basic-2/src/test/java/com/baeldung/concurrent/waitandnotify/NetworkIntegrationTest.java
@@ -1,15 +1,15 @@
package com.baeldung.concurrent.waitandnotify;
-import static org.junit.Assert.assertEquals;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
public class NetworkIntegrationTest {
diff --git a/core-java-modules/core-java-concurrency-basic/README.md b/core-java-modules/core-java-concurrency-basic/README.md
index c498bed315..2f9d014103 100644
--- a/core-java-modules/core-java-concurrency-basic/README.md
+++ b/core-java-modules/core-java-concurrency-basic/README.md
@@ -3,18 +3,13 @@
## Core Java Concurrency Basic Examples
### Relevant Articles:
-- [Guide To CompletableFuture](http://www.baeldung.com/java-completablefuture)
-- [A Guide to the Java ExecutorService](http://www.baeldung.com/java-executor-service-tutorial)
-- [Guide to java.util.concurrent.Future](http://www.baeldung.com/java-future)
-- [Difference Between Wait and Sleep in Java](http://www.baeldung.com/java-wait-and-sleep)
-- [Guide to the Synchronized Keyword in Java](http://www.baeldung.com/java-synchronized)
-- [Overview of the java.util.concurrent](http://www.baeldung.com/java-util-concurrent)
-- [Implementing a Runnable vs Extending a Thread](http://www.baeldung.com/java-runnable-vs-extending-thread)
-- [How to Kill a Java Thread](http://www.baeldung.com/java-thread-stop)
-- [ExecutorService – Waiting for Threads to Finish](http://www.baeldung.com/java-executor-wait-for-threads)
-- [wait and notify() Methods in Java](http://www.baeldung.com/java-wait-notify)
-- [Life Cycle of a Thread in Java](http://www.baeldung.com/java-thread-lifecycle)
-- [Runnable vs. Callable in Java](http://www.baeldung.com/java-runnable-callable)
+- [Guide To CompletableFuture](https://www.baeldung.com/java-completablefuture)
+- [A Guide to the Java ExecutorService](https://www.baeldung.com/java-executor-service-tutorial)
+- [Guide to java.util.concurrent.Future](https://www.baeldung.com/java-future)
+- [Overview of the java.util.concurrent](https://www.baeldung.com/java-util-concurrent)
+- [Implementing a Runnable vs Extending a Thread](https://www.baeldung.com/java-runnable-vs-extending-thread)
+- [How to Kill a Java Thread](https://www.baeldung.com/java-thread-stop)
+- [ExecutorService – Waiting for Threads to Finish](https://www.baeldung.com/java-executor-wait-for-threads)
+- [Runnable vs. Callable in Java](https://www.baeldung.com/java-runnable-callable)
- [What is Thread-Safety and How to Achieve it?](https://www.baeldung.com/java-thread-safety)
- [How to Start a Thread in Java](https://www.baeldung.com/java-start-thread)
-- [How to Delay Code Execution in Java](https://www.baeldung.com/java-delay-code-execution)
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/CounterTest.java b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/CounterUnitTest.java
similarity index 91%
rename from core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/CounterTest.java
rename to core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/CounterUnitTest.java
index 176151083c..6761b05282 100644
--- a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/CounterTest.java
+++ b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/CounterUnitTest.java
@@ -1,14 +1,16 @@
-package com.baeldung.concurrent.threadsafety.tests;
+package com.baeldung.concurrent.threadsafety;
-import org.junit.Test;
-import static org.assertj.core.api.Assertions.assertThat;
import com.baeldung.concurrent.threadsafety.callables.CounterCallable;
import com.baeldung.concurrent.threadsafety.services.Counter;
+import org.junit.Test;
+
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
-public class CounterTest {
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class CounterUnitTest {
@Test
public void whenCalledIncrementCounter_thenCorrect() throws Exception {
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ExtrinsicLockCounterTest.java b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ExtrinsicLockCounterUnitTest.java
similarity index 91%
rename from core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ExtrinsicLockCounterTest.java
rename to core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ExtrinsicLockCounterUnitTest.java
index e34eb250bf..2dcb846bf4 100644
--- a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ExtrinsicLockCounterTest.java
+++ b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ExtrinsicLockCounterUnitTest.java
@@ -1,14 +1,16 @@
-package com.baeldung.concurrent.threadsafety.tests;
+package com.baeldung.concurrent.threadsafety;
-import org.junit.Test;
-import static org.assertj.core.api.Assertions.assertThat;
import com.baeldung.concurrent.threadsafety.callables.ExtrinsicLockCounterCallable;
import com.baeldung.concurrent.threadsafety.services.ExtrinsicLockCounter;
+import org.junit.Test;
+
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
-public class ExtrinsicLockCounterTest {
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class ExtrinsicLockCounterUnitTest {
@Test
public void whenCalledIncrementCounter_thenCorrect() throws Exception {
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/MathUtilsTest.java b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/MathUtilsUnitTest.java
similarity index 55%
rename from core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/MathUtilsTest.java
rename to core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/MathUtilsUnitTest.java
index 2708152906..018d4164f0 100644
--- a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/MathUtilsTest.java
+++ b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/MathUtilsUnitTest.java
@@ -1,13 +1,16 @@
-package com.baeldung.concurrent.threadsafety.tests;
+package com.baeldung.concurrent.threadsafety;
import com.baeldung.concurrent.threadsafety.mathutils.MathUtils;
import org.junit.Test;
+
+import java.math.BigInteger;
+
import static org.assertj.core.api.Assertions.assertThat;
-public class MathUtilsTest {
+public class MathUtilsUnitTest {
@Test
public void whenCalledFactorialMethod_thenCorrect() {
- assertThat(MathUtils.factorial(2)).isEqualTo(2);
+ assertThat(MathUtils.factorial(2)).isEqualTo(new BigInteger("2"));
}
}
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/MessageServiceTest.java b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/MessageServiceUnitTest.java
similarity index 91%
rename from core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/MessageServiceTest.java
rename to core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/MessageServiceUnitTest.java
index e62206c09a..4df695a537 100644
--- a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/MessageServiceTest.java
+++ b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/MessageServiceUnitTest.java
@@ -1,14 +1,16 @@
-package com.baeldung.concurrent.threadsafety.tests;
+package com.baeldung.concurrent.threadsafety;
-import org.junit.Test;
-import static org.assertj.core.api.Assertions.assertThat;
import com.baeldung.concurrent.threadsafety.callables.MessageServiceCallable;
import com.baeldung.concurrent.threadsafety.services.MessageService;
+import org.junit.Test;
+
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
-public class MessageServiceTest {
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class MessageServiceUnitTest {
@Test
public void whenCalledgetMessage_thenCorrect() throws Exception {
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ReentrantLockCounterTest.java b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ReentrantLockCounterUnitTest.java
similarity index 91%
rename from core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ReentrantLockCounterTest.java
rename to core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ReentrantLockCounterUnitTest.java
index 20fa2c74da..330d2d4c86 100644
--- a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ReentrantLockCounterTest.java
+++ b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ReentrantLockCounterUnitTest.java
@@ -1,14 +1,16 @@
-package com.baeldung.concurrent.threadsafety.tests;
+package com.baeldung.concurrent.threadsafety;
import com.baeldung.concurrent.threadsafety.callables.ReentrantLockCounterCallable;
import com.baeldung.concurrent.threadsafety.services.ReentrantLockCounter;
+import org.junit.Test;
+
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
-import static org.assertj.core.api.Assertions.assertThat;
-import org.junit.Test;
-public class ReentrantLockCounterTest {
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class ReentrantLockCounterUnitTest {
@Test
public void whenCalledIncrementCounter_thenCorrect() throws Exception {
diff --git a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ReentrantReadWriteLockCounterTest.java b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ReentrantReadWriteLockCounterUnitTest.java
similarity index 90%
rename from core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ReentrantReadWriteLockCounterTest.java
rename to core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ReentrantReadWriteLockCounterUnitTest.java
index 6113473cac..71fad2c87f 100644
--- a/core-java-modules/core-java-concurrency-basic/src/test/com/baeldung/concurrent/threadsafety/tests/ReentrantReadWriteLockCounterTest.java
+++ b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/threadsafety/ReentrantReadWriteLockCounterUnitTest.java
@@ -1,14 +1,16 @@
-package com.baeldung.concurrent.threadsafety.tests;
+package com.baeldung.concurrent.threadsafety;
import com.baeldung.concurrent.threadsafety.callables.ReentranReadWriteLockCounterCallable;
import com.baeldung.concurrent.threadsafety.services.ReentrantReadWriteLockCounter;
+import org.junit.Test;
+
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
-import static org.assertj.core.api.Assertions.assertThat;
-import org.junit.Test;
-public class ReentrantReadWriteLockCounterTest {
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class ReentrantReadWriteLockCounterUnitTest {
@Test
public void whenCalledIncrementCounter_thenCorrect() throws Exception {
@@ -16,9 +18,9 @@ public class ReentrantReadWriteLockCounterTest {
ReentrantReadWriteLockCounter counter = new ReentrantReadWriteLockCounter();
Future future1 = (Future) executorService.submit(new ReentranReadWriteLockCounterCallable(counter));
Future future2 = (Future) executorService.submit(new ReentranReadWriteLockCounterCallable(counter));
-
- assertThat(future1.get()).isEqualTo(1);
+
assertThat(future2.get()).isEqualTo(2);
+ assertThat(future1.get()).isEqualTo(1);
}
}
diff --git a/pom.xml b/pom.xml
index d44bae0453..6972736288 100644
--- a/pom.xml
+++ b/pom.xml
@@ -407,6 +407,7 @@
core-java-modules/core-java-collections-array-list
core-java-modules/core-java-collections-set
core-java-modules/core-java-concurrency-basic
+ core-java-modules/core-java-concurrency-basic-2
core-java-modules/core-java-concurrency-collections
core-java-modules/core-java-io
core-java-modules/core-java-io-files
@@ -1146,6 +1147,7 @@
core-java-modules/core-java-collections-array-list
core-java-modules/core-java-collections-set
core-java-modules/core-java-concurrency-basic
+ core-java-modules/core-java-concurrency-basic-2
core-java-modules/core-java-concurrency-collections
core-java-modules/core-java-io
core-java-modules/core-java-io-files