diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Flow.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Flow.java new file mode 100644 index 0000000000000000000000000000000000000000..7bf6cbeead5ab37b256f17373b04f982d7fbbd04 --- /dev/null +++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Flow.java @@ -0,0 +1,15 @@ +package de.fhmuenster.masterthesis.Testgenerator.prioritization; + +import java.util.List; + +public class Flow { + public String flowName; + public List<String> withElements; + public List<String> withoutElements; + + public Flow(String flowName, List<String> withElements, List<String> withoutElements) { + this.flowName = flowName; + this.withElements = withElements; + this.withoutElements = withoutElements; + } +} diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Metrics.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Metrics.java new file mode 100644 index 0000000000000000000000000000000000000000..89157e8fed2362cc9b30f47ec36b2e91b99a1203 --- /dev/null +++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Metrics.java @@ -0,0 +1,17 @@ +package de.fhmuenster.masterthesis.Testgenerator.prioritization; + +public class Metrics { + + public static void flowAffected() { + + } + + public static void testcaseAdded() { + + } + + public static void testcaseChanged() { + + } + +} diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/ParseFlows.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/ParseFlows.java new file mode 100644 index 0000000000000000000000000000000000000000..d25806f4d0ab4b2c7cb85386e753b068e468cedd --- /dev/null +++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/ParseFlows.java @@ -0,0 +1,5 @@ +package de.fhmuenster.masterthesis.Testgenerator.prioritization; + +public class ParseFlows { + +} diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/ParseTests.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/ParseTests.java new file mode 100644 index 0000000000000000000000000000000000000000..03f69afd70e216f206fac6fb5284a4207fc6cec5 --- /dev/null +++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/ParseTests.java @@ -0,0 +1,5 @@ +package de.fhmuenster.masterthesis.Testgenerator.prioritization; + +public class ParseTests { + +} diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationService.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationService.java new file mode 100644 index 0000000000000000000000000000000000000000..8a7be631ad51d7172f1997b51783e19b1c9bbdc4 --- /dev/null +++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/PrioritizationService.java @@ -0,0 +1,159 @@ +package de.fhmuenster.masterthesis.Testgenerator.prioritization; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class PrioritizationService { + + public static final String file1 = "D:\\VSProjects\\fe-pda-testing-tool\\OnlineSchuhDemo\\src\\main\\resources\\Testcollection1.bpmn-testgen"; + + /** + * TESTING STAGE + * @return "test" + * @throws IOException + */ + @RequestMapping(path = "/project/{projectId}/parse", method = RequestMethod.GET) + public String parseFile() throws IOException { + + // Testcollection1 einlesen + BufferedReader bufferedReaderTest = new BufferedReader(new FileReader(file1)); + BufferedReader bufferedReaderFlow = new BufferedReader(new FileReader(file1)); + List<Test> testList = createTestList(bufferedReaderTest); + List<Flow> flowList = createFlowList(bufferedReaderFlow); + + try { + + Test myTest = testList.get(0); + System.out.println("PRINT TEST 0 =============="); + System.out.println(myTest.testName); + System.out.println(Arrays.toString(myTest.variables.toArray())); + System.out.println(Arrays.toString(myTest.check.toArray())); + System.out.println(Arrays.toString(myTest.mocks.toArray())); + + Flow myFlow = flowList.get(0); + System.out.println("PRINT FLOW 0 =============="); + System.out.println(myFlow.flowName); + System.out.println(Arrays.toString(myFlow.withElements.toArray())); + System.out.println(Arrays.toString(myFlow.withoutElements.toArray())); + } + catch (Exception ex) { + System.out.println(ex.getMessage()); + } + + + return "true"; + + } + + /** + * Diese Funktion durchläuft die Testcollection, welche im BufferdReader übergeben wurde. Auf + * Basis des Inhalts werden Flowobjekte erzeugt und der Liste hinzugefügt + * @param bufferedReader + * @return Liste mit den Testobjekten (Test.java) + */ + public List<Flow> createFlowList(BufferedReader bufferedReader) { + + List<Flow> flowList = new ArrayList<Flow>(); + + String flowName; + List<String> withElements = new ArrayList<>(); + List<String> withoutElements = new ArrayList<>(); + + try { + String line = bufferedReader.readLine(); + + while(line != null) { + line = bufferedReader.readLine(); + + if(line.startsWith("Flow")) { + + flowName = line; + + while(!line.endsWith(";")) { + line = bufferedReader.readLine(); + + if(line.contains("with elements")) + withElements.add(line); + else if(line.contains("without elements")) + withoutElements.add(line); + + // Hier wird das Flowobjekt erzeugt + Flow flow = new Flow(flowName, withElements, withoutElements); + flowList.add(flow); + } + + } + } + } + catch (Exception ex) { + System.out.println(ex.getMessage()); + } + + return flowList; + + } + + /** + * Diese Funktion durchläuft die Testcollection, welche im BufferdReader übergeben wurde. Auf + * Basis des Inhalts werden Testobjekte erzeugt und der Liste hinzugefügt + * @param bufferedReader + * @return Liste mit den Testobjekten (Test.java) + */ + public List<Test> createTestList(BufferedReader bufferedReader) { + + List<Test> testList = new ArrayList<Test>(); + String testName; + List<String> testVariables = new ArrayList<>(); + List<String> testCheck = new ArrayList<>(); + List<String> testMocks = new ArrayList<>(); + + try { + String line = bufferedReader.readLine(); + + while(line != null) { + line = bufferedReader.readLine(); + + if(line.startsWith("Test")) { + + testName = line; + + while(!line.endsWith(";")) { + line = bufferedReader.readLine(); + + if(line.contains("with variables")) + testVariables.add(line); + else if(line.contains("with check")) + testCheck.add(line); + else if(line.contains("with mocks")) + testMocks.add(line); + + // Hier wird das Testobjekt erzeugt + Test test = new Test(testName, testVariables, testCheck, testMocks); + testList.add(test); + } + + } + } + } + catch (Exception ex) { + System.out.println(ex.getMessage()); + } + + return testList; + + } + + +} diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Test.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Test.java new file mode 100644 index 0000000000000000000000000000000000000000..c7a28b4958126bfe767b6e0293079c69a7ad4137 --- /dev/null +++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/prioritization/Test.java @@ -0,0 +1,17 @@ +package de.fhmuenster.masterthesis.Testgenerator.prioritization; + +import java.util.List; + +public class Test { + public String testName; + public List<String> variables; + public List<String> check; + public List<String> mocks; + + public Test(String testName, List<String> variables, List<String> check, List<String> mocks) { + this.testName = testName; + this.variables = variables; + this.check = check; + this.mocks = mocks; + } +}