diff --git a/strategy/pom.xml b/strategy/pom.xml
index c1668277a..0012775f5 100644
--- a/strategy/pom.xml
+++ b/strategy/pom.xml
@@ -14,5 +14,10 @@
junit
test
+
+ org.mockito
+ mockito-core
+ test
+
diff --git a/strategy/src/test/java/com/iluwatar/strategy/DragonSlayerTest.java b/strategy/src/test/java/com/iluwatar/strategy/DragonSlayerTest.java
new file mode 100644
index 000000000..907d65ac4
--- /dev/null
+++ b/strategy/src/test/java/com/iluwatar/strategy/DragonSlayerTest.java
@@ -0,0 +1,48 @@
+package com.iluwatar.strategy;
+
+import org.junit.Test;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+
+/**
+ * Date: 12/29/15 - 10:50 PM
+ *
+ * @author Jeroen Meulemeester
+ */
+public class DragonSlayerTest {
+
+ /**
+ * Verify if the dragon slayer uses the strategy during battle
+ */
+ @Test
+ public void testGoToBattle() {
+ final DragonSlayingStrategy strategy = mock(DragonSlayingStrategy.class);
+ final DragonSlayer dragonSlayer = new DragonSlayer(strategy);
+
+ dragonSlayer.goToBattle();
+ verify(strategy).execute();
+ verifyNoMoreInteractions(strategy);
+ }
+
+ /**
+ * Verify if the dragon slayer uses the new strategy during battle after a change of strategy
+ */
+ @Test
+ public void testChangeStrategy() throws Exception {
+ final DragonSlayingStrategy initialStrategy = mock(DragonSlayingStrategy.class);
+ final DragonSlayer dragonSlayer = new DragonSlayer(initialStrategy);
+
+ dragonSlayer.goToBattle();
+ verify(initialStrategy).execute();
+
+ final DragonSlayingStrategy newStrategy = mock(DragonSlayingStrategy.class);
+ dragonSlayer.changeStrategy(newStrategy);
+
+ dragonSlayer.goToBattle();
+ verify(newStrategy).execute();
+
+ verifyNoMoreInteractions(initialStrategy, newStrategy);
+ }
+}
\ No newline at end of file
diff --git a/strategy/src/test/java/com/iluwatar/strategy/DragonSlayingStrategyTest.java b/strategy/src/test/java/com/iluwatar/strategy/DragonSlayingStrategyTest.java
new file mode 100644
index 000000000..f9d18e22c
--- /dev/null
+++ b/strategy/src/test/java/com/iluwatar/strategy/DragonSlayingStrategyTest.java
@@ -0,0 +1,104 @@
+package com.iluwatar.strategy;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import java.io.PrintStream;
+import java.util.Arrays;
+import java.util.Collection;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+
+/**
+ * Date: 12/29/15 - 10:58 PM
+ *
+ * @author Jeroen Meulemeester
+ */
+@RunWith(Parameterized.class)
+public class DragonSlayingStrategyTest {
+
+ /**
+ * @return The test parameters for each cycle
+ */
+ @Parameterized.Parameters
+ public static Collection