From 7c60b6fa62bec1ba9ec70fb4e4d78e632019a6b9 Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Mon, 3 Feb 2025 11:56:52 +0100 Subject: [PATCH] Introduce JRE.MINIMUM_VERSION constant --- .../api/condition/AbstractJreCondition.java | 6 +++--- .../EnabledForJreRangeCondition.java | 19 ++++++++++--------- .../junit/jupiter/api/condition/JRE.java.jte | 2 ++ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/AbstractJreCondition.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/AbstractJreCondition.java index 35bf1c956c90..4f42ff1915f2 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/AbstractJreCondition.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/AbstractJreCondition.java @@ -44,9 +44,9 @@ protected void validateVersions(JRE[] jres, int[] versions) { () -> "JRE.UNDEFINED is not supported in @" + this.annotationName); } for (int version : versions) { - Preconditions.condition(version >= 8, - () -> String.format("Version [%d] in @%s must be greater than or equal to 8", version, - this.annotationName)); + Preconditions.condition(version >= JRE.MINIMUM_VERSION, + () -> String.format("Version [%d] in @%s must be greater than or equal to %d", version, + this.annotationName, JRE.MINIMUM_VERSION)); } } diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/EnabledForJreRangeCondition.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/EnabledForJreRangeCondition.java index 754523fb9b5e..e6a77c2006af 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/EnabledForJreRangeCondition.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/EnabledForJreRangeCondition.java @@ -52,12 +52,12 @@ static boolean isCurrentVersionWithinRange(String annotationName, JRE minJre, JR annotationName)); // Users must supply valid values for minVersion and maxVersion. - Preconditions.condition(!minVersionSet || (minVersion >= 8), - () -> String.format("@%s's minVersion [%d] must be greater than or equal to 8", annotationName, - minVersion)); - Preconditions.condition(!maxVersionSet || (maxVersion >= 8), - () -> String.format("@%s's maxVersion [%d] must be greater than or equal to 8", annotationName, - maxVersion)); + Preconditions.condition(!minVersionSet || (minVersion >= JRE.MINIMUM_VERSION), + () -> String.format("@%s's minVersion [%d] must be greater than or equal to %d", annotationName, minVersion, + JRE.MINIMUM_VERSION)); + Preconditions.condition(!maxVersionSet || (maxVersion >= JRE.MINIMUM_VERSION), + () -> String.format("@%s's maxVersion [%d] must be greater than or equal to %d", annotationName, maxVersion, + JRE.MINIMUM_VERSION)); // Now that we have checked the basic preconditions, we need to ensure that we are // using valid JRE enum constants. @@ -72,10 +72,11 @@ static boolean isCurrentVersionWithinRange(String annotationName, JRE minJre, JR int max = (maxVersionSet ? maxVersion : maxJre.version()); // Finally, we need to validate the effective minimum and maximum values. - Preconditions.condition((min != 8 || max != Integer.MAX_VALUE), + Preconditions.condition((min != JRE.MINIMUM_VERSION || max != Integer.MAX_VALUE), () -> "You must declare a non-default value for the minimum or maximum value in @" + annotationName); - Preconditions.condition(min >= 8, - () -> String.format("@%s's minimum value [%d] must greater than or equal to 8", annotationName, min)); + Preconditions.condition(min >= JRE.MINIMUM_VERSION, + () -> String.format("@%s's minimum value [%d] must greater than or equal to %d", annotationName, min, + JRE.MINIMUM_VERSION)); Preconditions.condition(min <= max, () -> String.format("@%s's minimum value [%d] must be less than or equal to its maximum value [%d]", annotationName, min, max)); diff --git a/junit-jupiter-api/src/templates/resources/main/org/junit/jupiter/api/condition/JRE.java.jte b/junit-jupiter-api/src/templates/resources/main/org/junit/jupiter/api/condition/JRE.java.jte index 2287c7dc7ba3..d1ac8a5aedec 100644 --- a/junit-jupiter-api/src/templates/resources/main/org/junit/jupiter/api/condition/JRE.java.jte +++ b/junit-jupiter-api/src/templates/resources/main/org/junit/jupiter/api/condition/JRE.java.jte @@ -82,6 +82,8 @@ public enum JRE { static final int UNDEFINED_VERSION = -1; + static final int MINIMUM_VERSION = 8; + private static final Logger logger = LoggerFactory.getLogger(JRE.class); private static final int CURRENT_VERSION = determineCurrentVersion();