From 056070f3913e4b4699ddc932c855ec64c7aa1e03 Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Thu, 11 Apr 2013 09:22:10 +0000
Subject: [PATCH] test for finding suitable containers

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11148 9e42b895-fcda-4063-8a3b-11be15eb1bbd
---
 .../model/dmm/DmmModelActionHelperTest.java   | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/model/dmm/DmmModelActionHelperTest.java b/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/model/dmm/DmmModelActionHelperTest.java
index 6f05fa5c..c9fd1207 100644
--- a/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/model/dmm/DmmModelActionHelperTest.java
+++ b/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/model/dmm/DmmModelActionHelperTest.java
@@ -16,6 +16,8 @@ import edu.kit.ipd.descartes.adaptation.AbstractTest;
 import edu.kit.ipd.descartes.adaptation.model.dmm.util.DmmModelActionHelper;
 import edu.kit.ipd.descartes.adaptation.model.dmm.util.DmmModelChanger;
 import edu.kit.ipd.descartes.core.AdaptableEntity;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationScope;
+import edu.kit.ipd.descartes.mm.containerrepository.ContainerRepository;
 import edu.kit.ipd.descartes.mm.containerrepository.ContainerTemplate;
 import edu.kit.ipd.descartes.mm.containerrepository.ContainerrepositoryFactory;
 import edu.kit.ipd.descartes.mm.containerrepository.ContainerrepositoryPackage;
@@ -249,5 +251,31 @@ public class DmmModelActionHelperTest extends AbstractTest {
         assertEquals(1, result.size());
         assertTrue( ! result.contains(re2));
     }
+    
+    @Test
+    public void testFindSuitableContainer() {
+        ContainerTemplate ct = ContainerrepositoryFactory.eINSTANCE.createContainerTemplate();
+        ct.setId("TEST_ID");
+        ct.setName("CONTAINER_TEMPLATE");
+        
+        RuntimeEnvironment c1 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment();
+        c1.setId("C1-ID");
+        c1.setName("C1");
+        c1.setTemplate(ct);
+        RuntimeEnvironment c2 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment();
+        c2.setId("C2-ID");
+        c2.setName("Bad container C2");
+        RuntimeEnvironment c3  = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment();
+        c3.setId("C3-ID");
+        c3.setName("C3");
+        c3.setTemplate(ct);
+        
+        ct.getReferringContainers().add(c1);
+        ct.getReferringContainers().add(c3);
+        
+        Container result = DmmModelActionHelper.findSuitableContainer(ct, AdaptationScope.RANDOM);
+        assertTrue(EcoreUtil.equals(result, c3) || EcoreUtil.equals(result, c1));
+        assertTrue(!EcoreUtil.equals(result, c2));
+    }
 
 }
-- 
GitLab