Skip to content
Snippets Groups Projects
Commit 0c8e17dc authored by Nikolaus Huber's avatar Nikolaus Huber
Browse files

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@10322 9e42b895-fcda-4063-8a3b-11be15eb1bbd
parent d0996bf8
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,8 @@ package edu.kit.ipd.descartes.adaptation.util;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.List;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
......@@ -23,6 +25,7 @@ import edu.kit.ipd.descartes.mm.resourceconfiguration.PassiveResourceSpecificati
import edu.kit.ipd.descartes.mm.resourceconfiguration.ProcessingResourceSpecification;
import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationFactory;
import edu.kit.ipd.descartes.mm.resourcelandscape.ComputingInfrastructure;
import edu.kit.ipd.descartes.mm.resourcelandscape.Container;
import edu.kit.ipd.descartes.mm.resourcelandscape.DataCenter;
import edu.kit.ipd.descartes.mm.resourcelandscape.DistributedDataCenter;
import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapeFactory;
......@@ -75,6 +78,10 @@ public class DmmModelActionHelperTest extends AbstractTest {
@Test
public void testFilterEntities() {
Container c1 = ResourcelandscapeFactory.eINSTANCE.createComputingInfrastructure();
Container c2 = ResourcelandscapeFactory.eINSTANCE.createComputingInfrastructure();
RuntimeEnvironment re1 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment();
re1.setName(CANDIDATE + DmmModelChanger.COPY_MARK);
re1.setId(EcoreUtil.generateUUID());
......@@ -86,6 +93,10 @@ public class DmmModelActionHelperTest extends AbstractTest {
re3.setId(EcoreUtil.generateUUID());
re3.setTemplate(template);
re1.setContainedIn(c1);
re2.setContainedIn(c1);
re3.setContainedIn(c2);
EList<RuntimeEnvironment> entityList = new BasicEList<RuntimeEnvironment>();
entityList.add(re1);
entityList.add(re2);
......@@ -96,12 +107,13 @@ public class DmmModelActionHelperTest extends AbstractTest {
comparator.setId(EcoreUtil.generateUUID());
comparator.getConfigSpec().add(aSpec);
comparator.setTemplate(template);
comparator.setContainedIn(c2);
RuntimeEnvironment result = DmmModelActionHelper.filterCandidates(entityList, comparator);
RuntimeEnvironment result = DmmModelActionHelper.filterCopiedRuntimeEnvironment(entityList, comparator);
assertEquals(re3, result);
entityList.remove(re3);
assertEquals(null, DmmModelActionHelper.filterCandidates(entityList, comparator));
assertEquals(null, DmmModelActionHelper.filterCopiedRuntimeEnvironment(entityList, comparator));
}
@Test
......@@ -141,5 +153,52 @@ public class DmmModelActionHelperTest extends AbstractTest {
RuntimeEnvironment res = DmmModelActionHelper.queryUnfilledRuntimeEnvironment(re1);
assertTrue(EcoreUtil.equals(re2, res));
}
@Test
public void testQueryContainersWithSimilarSpecs() {
DistributedDataCenter testDdc = ResourcelandscapeFactory.eINSTANCE.createDistributedDataCenter();
DataCenter dc1 = ResourcelandscapeFactory.eINSTANCE.createDataCenter();
testDdc.getConsistsOf().add(dc1);
ComputingInfrastructure ci1 = ResourcelandscapeFactory.eINSTANCE.createComputingInfrastructure();
ComputingInfrastructure ci2 = ResourcelandscapeFactory.eINSTANCE.createComputingInfrastructure();
dc1.getContains().add(ci1);
dc1.getContains().add(ci2);
ContainerTemplate template = ContainerrepositoryFactory.eINSTANCE.createContainerTemplate();
RuntimeEnvironment re1 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment();
RuntimeEnvironment re2 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment();
RuntimeEnvironment re3 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment();
ci1.getContains().add(re1);
ci1.getContains().add(re2);
ci2.getContains().add(re3);
re1.setTemplate(template);
re2.setTemplate(template);
re3.setTemplate(template);
re1.setName("RE1");
re2.setName("RE2");
re3.setName("RE3" + DmmModelChanger.COPY_MARK);
ActiveResourceSpecification active1 = ResourceconfigurationFactory.eINSTANCE.createActiveResourceSpecification();
ActiveResourceSpecification active2 = ResourceconfigurationFactory.eINSTANCE.createActiveResourceSpecification();
ProcessingResourceSpecification procSpec1 = ResourceconfigurationFactory.eINSTANCE.createProcessingResourceSpecification();
NumberOfParallelProcessingUnits nr1 = ResourceconfigurationFactory.eINSTANCE.createNumberOfParallelProcessingUnits();
nr1.setNumber(4);
procSpec1.setNrOfParProcUnits(nr1);
active1.getProcessingResourceSpecifications().add(procSpec1);
ProcessingResourceSpecification procSpec2 = ResourceconfigurationFactory.eINSTANCE.createProcessingResourceSpecification();
NumberOfParallelProcessingUnits nr2 = ResourceconfigurationFactory.eINSTANCE.createNumberOfParallelProcessingUnits();
nr2.setNumber(2);
procSpec2.setNrOfParProcUnits(nr2);
active2.getProcessingResourceSpecifications().add(procSpec2);
re1.getConfigSpec().add(active1);
re2.getConfigSpec().add(active2);
re3.getConfigSpec().add(EcoreUtil.copy(active1));
List<Container> result = DmmModelActionHelper.queryContainersWithSimilarSpecs(re1);
assertEquals(1, result.size());
assertTrue( ! result.contains(re2));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment