From 03286354fbdf9372698e9c81eb37664f981cb25b Mon Sep 17 00:00:00 2001
From: Gero Lueckemeyer <gero.lueckemeyer@hft-stuttgart.de>
Date: Mon, 6 Nov 2023 11:37:08 +0100
Subject: [PATCH] fixed test class and package name extraction

---
 .../java/de/hftstuttgart/dta/Testrunner.java   | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/main/java/de/hftstuttgart/dta/Testrunner.java b/src/main/java/de/hftstuttgart/dta/Testrunner.java
index 2329932..1bf8f05 100644
--- a/src/main/java/de/hftstuttgart/dta/Testrunner.java
+++ b/src/main/java/de/hftstuttgart/dta/Testrunner.java
@@ -255,9 +255,13 @@ public class Testrunner
         ResultSummary resultSummary = new ResultSummary();
         resultSummary.results.addAll(successes.stream().map(s ->
         {
+        	String testParent=s.getParentId().get();
+        	int lastDotIndex=testParent.lastIndexOf('.');
+        	String testPackage=testParent.substring(testParent.lastIndexOf(':')+1, lastDotIndex-1);
+        	String testClass=testParent.substring(lastDotIndex+1, testParent.length()-1);
             Result result = new Result();
-            result.packageName=s.getLegacyReportingName();
-            result.className=s.getParentId().get();
+            result.packageName=testPackage;
+            result.className=testClass;
             result.name = s.getDisplayName();
             result.state = Result.State.SUCCESS.ordinal();
 
@@ -267,9 +271,13 @@ public class Testrunner
 
         resultSummary.results.addAll(summary.getFailures().stream().map(f ->
         {
-            Result result = new Result();
-            result.packageName=f.getTestIdentifier().getSource().get().getClass().getPackageName();
-            result.className=f.getTestIdentifier().getSource().get().getClass().getName();
+        	String testParent=f.getTestIdentifier().getParentId().get();
+        	int lastDotIndex=testParent.lastIndexOf('.');
+        	String testPackage=testParent.substring(testParent.lastIndexOf(':')+1, lastDotIndex-1);
+        	String testClass=testParent.substring(lastDotIndex+1, testParent.length()-1);
+        	Result result = new Result();
+            result.packageName=testPackage;
+            result.className=testClass;
             result.name = f.getTestIdentifier().getDisplayName();
             result.state = Result.State.FAILURE.ordinal();
 
-- 
GitLab