diff --git a/edu.kit.ipd.descartes.adaptation.test/default.properties b/edu.kit.ipd.descartes.adaptation.test/default.properties new file mode 100644 index 0000000000000000000000000000000000000000..67e156c65e437466c7bfec86c00968ec591fe0dd --- /dev/null +++ b/edu.kit.ipd.descartes.adaptation.test/default.properties @@ -0,0 +1,4 @@ +processName=MODELS_FOR_TESTING_PURPOSES +adaptationProcessModel=/Users/nhuber/Documents/workspace/descartes/metamodel/edu.kit.ipd.descartes.adaptation.test/test_models/StaRepository.xmi +performanceDataRepositoryModel=/Users/nhuber/Documents/workspace/descartes/metamodel/edu.kit.ipd.descartes.adaptation.test/test_models/PerformanceDataRepositoryDummy.xmi +maxIterations=2 diff --git a/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/model/DmmModelManagerTest.java b/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/model/DmmModelManagerTest.java new file mode 100644 index 0000000000000000000000000000000000000000..aee525e44966776977e1c7cd6cd07894ff2e21b1 --- /dev/null +++ b/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/model/DmmModelManagerTest.java @@ -0,0 +1,28 @@ +package edu.kit.ipd.descartes.adaptation.model; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +import edu.kit.ipd.descartes.adaptation.AbstractTest; +import edu.kit.ipd.descartes.adaptation.AdaptationControl; +import edu.kit.ipd.descartes.mm.resourcelandscape.DistributedDataCenter; + +public class DmmModelManagerTest extends AbstractTest { + + @Before + public void setUp() throws Exception { + super.setUp(); + AdaptationControl control = new AdaptationControl(); + control.init(); + } + + @Test + public void testGetDistributedDataCenter() { + DistributedDataCenter ddc = DmmModelManager.getDistributedDataCenter(); + assertTrue(!ddc.equals(null)); + assertTrue(ddc.getConsistsOf().size() > 0); + } + +} diff --git a/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/util/DmmModelActionHelperTest.java b/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/util/DmmModelActionHelperTest.java index d83493f0a67c5e3ca97cf71e01474307220f36f6..69ddc38661c2db974a195745237bf1168732771a 100644 --- a/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/util/DmmModelActionHelperTest.java +++ b/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/util/DmmModelActionHelperTest.java @@ -1,6 +1,7 @@ package edu.kit.ipd.descartes.adaptation.util; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; @@ -22,6 +23,8 @@ 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.DataCenter; +import edu.kit.ipd.descartes.mm.resourcelandscape.DistributedDataCenter; import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapeFactory; import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage; import edu.kit.ipd.descartes.mm.resourcelandscape.RuntimeEnvironment; @@ -39,6 +42,7 @@ public class DmmModelActionHelperTest extends AbstractTest { @Before public void setUp() throws Exception { + super.setUp(); NumberOfParallelProcessingUnits parProcUnits = ResourceconfigurationFactory.eINSTANCE.createNumberOfParallelProcessingUnits(); ProcessingResourceSpecification cpu = ResourceconfigurationFactory.eINSTANCE.createProcessingResourceSpecification(); cpu.setNrOfParProcUnits(parProcUnits); @@ -100,4 +104,42 @@ public class DmmModelActionHelperTest extends AbstractTest { assertEquals(null, DmmModelActionHelper.filterCandidates(entityList, comparator)); } + @Test + public void testQueryUnfilledRuntimeEnvironment() { + DistributedDataCenter testDdc = ResourcelandscapeFactory.eINSTANCE.createDistributedDataCenter(); + DataCenter dc1 = ResourcelandscapeFactory.eINSTANCE.createDataCenter(); + testDdc.getConsistsOf().add(dc1); + ComputingInfrastructure ci1 = ResourcelandscapeFactory.eINSTANCE.createComputingInfrastructure(); + dc1.getContains().add(ci1); + ContainerTemplate template = ContainerrepositoryFactory.eINSTANCE.createContainerTemplate(); + RuntimeEnvironment re1 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment(); + RuntimeEnvironment re2 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment(); + ci1.getContains().add(re1); + ci1.getContains().add(re2); + re1.setTemplate(template); + re2.setTemplate(template); + re1.setName("RE1"); + re2.setName("RE2"); + + ActiveResourceSpecification active1 = ResourceconfigurationFactory.eINSTANCE.createActiveResourceSpecification(); + re1.getConfigSpec().add(active1); + ActiveResourceSpecification active2 = ResourceconfigurationFactory.eINSTANCE.createActiveResourceSpecification(); + re2.getConfigSpec().add(active2); + + 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); + + RuntimeEnvironment res = DmmModelActionHelper.queryUnfilledRuntimeEnvironment(re1); + assertTrue(EcoreUtil.equals(re2, res)); + } + } diff --git a/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/util/OclEvaluationHelperTest.java b/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/util/OclEvaluationHelperTest.java new file mode 100644 index 0000000000000000000000000000000000000000..eaa610be32dcf233d190f0a9d4da2229790c9d70 --- /dev/null +++ b/edu.kit.ipd.descartes.adaptation.test/src/edu/kit/ipd/descartes/adaptation/util/OclEvaluationHelperTest.java @@ -0,0 +1,48 @@ +package edu.kit.ipd.descartes.adaptation.util; + +import static org.junit.Assert.assertTrue; + +import java.util.Set; + +import org.eclipse.emf.ecore.EObject; +import org.junit.Before; +import org.junit.Test; + +import edu.kit.ipd.descartes.adaptation.AbstractTest; +import edu.kit.ipd.descartes.mm.resourcelandscape.ComputingInfrastructure; +import edu.kit.ipd.descartes.mm.resourcelandscape.DataCenter; +import edu.kit.ipd.descartes.mm.resourcelandscape.DistributedDataCenter; +import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapeFactory; +import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage; +import edu.kit.ipd.descartes.mm.resourcelandscape.RuntimeEnvironment; + +public class OclEvaluationHelperTest extends AbstractTest { + + @Before + public void setUp() throws Exception { + super.setUp(); + } + + @Test + public void testQueryForRuntimeEnvironments() { + DistributedDataCenter testDdc = ResourcelandscapeFactory.eINSTANCE.createDistributedDataCenter(); + + String queryExpression = "RuntimeEnvironment.allInstances()"; + Set<EObject> res = OclEvaluationHelper.query(testDdc, queryExpression, testDdc.eClass()); + assertTrue(res.size() == 0); + + DataCenter dc1 = ResourcelandscapeFactory.eINSTANCE.createDataCenter(); + testDdc.getConsistsOf().add(dc1); + + ComputingInfrastructure ci1 = ResourcelandscapeFactory.eINSTANCE.createComputingInfrastructure(); + dc1.getContains().add(ci1); + + RuntimeEnvironment re1 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment(); + RuntimeEnvironment re2 = ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment(); + ci1.getContains().add(re1); + ci1.getContains().add(re2); + + res = OclEvaluationHelper.query(testDdc, queryExpression, ResourcelandscapePackage.eINSTANCE.getDistributedDataCenter()); + assertTrue(res.size() == 2); + } +}