Skip to content
Snippets Groups Projects
Commit 04cd4e5f authored by Henning's avatar Henning
Browse files

fix (parsing string with priority formula correct to int)

parent 474b8021
No related branches found
No related tags found
No related merge requests found
package de.fhmuenster.masterthesis.Testgenerator.prioritization; package de.fhmuenster.masterthesis.Testgenerator.prioritization;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -15,6 +16,13 @@ import java.util.LinkedList; ...@@ -15,6 +16,13 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Scanner;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import com.udojava.evalex.Expression;
import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationYaml; import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationYaml;
import de.fhmuenster.masterthesis.Testgenerator.yaml.YamlReader; import de.fhmuenster.masterthesis.Testgenerator.yaml.YamlReader;
...@@ -173,7 +181,7 @@ public class PrioritizationService { ...@@ -173,7 +181,7 @@ public class PrioritizationService {
int size = flow.getFlowSize(); int size = flow.getFlowSize();
int score = flow.getScore(); int score = flow.getScore();
int dependency = flow.getDependency(); int dependency = flow.getDependency();
int finalScore = size + score + dependency; int finalScore = PrioritizationService.sumTestPrioritiesByYAML(size, score, dependency);
testPriorities.put(test.getName(), finalScore); testPriorities.put(test.getName(), finalScore);
} }
...@@ -183,11 +191,34 @@ public class PrioritizationService { ...@@ -183,11 +191,34 @@ public class PrioritizationService {
return testPriorities; return testPriorities;
} }
private void sumTestPrioritiesByYAML(int size, int score, int dependency) { private static int sumTestPrioritiesByYAML(int size, int score, int dependency) {
YamlReader yamlReader = new YamlReader(); YamlReader yamlReader = new YamlReader();
MigrationYaml yaml = yamlReader.loadMigrationYaml(); MigrationYaml yaml = yamlReader.loadMigrationYaml();
int sum = 0;
try {
// factor is missing, static test prio is missing, createUpdate Test score is missing
String expression = yaml.getPriority().getFormularPart2() + " "
+ yaml.getPriority().getFormularPart3() + " "
+ yaml.getPriority().getFormularPart4() + " "
+ yaml.getPriority().getFormularPart5() + " "
+ yaml.getPriority().getFormularPart6();
expression = expression.replace("FlowSize", String.valueOf(size));
expression = expression.replace("FlowScore", String.valueOf(score));
expression = expression.replace("FlowDependency", String.valueOf(dependency));
BigDecimal result = null;
result = new Expression(expression).eval();
sum = result.intValue();
}
catch(Exception e) {
System.out.println(e.getMessage());
}
return sum;
} }
/** /**
......
...@@ -164,7 +164,7 @@ priority: ...@@ -164,7 +164,7 @@ priority:
formularPart2: "FlowSize" formularPart2: "FlowSize"
formularPart3: "+" formularPart3: "+"
formularPart4: "FlowScore" formularPart4: "FlowScore"
formularPart5: "/" formularPart5: "+"
formularPart6: "FlowDependency" formularPart6: "FlowDependency"
factor: 2 factor: 2
updateCreateScore: 200 updateCreateScore: 200
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