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

- evaluation of objectives implemented

- some changes when initializing the process, ie., creating the event

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11816 9e42b895-fcda-4063-8a3b-11be15eb1bbd
parent 4905c199
No related branches found
No related tags found
No related merge requests found
package edu.kit.ipd.descartes.adaptation.model.dmm.util;
import static edu.kit.ipd.descartes.adaptation.model.dmm.util.ObjectivesHelper.*;
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.mm.adaptation.AdaptationFactory;
import edu.kit.ipd.descartes.mm.adaptation.Event;
import edu.kit.ipd.descartes.mm.adaptation.Objective;
import edu.kit.ipd.descartes.mm.adaptation.RelationalOperator;
import edu.kit.ipd.descartes.mm.adaptation.Specification;
import edu.kit.ipd.descartes.mm.adaptation.Strategy;
import edu.kit.ipd.descartes.perfdatarepo.MetricType;
import edu.kit.ipd.descartes.perfdatarepo.MetricValue;
import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoFactory;
import edu.kit.ipd.descartes.perfdatarepo.Result;
public class ObjectivesHelperTest extends AbstractTest {
private Event trigger = AdaptationFactory.eINSTANCE.createEvent();
private Strategy strategy = AdaptationFactory.eINSTANCE.createStrategy();
private Objective o = AdaptationFactory.eINSTANCE.createObjective();
private Specification s1 = AdaptationFactory.eINSTANCE.createSpecification();
private Specification s2 = AdaptationFactory.eINSTANCE.createSpecification();
private MetricType utilMetric = PerfdatarepoFactory.eINSTANCE.createMetricType();
private Result result = PerfdatarepoFactory.eINSTANCE.createResult();
private Result invalidResult = PerfdatarepoFactory.eINSTANCE.createResult();
@Before
public void setUp() throws Exception {
super.setUp();
utilMetric.setName("UtilizationMetricType");
s1.setRelationalOperator(RelationalOperator.LESS);
s1.setValue(85);
s1.setMetricType(utilMetric);
s2.setRelationalOperator(RelationalOperator.GREATER);
s2.setValue(5);
s2.setMetricType(utilMetric);
o.setName("TestObjective");
o.getSpecifications().add(s1);
o.getSpecifications().add(s2);
strategy.setName("TriggeredStrategy");
strategy.setObjective(o);
trigger.setName("TriggerEvent");
trigger.setTriggers(strategy);
}
@Test
public void testCompare() {
Double one = 1.0d;
Double two = 2.0d;
assertTrue(ObjectivesHelper.compare(one, one, RelationalOperator.EQUAL));
assertTrue(ObjectivesHelper.compare(one, two, RelationalOperator.NOT_EQUAL));
assertTrue(ObjectivesHelper.compare(one, two, RelationalOperator.LESS));
assertTrue(ObjectivesHelper.compare(two, two, RelationalOperator.LESS_EQUAL));
assertTrue(ObjectivesHelper.compare(two, one, RelationalOperator.GREATER));
assertTrue(ObjectivesHelper.compare(two, two, RelationalOperator.GREATER_EQUAL));
assertTrue(compare(one, one, RelationalOperator.EQUAL));
assertTrue(compare(one, two, RelationalOperator.NOT_EQUAL));
assertTrue(compare(one, two, RelationalOperator.LESS));
assertTrue(compare(two, two, RelationalOperator.LESS_EQUAL));
assertTrue(compare(two, one, RelationalOperator.GREATER));
assertTrue(compare(two, two, RelationalOperator.GREATER_EQUAL));
}
@Test
public void testIsProblemSolved() {
result.setName("ValidTestResult");
MetricValue valid = PerfdatarepoFactory.eINSTANCE.createMetricValue();
valid.setMetricType(utilMetric);
valid.setValue(50);
result.getMetricValues().add(valid);
assertTrue(isProblemSolved(trigger, result));
invalidResult.setName("InvalidTestResult");
MetricValue invalid = PerfdatarepoFactory.eINSTANCE.createMetricValue();
invalid.setMetricType(utilMetric);
invalid.setValue(3);
invalidResult.getMetricValues().add(invalid);
assertTrue(!isProblemSolved(trigger, invalidResult));
}
}
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