diff --git a/osgi/intro/osgi-intro-sample-activator/pom.xml b/osgi/intro/osgi-intro-sample-activator/pom.xml
deleted file mode 100644
index 1584913627..0000000000
--- a/osgi/intro/osgi-intro-sample-activator/pom.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
- osgi-intro
- com.baeldung
- 1.0-SNAPSHOT
-
- 4.0.0
-
-
- bundle
-
- osgi-intro-sample-activator
-
-
-
- org.osgi
- org.osgi.core
-
-
-
-
-
-
- org.apache.felix
- maven-bundle-plugin
- true
-
-
- ${project.groupId}.${project.artifactId}
- ${project.artifactId}
- ${project.version}
-
-
- com.baeldung.osgi.sample.activator.HelloWorld
-
-
-
- com.baeldung.osgi.sample.activator
-
-
-
-
-
-
-
-
diff --git a/osgi/intro/osgi-intro-sample-activator/src/main/java/com/baeldung/osgi/sample/activator/HelloWorld.java b/osgi/intro/osgi-intro-sample-activator/src/main/java/com/baeldung/osgi/sample/activator/HelloWorld.java
deleted file mode 100644
index 72fe624bac..0000000000
--- a/osgi/intro/osgi-intro-sample-activator/src/main/java/com/baeldung/osgi/sample/activator/HelloWorld.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.baeldung.osgi.sample.activator;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class HelloWorld implements BundleActivator {
-
- public void start(BundleContext ctx) {
- System.out.println("Hello World.");
- }
-
- public void stop(BundleContext bundleContext) {
- System.out.println("Goodbye World.");
- }
-
-}
\ No newline at end of file
diff --git a/osgi/intro/osgi-intro-sample-client/pom.xml b/osgi/intro/osgi-intro-sample-client/pom.xml
deleted file mode 100644
index 4096674d7d..0000000000
--- a/osgi/intro/osgi-intro-sample-client/pom.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
- osgi-intro
- com.baeldung
- 1.0-SNAPSHOT
-
- 4.0.0
-
-
- osgi-intro-sample-client
-
- bundle
-
-
-
- com.baeldung
- osgi-intro-sample-service
- 1.0-SNAPSHOT
-
-
- org.osgi
- org.osgi.core
-
-
-
-
-
-
- org.apache.felix
- maven-bundle-plugin
-
-
- ${project.groupId}.${project.artifactId}
- ${project.artifactId}
- ${project.version}
- com.baeldung.osgi.sample.client.Client
-
- com.baeldung.osgi.sample.client
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/osgi/intro/osgi-intro-sample-client/src/main/java/com/baeldung/osgi/sample/client/Client.java b/osgi/intro/osgi-intro-sample-client/src/main/java/com/baeldung/osgi/sample/client/Client.java
deleted file mode 100644
index a82ed63fa7..0000000000
--- a/osgi/intro/osgi-intro-sample-client/src/main/java/com/baeldung/osgi/sample/client/Client.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.baeldung.osgi.sample.client;
-
-import com.baeldung.osgi.sample.service.definition.Greeter;
-import org.osgi.framework.*;
-
-public class Client implements BundleActivator, ServiceListener {
-
- private BundleContext ctx;
- private ServiceReference serviceReference;
-
- public void start(BundleContext ctx) {
- this.ctx = ctx;
- try {
- ctx.addServiceListener(this, "(objectclass=" + Greeter.class.getName() + ")");
- } catch (InvalidSyntaxException ise) {
- ise.printStackTrace();
- }
- }
-
- public void stop(BundleContext bundleContext) {
- if (serviceReference != null) {
- ctx.ungetService(serviceReference);
- }
- this.ctx = null;
- }
-
- public void serviceChanged(ServiceEvent serviceEvent) {
- int type = serviceEvent.getType();
- switch (type) {
- case (ServiceEvent.REGISTERED):
- System.out.println("Notification of service registered.");
- serviceReference = serviceEvent.getServiceReference();
- Greeter service = (Greeter) (ctx.getService(serviceReference));
- System.out.println(service.sayHiTo("John"));
- break;
- case (ServiceEvent.UNREGISTERING):
- System.out.println("Notification of service unregistered.");
- ctx.ungetService(serviceEvent.getServiceReference());
- break;
- default:
- break;
- }
- }
-}
diff --git a/osgi/intro/osgi-intro-sample-service/pom.xml b/osgi/intro/osgi-intro-sample-service/pom.xml
deleted file mode 100644
index cbc660bb74..0000000000
--- a/osgi/intro/osgi-intro-sample-service/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
- osgi-intro
- com.baeldung
- 1.0-SNAPSHOT
-
- 4.0.0
-
- osgi-intro-sample-service
-
-
- bundle
-
-
-
- org.osgi
- org.osgi.core
-
-
-
-
-
-
- org.apache.felix
- maven-bundle-plugin
- true
-
-
- ${project.groupId}.${project.artifactId}
- ${project.artifactId}
- ${project.version}
- com.baeldung.osgi.sample.service.implementation.GreeterImpl
- com.baeldung.osgi.sample.service.implementation
- com.baeldung.osgi.sample.service.definition
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/osgi/intro/osgi-intro-sample-service/src/main/java/com/baeldung/osgi/sample/service/definition/Greeter.java b/osgi/intro/osgi-intro-sample-service/src/main/java/com/baeldung/osgi/sample/service/definition/Greeter.java
deleted file mode 100644
index f1e82a3465..0000000000
--- a/osgi/intro/osgi-intro-sample-service/src/main/java/com/baeldung/osgi/sample/service/definition/Greeter.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.baeldung.osgi.sample.service.definition;
-
-public interface Greeter {
-
- public String sayHiTo(String name);
-
-}
diff --git a/osgi/intro/osgi-intro-sample-service/src/main/java/com/baeldung/osgi/sample/service/implementation/GreeterImpl.java b/osgi/intro/osgi-intro-sample-service/src/main/java/com/baeldung/osgi/sample/service/implementation/GreeterImpl.java
deleted file mode 100644
index 48e26e3e6b..0000000000
--- a/osgi/intro/osgi-intro-sample-service/src/main/java/com/baeldung/osgi/sample/service/implementation/GreeterImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.baeldung.osgi.sample.service.implementation;
-
-import com.baeldung.osgi.sample.service.definition.Greeter;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-
-import java.util.Hashtable;
-
-public class GreeterImpl implements Greeter, BundleActivator {
-
- private ServiceReference reference;
- private ServiceRegistration registration;
-
- @Override public String sayHiTo(String name) {
- return "Hello " + name;
- }
-
- @Override public void start(BundleContext context) throws Exception {
- System.out.println("Registering service.");
- registration = context.registerService(Greeter.class, new GreeterImpl(), new Hashtable());
- reference = registration.getReference();
- }
-
- @Override public void stop(BundleContext context) throws Exception {
- System.out.println("Unregistering service.");
- registration.unregister();
- }
-}
diff --git a/osgi/intro/pom.xml b/osgi/intro/pom.xml
deleted file mode 100644
index 83db90d19e..0000000000
--- a/osgi/intro/pom.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
- 4.0.0
-
- osgi-intro
- pom
- 1.0-SNAPSHOT
-
- osgi-intro-sample-activator
- osgi-intro-sample-service
- osgi-intro-sample-client
-
-
-
- com.baeldung
- parent-modules
- 1.0.0-SNAPSHOT
- ../..
-
-
-
-
-
-
- ${project.groupId}
- osgi-intro-client
- ${project.version}
-
-
-
- ${project.groupId}
- osgi-intro-service
- ${project.version}
-
-
-
- ${project.groupId}
- osgi-intro-gxyz
- ${project.version}
-
-
-
- ${project.groupId}
- osgi-intro-mapquest
- ${project.version}
-
-
-
- com.squareup.okhttp3
- okhttp
- 3.9.0
-
-
- javax.json
- javax.json-api
- 1.1
-
-
- org.glassfish
- javax.json
- 1.1
-
-
- org.osgi
- org.osgi.core
- 5.0.0
- provided
-
-
-
-
-
-
-
-
- org.apache.felix
- maven-bundle-plugin
- 1.4.0
- true
-
-
-
-
-
-
\ No newline at end of file
diff --git a/osgi/intro/readme.md b/osgi/readme.md
similarity index 100%
rename from osgi/intro/readme.md
rename to osgi/readme.md
diff --git a/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/application/Application.java b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/application/Application.java
index 581c774f52..5570c2e1dd 100644
--- a/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/application/Application.java
+++ b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/application/Application.java
@@ -1,18 +1,21 @@
package com.baeldung.templatemethodpattern.application;
import com.baeldung.templatemethodpattern.model.Computer;
+import com.baeldung.templatemethodpattern.model.ComputerBuilder;
+import com.baeldung.templatemethodpattern.model.HighEndComputerBuilder;
+import com.baeldung.templatemethodpattern.model.StandardComputerBuilder;
import com.baeldung.templatemethodpattern.model.HighEndComputer;
import com.baeldung.templatemethodpattern.model.StandardComputer;
public class Application {
public static void main(String[] args) {
- Computer standardComputer = new StandardComputer();
- standardComputer.buildComputer();
+ ComputerBuilder standardComputerBuilder = new StandardComputerBuilder();
+ Computer standardComputer = standardComputerBuilder.buildComputer();
standardComputer.getComputerParts().forEach((k, v) -> System.out.println("Part : " + k + " Value : " + v));
- Computer highEndComputer = new HighEndComputer();
- highEndComputer.buildComputer();
+ ComputerBuilder highEndComputerBuilder = new HighEndComputerBuilder();
+ Computer highEndComputer = highEndComputerBuilder.buildComputer();
highEndComputer.getComputerParts().forEach((k, v) -> System.out.println("Part : " + k + " Value : " + v));
}
}
diff --git a/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/Computer.java b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/Computer.java
index f18485428f..d422204b82 100644
--- a/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/Computer.java
+++ b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/Computer.java
@@ -1,20 +1,20 @@
package com.baeldung.templatemethodpattern.model;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.HashMap;
import java.util.Map;
+import java.util.ArrayList;
+import java.util.List;
-public abstract class Computer {
+public abstract class ComputerBuilder {
protected Map computerParts = new HashMap<>();
protected List moterboardSetupStatus = new ArrayList<>();
- public final void buildComputer() {
- addMotherboard();
- setupMotherboard();
- addProcessor();
+ public final Computer buildComputer() {
+ addMotherboard();
+ setupMotherboard();
+ addProcessor();
+ return getComputer();
}
public abstract void addMotherboard();
@@ -29,5 +29,9 @@ public abstract class Computer {
public Map getComputerParts() {
return computerParts;
- }
+ }
+
+ private Computer getComputer() {
+ return new Computer(computerParts);
+ }
}
diff --git a/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/ComputerBuilder.java b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/ComputerBuilder.java
new file mode 100644
index 0000000000..f264d33215
--- /dev/null
+++ b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/ComputerBuilder.java
@@ -0,0 +1,37 @@
+package com.baeldung.templatemethodpattern.model;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public abstract class ComputerBuilder {
+
+ protected Map computerParts = new HashMap<>();
+ protected List moterboardSetupStatus = new ArrayList<>();
+
+ public final Computer buildComputer() {
+ addMotherboard();
+ setupMotherboard();
+ addProcessor();
+ return getComputer();
+ }
+
+ public abstract void addMotherboard();
+
+ public abstract void setupMotherboard();
+
+ public abstract void addProcessor();
+
+ public List getMotherboardSetupStatus() {
+ return moterboardSetupStatus;
+ }
+
+ public Map getComputerParts() {
+ return computerParts;
+ }
+
+ private Computer getComputer() {
+ return new Computer(computerParts);
+ }
+}
diff --git a/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/HighEndComputerBuilder.java b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/HighEndComputerBuilder.java
new file mode 100644
index 0000000000..cf53a2ae6c
--- /dev/null
+++ b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/HighEndComputerBuilder.java
@@ -0,0 +1,21 @@
+package com.baeldung.templatemethodpattern.model;
+
+public class HighEndComputerBuilder extends ComputerBuilder {
+
+ @Override
+ public void addMotherboard() {
+ computerParts.put("Motherboard", "High-end Motherboard");
+ }
+
+ @Override
+ public void setupMotherboard() {
+ moterboardSetupStatus.add("Screwing the high-end motherboard to the case.");
+ moterboardSetupStatus.add("Pluging in the power supply connectors.");
+ moterboardSetupStatus.forEach(step -> System.out.println(step));
+ }
+
+ @Override
+ public void addProcessor() {
+ computerParts.put("Processor", "High-end Processor");
+ }
+}
diff --git a/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/StandardComputerBuilder.java b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/StandardComputerBuilder.java
new file mode 100644
index 0000000000..1d9bd0e00f
--- /dev/null
+++ b/patterns/template-method/src/main/java/com/baeldung/templatemethodpattern/model/StandardComputerBuilder.java
@@ -0,0 +1,21 @@
+package com.baeldung.templatemethodpattern.model;
+
+public class StandardComputerBuilder extends ComputerBuilder {
+
+ @Override
+ public void addMotherboard() {
+ computerParts.put("Motherboard", "Standard Motherboard");
+ }
+
+ @Override
+ public void setupMotherboard() {
+ moterboardSetupStatus.add("Screwing the standard motherboard to the case.");
+ moterboardSetupStatus.add("Pluging in the power supply connectors.");
+ moterboardSetupStatus.forEach(step -> System.out.println(step));
+ }
+
+ @Override
+ public void addProcessor() {
+ computerParts.put("Processor", "Standard Processor");
+ }
+}
diff --git a/patterns/template-method/src/test/java/com/baeldung/templatemethodpatterntest/TemplateMethodPatternTest.java b/patterns/template-method/src/test/java/com/baeldung/templatemethodpatterntest/TemplateMethodPatternTest.java
index 526873c4f2..df5751fb03 100644
--- a/patterns/template-method/src/test/java/com/baeldung/templatemethodpatterntest/TemplateMethodPatternTest.java
+++ b/patterns/template-method/src/test/java/com/baeldung/templatemethodpatterntest/TemplateMethodPatternTest.java
@@ -1,25 +1,30 @@
package com.baeldung.templatemethodpatterntest;
+import com.baeldung.templatemethodpattern.model.Computer;
+import com.baeldung.templatemethodpattern.model.HighEndComputerBuilder;
+import com.baeldung.templatemethodpattern.model.StandardComputerBuilder;
import com.baeldung.templatemethodpattern.model.HighEndComputer;
import com.baeldung.templatemethodpattern.model.StandardComputer;
import org.junit.Assert;
import static org.junit.Assert.assertEquals;
import org.junit.BeforeClass;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.junit.Assert.assertThat;
public class TemplateMethodPatternTest {
- private static StandardComputer standardComputer;
- private static HighEndComputer highEndComputer;
-
+ private static StandardComputerBuilder standardComputerBuilder;
+ private static HighEndComputerBuilder highEndComputerBuilder;
+
@BeforeClass
- public static void setUpStandardComputerInstance() {
- standardComputer = new StandardComputer();
+ public static void setUpStandardComputerBuilderInstance() {
+ standardComputerBuilder = new StandardComputerBuilder();
}
-
+
@BeforeClass
- public static void setUpHighEndComputerInstance() {
- highEndComputer = new HighEndComputer();
+ public static void setUpHighEndComputerBuilderInstance() {
+ highEndComputerBuilder = new HighEndComputerBuilder();
}
@Test
@@ -30,45 +35,55 @@ public class TemplateMethodPatternTest {
@Test
public void givenStandardMotheroboard_whenSetup_thenTwoEqualAssertions() {
- standardComputer.setupMotherboard();
- assertEquals("Screwing the standard motherboard to the case.", standardComputer.getMotherboardSetupStatus().get(0));
- assertEquals("Plugin in the power supply connectors.", standardComputer.getMotherboardSetupStatus().get(1));
+ standardComputerBuilder.setupMotherboard();
+ assertEquals("Screwing the standard motherboard to the case.", standardComputerBuilder.getMotherboardSetupStatus().get(0));
+ assertEquals("Pluging in the power supply connectors.", standardComputerBuilder.getMotherboardSetupStatus().get(1));
}
-
+
@Test
public void givenStandardProcessor_whenAddingProcessor_thenEqualAssertion() {
- standardComputer.addProcessor();
- assertEquals("Standard Processor", standardComputer.getComputerParts().get("Processor"));
+ standardComputerBuilder.addProcessor();
+ assertEquals("Standard Processor", standardComputerBuilder.getComputerParts().get("Processor"));
}
@Test
public void givenAllStandardParts_whenBuildingComputer_thenTwoParts() {
- standardComputer.buildComputer();
- assertEquals(2, standardComputer.getComputerParts().size());
+ standardComputerBuilder.buildComputer();
+ assertEquals(2, standardComputerBuilder.getComputerParts().size());
+ }
+
+ @Test
+ public void givenAllStandardParts_whenComputerisBuilt_thenComputerInstance() {
+ assertThat(standardComputerBuilder.buildComputer(), instanceOf(Computer.class));
+ }
+
+ @Test
+ public void givenHighEnddMotherBoard_whenAddingMotherBoard_thenEqualAssertion() {
+ highEndComputerBuilder.addMotherboard();
+ Assert.assertEquals("High-end Motherboard", highEndComputerBuilder.getComputerParts().get("Motherboard"));
}
- @Test
- public void givenHighEnddMotherBoard_whenAddingMotherBoard_thenEqualAssertion() {
- highEndComputer.addMotherboard();
- Assert.assertEquals("High-end Motherboard", highEndComputer.getComputerParts().get("Motherboard"));
- }
-
@Test
public void givenHighEnddMotheroboard_whenSetup_thenTwoEqualAssertions() {
- highEndComputer.setupMotherboard();
- assertEquals("Screwing the high-end motherboard to the case.", highEndComputer.getMotherboardSetupStatus().get(0));
- assertEquals("Plugin in the power supply connectors.", highEndComputer.getMotherboardSetupStatus().get(1));
+ highEndComputerBuilder.setupMotherboard();
+ assertEquals("Screwing the high-end motherboard to the case.", highEndComputerBuilder.getMotherboardSetupStatus().get(0));
+ assertEquals("Pluging in the power supply connectors.", highEndComputerBuilder.getMotherboardSetupStatus().get(1));
}
-
+
@Test
public void givenHightEndProcessor_whenAddingProcessor_thenEqualAssertion() {
- highEndComputer.addProcessor();
- Assert.assertEquals("High-end Processor", highEndComputer.getComputerParts().get("Processor"));
+ highEndComputerBuilder.addProcessor();
+ assertEquals("High-end Processor", highEndComputerBuilder.getComputerParts().get("Processor"));
}
@Test
public void givenAllHighEnddParts_whenBuildingComputer_thenTwoParts() {
- highEndComputer.buildComputer();
- assertEquals(2, highEndComputer.getComputerParts().size());
- }
+ highEndComputerBuilder.buildComputer();
+ assertEquals(2, highEndComputerBuilder.getComputerParts().size());
+ }
+
+ @Test
+ public void givenAllHighEndParts_whenComputerisBuilt_thenComputerInstance() {
+ assertThat(standardComputerBuilder.buildComputer(), instanceOf(Computer.class));
+ }
}
diff --git a/pom.xml b/pom.xml
index 631a2c9b26..5af1dab012 100644
--- a/pom.xml
+++ b/pom.xml
@@ -118,6 +118,7 @@
mustache
noexception
+ osgi
orika
patterns
diff --git a/testing-modules/junit-5/README.md b/testing-modules/junit-5/README.md
index d0fa19bd83..20ecb1eeab 100644
--- a/testing-modules/junit-5/README.md
+++ b/testing-modules/junit-5/README.md
@@ -7,3 +7,4 @@
- [A Guied to JUnit 5 Extensions](http://www.baeldung.com/junit-5-extensions)
- [Inject Parameters into JUnit Jupiter Unit Tests](http://www.baeldung.com/junit-5-parameters)
- [Mockito and JUnit 5 – Using ExtendWith](http://www.baeldung.com/mockito-junit-5-extension)
+- [JUnit 5 – @RunWith](http://www.baeldung.com/junit-5-runwith)
diff --git a/junit5/src/main/java/com/baeldung/junit5/Greetings.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5/Greetings.java
similarity index 100%
rename from junit5/src/main/java/com/baeldung/junit5/Greetings.java
rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5/Greetings.java
diff --git a/junit5/src/test/java/com/baeldung/GreetingsTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/GreetingsTest.java
similarity index 99%
rename from junit5/src/test/java/com/baeldung/GreetingsTest.java
rename to testing-modules/junit-5/src/test/java/com/baeldung/GreetingsTest.java
index e894d5857c..efde4e7404 100644
--- a/junit5/src/test/java/com/baeldung/GreetingsTest.java
+++ b/testing-modules/junit-5/src/test/java/com/baeldung/GreetingsTest.java
@@ -16,4 +16,4 @@ public class GreetingsTest {
assertTrue("Hello".equals(Greetings.sayHello()));
}
-}
+}
\ No newline at end of file
diff --git a/junit5/src/test/java/com/baeldung/junit5/spring/GreetingsSpringTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/spring/GreetingsSpringTest.java
similarity index 99%
rename from junit5/src/test/java/com/baeldung/junit5/spring/GreetingsSpringTest.java
rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5/spring/GreetingsSpringTest.java
index e7a8a1c1e7..3b89508c88 100644
--- a/junit5/src/test/java/com/baeldung/junit5/spring/GreetingsSpringTest.java
+++ b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/spring/GreetingsSpringTest.java
@@ -18,4 +18,4 @@ public class GreetingsSpringTest {
assertTrue("Hello".equals(Greetings.sayHello()));
}
-}
+}
\ No newline at end of file
diff --git a/junit5/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java
similarity index 100%
rename from junit5/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java
rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java
diff --git a/testing-modules/rest-testing/src/main/resources/Feature/cucumber.feature b/testing-modules/rest-testing/src/main/resources/Feature/cucumber.feature
deleted file mode 100644
index 99dd8249fe..0000000000
--- a/testing-modules/rest-testing/src/main/resources/Feature/cucumber.feature
+++ /dev/null
@@ -1,10 +0,0 @@
-Feature: Testing a REST API
- Users should be able to submit GET and POST requests to a web service, represented by WireMock
-
- Scenario: Data Upload to a web service
- When users upload data on a project
- Then the server should handle it and return a success status
-
- Scenario: Data retrieval from a web service
- When users want to get information on the Cucumber project
- Then the requested data is returned
\ No newline at end of file
diff --git a/rest-testing/src/main/resources/karate/cucumber.feature b/testing-modules/rest-testing/src/main/resources/karate/cucumber.feature
similarity index 100%
rename from rest-testing/src/main/resources/karate/cucumber.feature
rename to testing-modules/rest-testing/src/main/resources/karate/cucumber.feature
diff --git a/rest-testing/src/test/java/com/baeldung/rest/karate/KarateUnitTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/karate/KarateUnitTest.java
similarity index 100%
rename from rest-testing/src/test/java/com/baeldung/rest/karate/KarateUnitTest.java
rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/karate/KarateUnitTest.java
diff --git a/rest-testing/src/test/resources/karate/user.feature b/testing-modules/rest-testing/src/test/resources/karate/user.feature
similarity index 100%
rename from rest-testing/src/test/resources/karate/user.feature
rename to testing-modules/rest-testing/src/test/resources/karate/user.feature
diff --git a/testing-modules/selenium-junit-testng/README.md b/testing-modules/selenium-junit-testng/README.md
index 29393b956b..0137212290 100644
--- a/testing-modules/selenium-junit-testng/README.md
+++ b/testing-modules/selenium-junit-testng/README.md
@@ -1,4 +1,3 @@
### Relevant Articles:
- [Guide to Selenium with JUnit / TestNG](http://www.baeldung.com/java-selenium-with-junit-and-testng)
-- [Testing a Site with Selenium / Webdriver](http://www.baeldung.com)
- [Testing with Selenium/WebDriver and the Page Object Pattern](http://www.baeldung.com/selenium-webdriver-page-object)