diff --git a/monostate/pom.xml b/monostate/pom.xml
index 2f253084d..72e2231f1 100644
--- a/monostate/pom.xml
+++ b/monostate/pom.xml
@@ -14,5 +14,10 @@
junit
test
+
+ org.mockito
+ mockito-core
+ test
+
diff --git a/monostate/src/main/java/com/iluwatar/monostate/App.java b/monostate/src/main/java/com/iluwatar/monostate/App.java
index 0daad5b67..5c61371fa 100644
--- a/monostate/src/main/java/com/iluwatar/monostate/App.java
+++ b/monostate/src/main/java/com/iluwatar/monostate/App.java
@@ -28,8 +28,8 @@ public class App {
public static void main(String[] args) {
LoadBalancer loadBalancer1 = new LoadBalancer();
LoadBalancer loadBalancer2 = new LoadBalancer();
- loadBalancer1.serverequest(new Request("Hello"));
- loadBalancer2.serverequest(new Request("Hello World"));
+ loadBalancer1.serverRequest(new Request("Hello"));
+ loadBalancer2.serverRequest(new Request("Hello World"));
}
}
diff --git a/monostate/src/main/java/com/iluwatar/monostate/LoadBalancer.java b/monostate/src/main/java/com/iluwatar/monostate/LoadBalancer.java
index b81e44251..5870ca0a7 100644
--- a/monostate/src/main/java/com/iluwatar/monostate/LoadBalancer.java
+++ b/monostate/src/main/java/com/iluwatar/monostate/LoadBalancer.java
@@ -39,7 +39,7 @@ public class LoadBalancer {
return lastServedId;
}
- public void serverequest(Request request) {
+ public void serverRequest(Request request) {
if (lastServedId >= servers.size()) {
lastServedId = 0;
}
diff --git a/monostate/src/main/java/com/iluwatar/monostate/Server.java b/monostate/src/main/java/com/iluwatar/monostate/Server.java
index f48f4ad0f..e0b3f850a 100644
--- a/monostate/src/main/java/com/iluwatar/monostate/Server.java
+++ b/monostate/src/main/java/com/iluwatar/monostate/Server.java
@@ -25,7 +25,7 @@ public class Server {
return port;
}
- public final void serve(Request request) {
+ public void serve(Request request) {
System.out.println("Server ID " + id + " associated to host : " + getHost() + " and Port "
+ getPort() + " Processed request with value " + request.value);
}
diff --git a/monostate/src/test/java/com/iluwatar/monostate/AppTest.java b/monostate/src/test/java/com/iluwatar/monostate/AppTest.java
index c502dd14a..e216ae242 100644
--- a/monostate/src/test/java/com/iluwatar/monostate/AppTest.java
+++ b/monostate/src/test/java/com/iluwatar/monostate/AppTest.java
@@ -5,17 +5,6 @@ import org.junit.Test;
public class AppTest {
- @Test
- public void testSameStateAmonstAllInstances() {
- LoadBalancer balancer = new LoadBalancer();
- LoadBalancer balancer2 = new LoadBalancer();
- balancer.addServer(new Server("localhost", 8085, 6));
- // Both should have the same number of servers.
- Assert.assertTrue(balancer.getNoOfServers() == balancer2.getNoOfServers());
- // Both Should have the same LastServedId
- Assert.assertTrue(balancer.getLastServedId() == balancer2.getLastServedId());
- }
-
@Test
public void testMain() {
String[] args = {};
diff --git a/monostate/src/test/java/com/iluwatar/monostate/LoadBalancerTest.java b/monostate/src/test/java/com/iluwatar/monostate/LoadBalancerTest.java
new file mode 100644
index 000000000..130adae14
--- /dev/null
+++ b/monostate/src/test/java/com/iluwatar/monostate/LoadBalancerTest.java
@@ -0,0 +1,49 @@
+package com.iluwatar.monostate;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+
+/**
+ * Date: 12/21/15 - 12:26 PM
+ *
+ * @author Jeroen Meulemeester
+ */
+public class LoadBalancerTest {
+
+ @Test
+ public void testSameStateAmongstAllInstances() {
+ final LoadBalancer firstBalancer = new LoadBalancer();
+ final LoadBalancer secondBalancer = new LoadBalancer();
+ firstBalancer.addServer(new Server("localhost", 8085, 6));
+ // Both should have the same number of servers.
+ Assert.assertTrue(firstBalancer.getNoOfServers() == secondBalancer.getNoOfServers());
+ // Both Should have the same LastServedId
+ Assert.assertTrue(firstBalancer.getLastServedId() == secondBalancer.getLastServedId());
+ }
+
+ @Test
+ public void testServe() {
+ final Server server = mock(Server.class);
+
+ final LoadBalancer loadBalancer = new LoadBalancer();
+ loadBalancer.addServer(server);
+
+ verifyZeroInteractions(server);
+
+ final Request request = new Request("test");
+ for (int i = 0; i < loadBalancer.getNoOfServers() * 2; i++) {
+ loadBalancer.serverRequest(request);
+ }
+
+ verify(server, times(2)).serve(request);
+ verifyNoMoreInteractions(server);
+
+ }
+
+}