Skip to content

Commit 7ec9cb1

Browse files
committed
fix unstable test
1 parent a652016 commit 7ec9cb1

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

tzatziki-core/src/main/java/com/decathlon/tzatziki/steps/ObjectSteps.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,16 @@ private static Method findEligibleMethodWithParamCheck(int parameterCount, List<
320320
return eligibleMethods.stream()
321321
.sorted(Comparator.<Method>comparingLong(method -> Arrays.stream(method.getParameterTypes())
322322
.filter(Class.class::equals)
323-
.count()).reversed())
323+
.count()).reversed()
324+
// Add deterministic secondary sorting to ensure consistent behavior across JVM versions
325+
.thenComparing(method -> {
326+
// Prefer methods with more specific parameter types (primitives over Object types)
327+
long primitiveCount = Arrays.stream(method.getParameterTypes())
328+
.filter(Class::isPrimitive)
329+
.count();
330+
return -primitiveCount; // Negative for descending order
331+
})
332+
.thenComparing(Method::toGenericString)) // Final tiebreaker for deterministic ordering
324333
.filter(method -> {
325334
List<Parameter> methodParameters = Arrays.stream(method.getParameters()).toList();
326335
try {

0 commit comments

Comments
 (0)