diff --git a/tests/integration-tests/tests-base/src/main/java/edu/kit/kastel/mcse/ardoco/core/tests/eval/results/calculator/ResultCalculatorUtil.java b/tests/integration-tests/tests-base/src/main/java/edu/kit/kastel/mcse/ardoco/core/tests/eval/results/calculator/ResultCalculatorUtil.java index 709b62c..1774c67 100644 --- a/tests/integration-tests/tests-base/src/main/java/edu/kit/kastel/mcse/ardoco/core/tests/eval/results/calculator/ResultCalculatorUtil.java +++ b/tests/integration-tests/tests-base/src/main/java/edu/kit/kastel/mcse/ardoco/core/tests/eval/results/calculator/ResultCalculatorUtil.java @@ -42,6 +42,15 @@ public static EvaluationResults calculateWeightedAverageResults(Immutable return evaluationResults(macroAverage); } + public static EvaluationResults calculateMicroAverageResults(ImmutableList> results) { + var averages = getAverages(results); + if (averages == null) + return null; + + var microAverage = averages.stream().filter(it -> it.getType() == AggregationType.MICRO_AVERAGE).findFirst().orElseThrow(); + return evaluationResults(microAverage); + } + private static EvaluationResults evaluationResults(AggregatedClassificationResult average) { var weightedAverageAsSingle = new SingleClassificationResult(Sets.mutable.empty(), Sets.mutable.empty(), Sets.mutable.empty(), null, average .getPrecision(), average.getRecall(), average.getF1(), average.getAccuracy(), average.getSpecificity(), average.getPhiCoefficient(), average @@ -61,4 +70,5 @@ private static List getAverages(ImmutableLis return calculator.calculateAverages(classifications, null); } + } diff --git a/tests/integration-tests/tests-inconsistency/src/test/java/edu/kit/kastel/mcse/ardoco/id/tests/integration/InconsistencyDetectionEvaluationIT.java b/tests/integration-tests/tests-inconsistency/src/test/java/edu/kit/kastel/mcse/ardoco/id/tests/integration/InconsistencyDetectionEvaluationIT.java index 1c120f2..f800d6f 100644 --- a/tests/integration-tests/tests-inconsistency/src/test/java/edu/kit/kastel/mcse/ardoco/id/tests/integration/InconsistencyDetectionEvaluationIT.java +++ b/tests/integration-tests/tests-inconsistency/src/test/java/edu/kit/kastel/mcse/ardoco/id/tests/integration/InconsistencyDetectionEvaluationIT.java @@ -116,7 +116,7 @@ protected void runMissingModelElementInconsistencyEval(GoldStandardProject goldS OVERALL_MME_RESULTS.addAll(results); - EvaluationResults weightedResults = ResultCalculatorUtil.calculateWeightedAverageResults(results.toImmutable()); + EvaluationResults weightedResults = ResultCalculatorUtil.calculateMicroAverageResults(results.toImmutable()); MME_RESULTS.put(goldStandardProject, Tuples.pair(weightedResults, expectedInconsistencyResults)); logResultsMissingModelInconsistency(goldStandardProject, weightedResults, expectedInconsistencyResults);