From 9c2f4bd55f7bc22b46b336d74cfb2cb18a3c23e7 Mon Sep 17 00:00:00 2001 From: tsantalis Date: Tue, 14 Jan 2025 13:30:06 -0500 Subject: [PATCH] Improved Split Test detection in commit https://github.com/junit-team/junit5/commit/c71d6715e01e2bd65fcce9675955a851da24d384 --- .../java/gr/uom/java/xmi/diff/UMLClassBaseDiff.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/gr/uom/java/xmi/diff/UMLClassBaseDiff.java b/src/main/java/gr/uom/java/xmi/diff/UMLClassBaseDiff.java index a9d940374..b2514ed5c 100644 --- a/src/main/java/gr/uom/java/xmi/diff/UMLClassBaseDiff.java +++ b/src/main/java/gr/uom/java/xmi/diff/UMLClassBaseDiff.java @@ -1363,6 +1363,19 @@ else if(removedOperation.hasTestAnnotation() && addedOperation.hasParameterizedT } boolean matchingMergeCandidateFound = false; boolean matchingSplitCandidateFound = false; + //infer split method + Set exactMappers = new LinkedHashSet<>(); + CandidateSplitMethodRefactoring newCandidate = new CandidateSplitMethodRefactoring(); + newCandidate.setOriginalMethodBeforeSplit(removedOperation); + for(UMLOperationBodyMapper mapper : mapperSet) { + if(mapper.allMappingsAreExactMatches()) { + exactMappers.add(mapper); + newCandidate.addSplitMethod(mapper.getContainer2()); + } + } + if(exactMappers.size() < mapperSet.size() && exactMappers.size() > 1) { + candidateMethodSplits.add(newCandidate); + } if(!firstMapperWithIdenticalMethodName) { for(CandidateMergeMethodRefactoring candidate : candidateMethodMerges) { Set methodsWithMapper = new LinkedHashSet<>();