Unit tests for Marathon binding
diff --git a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java
index 182d4b4..7cf926f 100644
--- a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java
+++ b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ServiceImpl.java
@@ -72,7 +72,7 @@
     @Override
     public void setInstanceCount(int count) {
         App updatedApp = new App();
-        updatedApp.setInstances(count);;
+        updatedApp.setInstances(count);
         marathonClient.updateApp(marathonAppID, updatedApp, true);
     }
 
diff --git a/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java b/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java
index b435d72..d02ddea 100644
--- a/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java
+++ b/containers-marathon/src/test/java/org/apache/aries/containers/marathon/impl/ServiceImplTest.java
@@ -30,6 +30,8 @@
 import org.apache.aries.containers.ServiceConfig;
 import org.junit.Test;
 import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
@@ -37,6 +39,7 @@
 import mesosphere.marathon.client.Marathon;
 import mesosphere.marathon.client.model.v2.App;
 import mesosphere.marathon.client.model.v2.GetAppResponse;
+import mesosphere.marathon.client.model.v2.Result;
 import mesosphere.marathon.client.model.v2.Task;
 
 public class ServiceImplTest {
@@ -129,6 +132,34 @@
         assertEquals(new HashSet<>(Arrays.asList("task1", "task2")), foundTasks);
     }
 
+    @Test
+    public void testSetInstanceCount() throws Exception {
+        List<App> updatedApps = new ArrayList<>();
+
+        Marathon mc = Mockito.mock(Marathon.class);
+        Mockito.when(mc.updateApp(Mockito.eq("mid1"), Mockito.isA(App.class), Mockito.eq(true))).
+            then(new Answer<Result>() {
+                @Override
+                public Result answer(InvocationOnMock invocation) throws Throwable {
+                    updatedApps.add((App) invocation.getArguments()[1]);
+                    return Mockito.mock(Result.class);
+                }
+            });
+
+        ServiceConfig cfg = ServiceConfig.builder("svc1", "a/b/c:d").build();
+
+        App app = new App();
+        app.setId("mid1");
+        ServiceImpl svc = new ServiceImpl(mc, app, cfg);
+
+        assertEquals("Precondition", 0, updatedApps.size());
+        svc.setInstanceCount(5);
+        assertEquals(1, updatedApps.size());
+
+        App updated = updatedApps.iterator().next();
+        assertEquals(5, (int) updated.getInstances());
+    }
+
     private GetAppResponse getAppResponse(App a) {
         GetAppResponse gar = Mockito.mock(GetAppResponse.class);
         Mockito.when(gar.getApp()).thenReturn(a);