diff --git a/gradle/plugins/common/src/main/kotlin/junitbuild.java-errorprone-conventions.gradle.kts b/gradle/plugins/common/src/main/kotlin/junitbuild.java-errorprone-conventions.gradle.kts index 2e3c115bdbde..025fa93dcc84 100644 --- a/gradle/plugins/common/src/main/kotlin/junitbuild.java-errorprone-conventions.gradle.kts +++ b/gradle/plugins/common/src/main/kotlin/junitbuild.java-errorprone-conventions.gradle.kts @@ -1,6 +1,8 @@ import junitbuild.extensions.dependencyFromLibs import net.ltgt.gradle.errorprone.errorprone import net.ltgt.gradle.nullaway.nullaway +import org.gradle.jvm.toolchain.JvmImplementation.J9 +import java.lang.System.getenv plugins { `java-library` @@ -16,51 +18,56 @@ dependencies { tasks.withType().configureEach { options.errorprone { - val shouldDisableErrorProne = java.toolchain.implementation.orNull == JvmImplementation.J9 - if (name == "compileJava" && !shouldDisableErrorProne) { - disable( - "AnnotateFormatMethod", // We don`t want to use ErrorProne's annotations. - "BadImport", // This check is opinionated wrt. which method names it considers unsuitable for import which includes a few of our own methods in `ReflectionUtils` etc. - "DoNotCallSuggester", // We don`t want to use ErrorProne's annotations. - "ImmutableEnumChecker", // We don`t want to use ErrorProne's annotations. - "InlineMeSuggester", // We don`t want to use ErrorProne's annotations. - "MissingSummary", // Produces a lot of findings that we consider to be false positives, for example for package-private classes and methods. - "StringSplitter", // We don`t want to use Guava. - "UnnecessaryLambda", // The findings of this check are subjective because a named constant can be more readable in many cases. + val enableErrorProne = java.toolchain.implementation.orNull != J9 + if (enableErrorProne && name == "compileJava") { + disableAllWarnings = true // considering this immense spam burden, remove this once to fix dedicated flaw. https://github.com/diffplug/spotless/pull/2766 + disable( // We don`t want to use ErrorProne's annotations. // picnic (https://error-prone.picnic.tech) "ConstantNaming", - "DirectReturn", // We don`t want to use this: https://github.com/junit-team/junit-framework/pull/5006#discussion_r2403984446 + "DirectReturn", // We don`t want to use this. https://github.com/junit-team/junit-framework/pull/5006#discussion_r2403984446 "FormatStringConcatenation", "IdentityConversion", - "LexicographicalAnnotationAttributeListing", // We don`t want to use this: https://github.com/junit-team/junit-framework/pull/5043#pullrequestreview-3330615838 + "LexicographicalAnnotationAttributeListing", // We don`t want to use this. https://github.com/junit-team/junit-framework/pull/5043#pullrequestreview-3330615838 "LexicographicalAnnotationListing", "MissingTestCall", "NestedOptionals", - "NonStaticImport", "OptionalOrElseGet", "PrimitiveComparison", - "StaticImport", "TimeZoneUsage", ) error( "CanonicalAnnotationSyntax", "IsInstanceLambdaUsage", + "MissingOverride", + "NonStaticImport", "PackageLocation", "RedundantStringConversion", "RedundantStringEscape", + "SelfAssignment", + "StaticImport", + "StringCharset", + "StringJoin", ) + if (!getenv().containsKey("CI") && getenv("IN_PLACE").toBoolean()) { + errorproneArgs.addAll( + "-XepPatchLocation:IN_PLACE", + "-XepPatchChecks:" + + "NonStaticImport," + + "StaticImport," + ) + } } else { disableAllChecks = true } nullaway { - if (shouldDisableErrorProne) { - disable() - } else { + if (enableErrorProne) { enable() + } else { + disable() } - onlyNullMarked = true - isJSpecifyMode = true checkContracts = true + isJSpecifyMode = true + onlyNullMarked = true suppressionNameAliases.add("DataFlowIssue") } } diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/ClassOrderer.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/ClassOrderer.java index 55b4052077d7..5b12a473b187 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/ClassOrderer.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/ClassOrderer.java @@ -10,11 +10,12 @@ package org.junit.jupiter.api; +import static java.util.Collections.shuffle; +import static java.util.Comparator.comparing; import static java.util.Comparator.comparingInt; import static org.apiguardian.api.API.Status.EXPERIMENTAL; import static org.apiguardian.api.API.Status.STABLE; -import java.util.Collections; import java.util.Comparator; import org.apiguardian.api.API; @@ -148,7 +149,7 @@ public void orderClasses(ClassOrdererContext context) { context.getClassDescriptors().sort(comparator); } - private static final Comparator comparator = Comparator.comparing( + private static final Comparator comparator = comparing( descriptor -> descriptor.getTestClass().getName()); } @@ -171,8 +172,7 @@ public void orderClasses(ClassOrdererContext context) { context.getClassDescriptors().sort(comparator); } - private static final Comparator comparator = Comparator.comparing( - ClassDescriptor::getDisplayName); + private static final Comparator comparator = comparing(ClassDescriptor::getDisplayName); } /** @@ -265,7 +265,7 @@ public Random() { */ @Override public void orderClasses(ClassOrdererContext context) { - Collections.shuffle(context.getClassDescriptors(), + shuffle(context.getClassDescriptors(), new java.util.Random(RandomOrdererUtils.getSeed(context::getConfigurationParameter, logger))); } } diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/MethodOrderer.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/MethodOrderer.java index 6552e66aa676..0e77712b72c7 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/MethodOrderer.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/MethodOrderer.java @@ -10,12 +10,13 @@ package org.junit.jupiter.api; +import static java.util.Collections.shuffle; +import static java.util.Comparator.comparing; import static java.util.Comparator.comparingInt; import static org.apiguardian.api.API.Status.EXPERIMENTAL; import static org.apiguardian.api.API.Status.STABLE; import java.lang.reflect.Method; -import java.util.Collections; import java.util.Comparator; import java.util.Optional; @@ -214,8 +215,7 @@ public void orderMethods(MethodOrdererContext context) { context.getMethodDescriptors().sort(comparator); } - private static final Comparator comparator = Comparator.comparing( - MethodDescriptor::getDisplayName); + private static final Comparator comparator = comparing(MethodDescriptor::getDisplayName); } /** @@ -308,7 +308,7 @@ public Random() { */ @Override public void orderMethods(MethodOrdererContext context) { - Collections.shuffle(context.getMethodDescriptors(), + shuffle(context.getMethodDescriptors(), new java.util.Random(RandomOrdererUtils.getSeed(context::getConfigurationParameter, logger))); } diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePreDestroyCallback.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePreDestroyCallback.java index 2cb6654cfeec..d39f57f3bcb0 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePreDestroyCallback.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePreDestroyCallback.java @@ -10,10 +10,10 @@ package org.junit.jupiter.api.extension; +import static java.util.Collections.reverse; import static org.apiguardian.api.API.Status.STABLE; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.function.Consumer; @@ -114,7 +114,7 @@ static void preDestroyTestInstances(ExtensionContext context, Consumer c current.get().getTestInstances().map(TestInstances::getAllInstances).ifPresent( destroyedInstances::removeAll); } - Collections.reverse(destroyedInstances); + reverse(destroyedInstances); destroyedInstances.forEach(callback); } diff --git a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java index 5aacb02d1af2..6833f1643681 100644 --- a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java +++ b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java @@ -10,6 +10,7 @@ package org.junit.jupiter.engine.descriptor; +import static java.util.Collections.reverse; import static java.util.Objects.requireNonNull; import static java.util.stream.Collectors.joining; import static org.apiguardian.api.API.Status.INTERNAL; @@ -30,7 +31,6 @@ import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Set; @@ -516,7 +516,7 @@ private void registerAfterEachMethodAdapters(ExtensionRegistrar registrar) { // synthesized AfterEachMethodAdapters are executed within TestMethodTestDescriptor, // we have to reverse the afterEachMethods list to put them in top-down order before // we register them as synthesized extensions. - Collections.reverse(afterEachMethods); + reverse(afterEachMethods); registerMethodsAsExtensions(afterEachMethods, registrar, this::synthesizeAfterEachMethodAdapter); } diff --git a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ExtensionUtils.java b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ExtensionUtils.java index 94bd50b986c5..58321b83a118 100644 --- a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ExtensionUtils.java +++ b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ExtensionUtils.java @@ -10,6 +10,7 @@ package org.junit.jupiter.engine.descriptor; +import static java.util.Comparator.comparingInt; import static java.util.stream.Collectors.toList; import static org.junit.platform.commons.support.AnnotationSupport.findAnnotation; import static org.junit.platform.commons.support.AnnotationSupport.isAnnotated; @@ -226,7 +227,7 @@ private static Stream> streamDeclarativeExtensionType * @since 5.4 */ private static final Comparator orderComparator = // - Comparator.comparingInt(ExtensionUtils::getOrder); + comparingInt(ExtensionUtils::getOrder); /** * @since 5.4 diff --git a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/JupiterTestDescriptor.java b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/JupiterTestDescriptor.java index 512741d22558..e67e681d9eaa 100644 --- a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/JupiterTestDescriptor.java +++ b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/JupiterTestDescriptor.java @@ -11,6 +11,7 @@ package org.junit.jupiter.engine.descriptor; import static java.util.Collections.emptySet; +import static java.util.Collections.reverse; import static java.util.stream.Collectors.collectingAndThen; import static java.util.stream.Collectors.toCollection; import static java.util.stream.Collectors.toSet; @@ -108,7 +109,7 @@ void invokeExecutionExceptionHandlers(Class handlerType Throwable throwable, ExceptionHandlerInvoker handlerInvoker) { List extensions = registry.getExtensions(handlerType); - Collections.reverse(extensions); + reverse(extensions); invokeExecutionExceptionHandlers(extensions, throwable, handlerInvoker); } diff --git a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/DefaultTestInstances.java b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/DefaultTestInstances.java index 1561bb762926..dce28673131d 100644 --- a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/DefaultTestInstances.java +++ b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/DefaultTestInstances.java @@ -10,10 +10,10 @@ package org.junit.jupiter.engine.execution; +import static java.util.Collections.unmodifiableList; import static org.apiguardian.api.API.Status.INTERNAL; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.ListIterator; import java.util.Optional; @@ -32,7 +32,7 @@ public static DefaultTestInstances of(Object instance) { public static DefaultTestInstances of(TestInstances testInstances, Object instance) { List allInstances = new ArrayList<>(testInstances.getAllInstances()); allInstances.add(instance); - return new DefaultTestInstances(Collections.unmodifiableList(allInstances)); + return new DefaultTestInstances(unmodifiableList(allInstances)); } private final List instances; diff --git a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java index 7c55d1f51599..b1da7c7f2976 100644 --- a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java +++ b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java @@ -12,6 +12,7 @@ import static java.nio.file.FileVisitResult.CONTINUE; import static java.nio.file.FileVisitResult.SKIP_SUBTREE; +import static java.util.Collections.emptySortedMap; import static java.util.stream.Collectors.joining; import static org.junit.jupiter.api.extension.TestInstantiationAwareExtension.ExtensionContextScope.TEST_METHOD; import static org.junit.jupiter.api.io.CleanupMode.DEFAULT; @@ -39,7 +40,6 @@ import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.DosFileAttributeView; -import java.util.Collections; import java.util.HashSet; import java.util.Set; import java.util.SortedMap; @@ -371,7 +371,7 @@ private SortedMap deleteAllFilesAndDirectories(FileOperations Path rootDir = this.dir; if (rootDir == null || Files.notExists(rootDir)) { - return Collections.emptySortedMap(); + return emptySortedMap(); } SortedMap failures = new TreeMap<>(); diff --git a/junit-jupiter-migrationsupport/src/main/java/org/junit/jupiter/migrationsupport/rules/TestRuleSupport.java b/junit-jupiter-migrationsupport/src/main/java/org/junit/jupiter/migrationsupport/rules/TestRuleSupport.java index 0b4c286c1e62..43cf4f176afe 100644 --- a/junit-jupiter-migrationsupport/src/main/java/org/junit/jupiter/migrationsupport/rules/TestRuleSupport.java +++ b/junit-jupiter-migrationsupport/src/main/java/org/junit/jupiter/migrationsupport/rules/TestRuleSupport.java @@ -10,6 +10,7 @@ package org.junit.jupiter.migrationsupport.rules; +import static java.util.Collections.reverse; import static java.util.Collections.unmodifiableList; import static org.junit.platform.commons.support.AnnotationSupport.findPublicAnnotatedFields; import static org.junit.platform.commons.support.AnnotationSupport.isAnnotated; @@ -19,7 +20,6 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; @@ -74,7 +74,7 @@ private List findRuleAnnotatedMembers(Object testInstan // Due to how rules are applied (see RunRules), the last rule gets called first. // Rules from fields get called before those from methods. // Thus, we first add methods and then fields and reverse the list in the end. - Collections.reverse(result); + reverse(result); return unmodifiableList(result); } @@ -120,7 +120,7 @@ private int invokeAppropriateMethodOnRuleAnnotatedMembers(ExtensionContext conte List ruleAnnotatedMembers = getRuleAnnotatedMembers(context); if (reverseOrder) { - Collections.reverse(ruleAnnotatedMembers); + reverse(ruleAnnotatedMembers); } AtomicInteger counter = new AtomicInteger(); diff --git a/junit-jupiter-params/src/main/java/org/junit/jupiter/params/converter/JavaTimeArgumentConverter.java b/junit-jupiter-params/src/main/java/org/junit/jupiter/params/converter/JavaTimeArgumentConverter.java index f91d22d0cf65..65790a283141 100644 --- a/junit-jupiter-params/src/main/java/org/junit/jupiter/params/converter/JavaTimeArgumentConverter.java +++ b/junit-jupiter-params/src/main/java/org/junit/jupiter/params/converter/JavaTimeArgumentConverter.java @@ -10,6 +10,8 @@ package org.junit.jupiter.params.converter; +import static java.util.Collections.unmodifiableMap; + import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -23,7 +25,6 @@ import java.time.chrono.ChronoZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalQuery; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; @@ -48,7 +49,7 @@ class JavaTimeArgumentConverter extends AnnotationBasedArgumentConverter nullValues, boolean i *

The marker is generated with a unique ID to ensure it cannot conflict * with actual CSV content. */ - static final String NULL_MARKER = "".formatted(UUID.randomUUID()); + static final String NULL_MARKER = "".formatted(randomUUID()); @Override public String modify(long unusedStartingLineNumber, int unusedFieldIdx, boolean quoted, String field) { diff --git a/junit-jupiter-params/src/main/java/org/junit/jupiter/params/provider/EmptyArgumentsProvider.java b/junit-jupiter-params/src/main/java/org/junit/jupiter/params/provider/EmptyArgumentsProvider.java index 9c9b4f5a8173..856819a34523 100644 --- a/junit-jupiter-params/src/main/java/org/junit/jupiter/params/provider/EmptyArgumentsProvider.java +++ b/junit-jupiter-params/src/main/java/org/junit/jupiter/params/provider/EmptyArgumentsProvider.java @@ -10,13 +10,18 @@ package org.junit.jupiter.params.provider; +import static java.util.Collections.emptyList; +import static java.util.Collections.emptyMap; +import static java.util.Collections.emptyNavigableMap; +import static java.util.Collections.emptyNavigableSet; +import static java.util.Collections.emptySet; +import static java.util.Collections.emptySortedMap; +import static java.util.Collections.emptySortedSet; import static org.junit.jupiter.params.provider.Arguments.arguments; -import static org.junit.platform.commons.util.ReflectionUtils.newInstance; import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.util.Collection; -import java.util.Collections; import java.util.List; import java.util.Map; import java.util.NavigableMap; @@ -32,6 +37,7 @@ import org.junit.jupiter.params.support.ParameterDeclarations; import org.junit.platform.commons.PreconditionViolationException; import org.junit.platform.commons.util.Preconditions; +import org.junit.platform.commons.util.ReflectionUtils; /** * @since 5.4 @@ -54,33 +60,33 @@ public Stream provideArguments(ParameterDeclarations parame return Stream.of(arguments("")); } if (Collection.class.equals(parameterType)) { - return Stream.of(arguments(Collections.emptySet())); + return Stream.of(arguments(emptySet())); } if (List.class.equals(parameterType)) { - return Stream.of(arguments(Collections.emptyList())); + return Stream.of(arguments(emptyList())); } if (Set.class.equals(parameterType)) { - return Stream.of(arguments(Collections.emptySet())); + return Stream.of(arguments(emptySet())); } if (SortedSet.class.equals(parameterType)) { - return Stream.of(arguments(Collections.emptySortedSet())); + return Stream.of(arguments(emptySortedSet())); } if (NavigableSet.class.equals(parameterType)) { - return Stream.of(arguments(Collections.emptyNavigableSet())); + return Stream.of(arguments(emptyNavigableSet())); } if (Map.class.equals(parameterType)) { - return Stream.of(arguments(Collections.emptyMap())); + return Stream.of(arguments(emptyMap())); } if (SortedMap.class.equals(parameterType)) { - return Stream.of(arguments(Collections.emptySortedMap())); + return Stream.of(arguments(emptySortedMap())); } if (NavigableMap.class.equals(parameterType)) { - return Stream.of(arguments(Collections.emptyNavigableMap())); + return Stream.of(arguments(emptyNavigableMap())); } if (Collection.class.isAssignableFrom(parameterType) || Map.class.isAssignableFrom(parameterType)) { Optional> defaultConstructor = getDefaultConstructor(parameterType); if (defaultConstructor.isPresent()) { - return Stream.of(arguments(newInstance(defaultConstructor.get()))); + return Stream.of(arguments(ReflectionUtils.newInstance(defaultConstructor.get()))); } } if (parameterType.isArray()) { diff --git a/junit-platform-commons/src/main/java/org/junit/platform/commons/support/ReflectionSupport.java b/junit-platform-commons/src/main/java/org/junit/platform/commons/support/ReflectionSupport.java index 23bbc51d8665..fb098ed18555 100644 --- a/junit-platform-commons/src/main/java/org/junit/platform/commons/support/ReflectionSupport.java +++ b/junit-platform-commons/src/main/java/org/junit/platform/commons/support/ReflectionSupport.java @@ -10,6 +10,7 @@ package org.junit.platform.commons.support; +import static java.util.stream.Collectors.toCollection; import static org.apiguardian.api.API.Status.DEPRECATED; import static org.apiguardian.api.API.Status.EXPERIMENTAL; import static org.apiguardian.api.API.Status.MAINTAINED; @@ -22,7 +23,6 @@ import java.util.Optional; import java.util.Set; import java.util.function.Predicate; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.apiguardian.api.API; @@ -787,7 +787,7 @@ static List toSupportResourcesList(List toSupportResourcesSet(Set resources) { - return toSupportResourcesStream(resources.stream()).collect(Collectors.toCollection(LinkedHashSet::new)); + return toSupportResourcesStream(resources.stream()).collect(toCollection(LinkedHashSet::new)); } @SuppressWarnings("removal") diff --git a/junit-platform-commons/src/main/java/org/junit/platform/commons/support/conversion/FallbackStringToObjectConverter.java b/junit-platform-commons/src/main/java/org/junit/platform/commons/support/conversion/FallbackStringToObjectConverter.java index 80be72128211..b97583556116 100644 --- a/junit-platform-commons/src/main/java/org/junit/platform/commons/support/conversion/FallbackStringToObjectConverter.java +++ b/junit-platform-commons/src/main/java/org/junit/platform/commons/support/conversion/FallbackStringToObjectConverter.java @@ -16,7 +16,6 @@ import static org.junit.platform.commons.support.ReflectionSupport.findMethods; import static org.junit.platform.commons.support.ReflectionSupport.invokeMethod; import static org.junit.platform.commons.util.ReflectionUtils.findConstructors; -import static org.junit.platform.commons.util.ReflectionUtils.newInstance; import java.lang.reflect.Constructor; import java.lang.reflect.Executable; @@ -28,6 +27,7 @@ import org.jspecify.annotations.Nullable; import org.junit.platform.commons.util.Preconditions; +import org.junit.platform.commons.util.ReflectionUtils; /** * {@code FallbackStringToObjectConverter} is a {@link StringToObjectConverter} @@ -115,7 +115,7 @@ public boolean canConvertTo(Class targetType) { } Constructor constructor = findFactoryConstructor(targetType, parameterType); if (constructor != null) { - return source -> newInstance(constructor, source); + return source -> ReflectionUtils.newInstance(constructor, source); } return null; } diff --git a/junit-platform-commons/src/main/java/org/junit/platform/commons/util/AnnotationUtils.java b/junit-platform-commons/src/main/java/org/junit/platform/commons/util/AnnotationUtils.java index be312dc7986d..0359c94e4acc 100644 --- a/junit-platform-commons/src/main/java/org/junit/platform/commons/util/AnnotationUtils.java +++ b/junit-platform-commons/src/main/java/org/junit/platform/commons/util/AnnotationUtils.java @@ -11,6 +11,7 @@ package org.junit.platform.commons.util; import static java.util.Arrays.asList; +import static java.util.Collections.emptyList; import static java.util.Objects.requireNonNull; import static org.apiguardian.api.API.Status.INTERNAL; import static org.junit.platform.commons.util.ReflectionUtils.isInnerClass; @@ -26,7 +27,6 @@ import java.lang.reflect.Parameter; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; @@ -258,7 +258,7 @@ public static List findRepeatableAnnotations( @Nullable Optional element, Class annotationType) { if (element == null || element.isEmpty()) { - return Collections.emptyList(); + return emptyList(); } return findRepeatableAnnotations(element.get(), annotationType); @@ -288,7 +288,7 @@ public static List findRepeatableAnnotations(@Nullable // Short circuit the search algorithm. if (element == null) { - return Collections.emptyList(); + return emptyList(); } // We use a LinkedHashSet because the search algorithm may discover diff --git a/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ClassNamePatternFilterUtils.java b/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ClassNamePatternFilterUtils.java index fd98cd61202c..2fbc1c9551e4 100644 --- a/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ClassNamePatternFilterUtils.java +++ b/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ClassNamePatternFilterUtils.java @@ -10,6 +10,7 @@ package org.junit.platform.commons.util; +import static java.util.function.Function.identity; import static org.apiguardian.api.API.Status.INTERNAL; import java.util.Arrays; @@ -63,7 +64,7 @@ public static Predicate excludeMatchingClasses(@Nullable String patterns) * @param patterns a comma-separated list of patterns */ public static Predicate excludeMatchingClassNames(@Nullable String patterns) { - return matchingClasses(patterns, Function.identity(), FilterType.EXCLUDE); + return matchingClasses(patterns, identity(), FilterType.EXCLUDE); } /** @@ -84,7 +85,7 @@ public static Predicate includeMatchingClasses(@Nullable String patterns) * @param patterns a comma-separated list of patterns */ public static Predicate includeMatchingClassNames(@Nullable String patterns) { - return matchingClasses(patterns, Function.identity(), FilterType.INCLUDE); + return matchingClasses(patterns, identity(), FilterType.INCLUDE); } private enum FilterType { diff --git a/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ExceptionUtils.java b/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ExceptionUtils.java index 45af4204233f..378757c3ed4a 100644 --- a/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ExceptionUtils.java +++ b/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ExceptionUtils.java @@ -10,6 +10,7 @@ package org.junit.platform.commons.util; +import static java.util.Collections.reverse; import static org.apiguardian.api.API.Status.INTERNAL; import java.io.PrintWriter; @@ -17,7 +18,6 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.Deque; import java.util.LinkedHashSet; import java.util.List; @@ -131,7 +131,7 @@ public static void pruneStackTrace(Throwable throwable, List classNames) List prunedStackTrace = new ArrayList<>(); List junitStartStackTrace = new ArrayList<>(0); - Collections.reverse(stackTrace); + reverse(stackTrace); for (int i = 0; i < stackTrace.size(); i++) { StackTraceElement element = stackTrace.get(i); @@ -163,7 +163,7 @@ else if (STACK_TRACE_ELEMENT_FILTER.test(className)) { prunedStackTrace = junitStartStackTrace; } - Collections.reverse(prunedStackTrace); + reverse(prunedStackTrace); throwable.setStackTrace(prunedStackTrace.toArray(new StackTraceElement[0])); } diff --git a/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java b/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java index 4946cfd2e76d..e731cfa481de 100644 --- a/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java +++ b/junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java @@ -10,7 +10,9 @@ package org.junit.platform.commons.util; +import static java.util.Collections.emptyList; import static java.util.Collections.synchronizedMap; +import static java.util.Collections.unmodifiableMap; import static java.util.stream.Collectors.toCollection; import static java.util.stream.Collectors.toSet; import static org.apiguardian.api.API.Status.INTERNAL; @@ -213,7 +215,7 @@ public enum HierarchyTraversalMode { classNamesToTypes.put(type.getCanonicalName(), type); }); - classNameToTypeMap = Collections.unmodifiableMap(classNamesToTypes); + classNameToTypeMap = unmodifiableMap(classNamesToTypes); primitiveToWrapperMap = createPrimitivesToWrapperMap(); } @@ -231,7 +233,7 @@ private static Map, Class> createPrimitivesToWrapperMap() { primitivesToWrappers.put(float.class, Float.class); primitivesToWrappers.put(double.class, Double.class); - return Collections.unmodifiableMap(primitivesToWrappers); + return unmodifiableMap(primitivesToWrappers); } public static boolean isPublic(Class clazz) { @@ -1830,7 +1832,7 @@ private static List getInterfaceFields(Class clazz, HierarchyTraversal private static List getSuperclassFields(Class clazz, HierarchyTraversalMode traversalMode) { Class superclass = clazz.getSuperclass(); if (!isSearchable(superclass)) { - return Collections.emptyList(); + return emptyList(); } return findAllFieldsInHierarchy(superclass, traversalMode); } @@ -1838,7 +1840,7 @@ private static List getSuperclassFields(Class clazz, HierarchyTraversa private static List getSuperclassMethods(Class clazz, HierarchyTraversalMode traversalMode) { Class superclass = clazz.getSuperclass(); if (!isSearchable(superclass)) { - return Collections.emptyList(); + return emptyList(); } return findAllMethodsInHierarchy(superclass, traversalMode); } diff --git a/junit-platform-console/src/main/java/org/junit/platform/console/command/ListTestEnginesCommand.java b/junit-platform-console/src/main/java/org/junit/platform/console/command/ListTestEnginesCommand.java index 76d199159fcc..0f004c1e2b49 100644 --- a/junit-platform-console/src/main/java/org/junit/platform/console/command/ListTestEnginesCommand.java +++ b/junit-platform-console/src/main/java/org/junit/platform/console/command/ListTestEnginesCommand.java @@ -10,8 +10,9 @@ package org.junit.platform.console.command; +import static java.util.Comparator.comparing; + import java.io.PrintWriter; -import java.util.Comparator; import java.util.StringJoiner; import java.util.stream.StreamSupport; @@ -36,7 +37,7 @@ void displayEngines(PrintWriter out) { ServiceLoaderTestEngineRegistry registry = new ServiceLoaderTestEngineRegistry(); Iterable engines = registry.loadTestEngines(); StreamSupport.stream(engines.spliterator(), false) // - .sorted(Comparator.comparing(TestEngine::getId)) // + .sorted(comparing(TestEngine::getId)) // .forEach(engine -> displayEngine(out, engine)); out.flush(); } diff --git a/junit-platform-console/src/main/java/org/junit/platform/console/output/ColorPalette.java b/junit-platform-console/src/main/java/org/junit/platform/console/output/ColorPalette.java index 714cfc0a3174..f5d1ef759bef 100644 --- a/junit-platform-console/src/main/java/org/junit/platform/console/output/ColorPalette.java +++ b/junit-platform-console/src/main/java/org/junit/platform/console/output/ColorPalette.java @@ -10,20 +10,20 @@ package org.junit.platform.console.output; +import static java.nio.charset.StandardCharsets.UTF_8; +import static java.util.function.Function.identity; +import static java.util.stream.Collectors.toMap; import static org.apiguardian.api.API.Status.INTERNAL; import java.io.FileReader; import java.io.IOException; import java.io.Reader; -import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.util.Arrays; import java.util.EnumMap; import java.util.Locale; import java.util.Map; import java.util.Properties; -import java.util.function.Function; -import java.util.stream.Collectors; import org.apiguardian.api.API; @@ -96,11 +96,11 @@ private ColorPalette(Map colorsToAnsiSequences, boolean disableAn } private static Map toOverrideMap(Properties properties) { - Map upperCaseProperties = properties.entrySet().stream().collect(Collectors.toMap( - entry -> ((String) entry.getKey()).toUpperCase(Locale.ROOT), entry -> (String) entry.getValue())); + Map upperCaseProperties = properties.entrySet().stream().collect( + toMap(entry -> ((String) entry.getKey()).toUpperCase(Locale.ROOT), entry -> (String) entry.getValue())); return Arrays.stream(Style.values()).filter(style -> upperCaseProperties.containsKey(style.name())).collect( - Collectors.toMap(Function.identity(), style -> upperCaseProperties.get(style.name()))); + toMap(identity(), style -> upperCaseProperties.get(style.name()))); } private static Properties getProperties(Reader reader) { @@ -115,7 +115,7 @@ private static Properties getProperties(Reader reader) { } private static Properties getProperties(Path path) { - try (FileReader fileReader = new FileReader(path.toFile(), StandardCharsets.UTF_8)) { + try (FileReader fileReader = new FileReader(path.toFile(), UTF_8)) { return getProperties(fileReader); } catch (IOException e) { diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/TestDescriptor.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/TestDescriptor.java index 0dc47bca49cc..124b0f81c1a4 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/TestDescriptor.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/TestDescriptor.java @@ -10,12 +10,13 @@ package org.junit.platform.engine; +import static java.util.Collections.emptySet; +import static java.util.Collections.unmodifiableSet; import static org.apiguardian.api.API.Status.EXPERIMENTAL; import static org.apiguardian.api.API.Status.MAINTAINED; import static org.apiguardian.api.API.Status.STABLE; import java.util.ArrayList; -import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; import java.util.Optional; @@ -135,7 +136,7 @@ default String getLegacyReportingName() { @API(status = STABLE, since = "1.10") default Set getAncestors() { if (getParent().isEmpty()) { - return Collections.emptySet(); + return emptySet(); } TestDescriptor parent = getParent().get(); Set ancestors = new LinkedHashSet<>(); @@ -144,7 +145,7 @@ default Set getAncestors() { if (parent.getParent().isPresent()) { ancestors.addAll(parent.getAncestors()); } - return Collections.unmodifiableSet(ancestors); + return unmodifiableSet(ancestors); } /** @@ -164,7 +165,7 @@ default Set getDescendants() { for (TestDescriptor child : getChildren()) { descendants.addAll(child.getDescendants()); } - return Collections.unmodifiableSet(descendants); + return unmodifiableSet(descendants); } /** diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/UniqueIdFormat.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/UniqueIdFormat.java index 87275e54ba4d..c553b7c260ea 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/UniqueIdFormat.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/UniqueIdFormat.java @@ -10,13 +10,14 @@ package org.junit.platform.engine; +import static java.nio.charset.StandardCharsets.UTF_8; +import static java.util.regex.Pattern.DOTALL; import static java.util.stream.Collectors.joining; import java.io.Serial; import java.io.Serializable; import java.net.URLDecoder; import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -49,7 +50,7 @@ private static String quote(char c) { } private static String encode(char c) { - return URLEncoder.encode(String.valueOf(c), StandardCharsets.UTF_8); + return URLEncoder.encode(String.valueOf(c), UTF_8); } private final char openSegment; @@ -65,8 +66,7 @@ private static String encode(char c) { this.closeSegment = closeSegment; this.segmentDelimiter = segmentDelimiter; this.segmentPattern = Pattern.compile( - "%s(.+)%s(.+)%s".formatted(quote(openSegment), quote(typeValueSeparator), quote(closeSegment)), - Pattern.DOTALL); + "%s(.+)%s(.+)%s".formatted(quote(openSegment), quote(typeValueSeparator), quote(closeSegment)), DOTALL); // Compute "forbidden" character encoding map. // Note that the map is always empty at this point. Thus the use of @@ -145,7 +145,7 @@ private String encode(String s) { } private static String decode(String s) { - return URLDecoder.decode(s, StandardCharsets.UTF_8); + return URLDecoder.decode(s, UTF_8); } } diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java index 2dfc47d49683..943bbdeaab62 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/reporting/ReportEntry.java @@ -10,11 +10,11 @@ package org.junit.platform.engine.reporting; +import static java.util.Collections.unmodifiableMap; import static org.apiguardian.api.API.Status.STABLE; import java.time.LocalDateTime; import java.time.ZoneId; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; @@ -79,7 +79,7 @@ private void add(String key, String value) { * @return a copy of the map of key-value pairs; never {@code null} */ public Map getKeyValuePairs() { - return Collections.unmodifiableMap(this.keyValuePairs); + return unmodifiableMap(this.keyValuePairs); } /** diff --git a/junit-platform-engine/src/main/java/org/junit/platform/engine/support/descriptor/AbstractTestDescriptor.java b/junit-platform-engine/src/main/java/org/junit/platform/engine/support/descriptor/AbstractTestDescriptor.java index a00fc3e92af9..9d4c8cec595f 100644 --- a/junit-platform-engine/src/main/java/org/junit/platform/engine/support/descriptor/AbstractTestDescriptor.java +++ b/junit-platform-engine/src/main/java/org/junit/platform/engine/support/descriptor/AbstractTestDescriptor.java @@ -11,10 +11,11 @@ package org.junit.platform.engine.support.descriptor; import static java.util.Collections.emptySet; +import static java.util.Collections.synchronizedSet; +import static java.util.Collections.unmodifiableSet; import static org.apiguardian.api.API.Status.STABLE; import java.util.ArrayList; -import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; import java.util.Optional; @@ -66,7 +67,7 @@ public abstract class AbstractTestDescriptor implements TestDescriptor { *

If a subclass overrides any of the methods related to children, this * set should be used instead of a set local to the subclass. */ - protected final Set children = Collections.synchronizedSet(new LinkedHashSet<>(16)); + protected final Set children = synchronizedSet(new LinkedHashSet<>(16)); /** * Create a new {@code AbstractTestDescriptor} with the supplied @@ -148,7 +149,7 @@ public final void setParent(@Nullable TestDescriptor parent) { @Override public final Set getChildren() { - return Collections.unmodifiableSet(this.children); + return unmodifiableSet(this.children); } @Override diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/TagFilter.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/TagFilter.java index 953780d89125..c01d79bdcc6c 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/TagFilter.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/TagFilter.java @@ -11,12 +11,12 @@ package org.junit.platform.launcher; import static java.util.Arrays.asList; +import static java.util.stream.Collectors.joining; import static org.apiguardian.api.API.Status.STABLE; import java.util.List; import java.util.Set; import java.util.function.Supplier; -import java.util.stream.Collectors; import org.apiguardian.api.API; import org.jspecify.annotations.Nullable; @@ -168,7 +168,7 @@ private static String exclusionReasonExpressionSatisfy(List tagExpressio } private static String formatToString(List tagExpressions) { - return tagExpressions.stream().map(String::strip).sorted().collect(Collectors.joining(",")); + return tagExpressions.stream().map(String::strip).sorted().collect(joining(",")); } private static List parseAll(List tagExpressions) { diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/HierarchicalOutputDirectoryCreator.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/HierarchicalOutputDirectoryCreator.java index bfaa4e5a369c..d974915a4942 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/HierarchicalOutputDirectoryCreator.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/HierarchicalOutputDirectoryCreator.java @@ -10,6 +10,8 @@ package org.junit.platform.launcher.core; +import static java.util.regex.Pattern.CASE_INSENSITIVE; + import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -31,7 +33,7 @@ */ class HierarchicalOutputDirectoryCreator implements OutputDirectoryCreator { - private static final Pattern FORBIDDEN_CHARS = Pattern.compile("[^a-z0-9.,_\\-() ]", Pattern.CASE_INSENSITIVE); + private static final Pattern FORBIDDEN_CHARS = Pattern.compile("[^a-z0-9.,_\\-() ]", CASE_INSENSITIVE); private static final String REPLACEMENT = "_"; private final Supplier rootDirSupplier; diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/LauncherConfigurationParameters.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/LauncherConfigurationParameters.java index 7d105169d7c0..f31f7fa20ab5 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/LauncherConfigurationParameters.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/LauncherConfigurationParameters.java @@ -11,6 +11,7 @@ package org.junit.platform.launcher.core; import static java.util.stream.Collectors.joining; +import static java.util.stream.Collectors.toSet; import java.io.IOException; import java.io.InputStream; @@ -28,7 +29,6 @@ import java.util.Optional; import java.util.Properties; import java.util.Set; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.jspecify.annotations.Nullable; @@ -70,8 +70,7 @@ public Optional getBoolean(String key) { @Override public Set keySet() { - return providers.stream().map(ParameterProvider::keySet).flatMap(Collection::stream).collect( - Collectors.toSet()); + return providers.stream().map(ParameterProvider::keySet).flatMap(Collection::stream).collect(toSet()); } private @Nullable String getProperty(String key) { diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/ListenerRegistry.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/ListenerRegistry.java index 4a535c6bd99e..ebdace143aec 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/ListenerRegistry.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/ListenerRegistry.java @@ -10,10 +10,11 @@ package org.junit.platform.launcher.core; +import static java.util.Collections.unmodifiableList; + import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import java.util.function.Function; @@ -89,7 +90,7 @@ T getCompositeListener() { } List getListeners() { - return Collections.unmodifiableList(this.listeners); + return unmodifiableList(this.listeners); } } diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/jfr/FlightRecordingExecutionListener.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/jfr/FlightRecordingExecutionListener.java index 07ce9562af30..1a50669fc753 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/jfr/FlightRecordingExecutionListener.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/jfr/FlightRecordingExecutionListener.java @@ -10,12 +10,12 @@ package org.junit.platform.launcher.jfr; +import static java.util.stream.Collectors.joining; import static org.apiguardian.api.API.Status.INTERNAL; import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; import jdk.jfr.Category; import jdk.jfr.Event; @@ -60,8 +60,7 @@ public void testPlanExecutionFinished(TestPlan plan) { this.testPlanExecutionEvent = null; if (event != null && event.shouldCommit()) { event.containsTests = plan.containsTests(); - event.engineNames = plan.getRoots().stream().map(TestIdentifier::getDisplayName).collect( - Collectors.joining(", ")); + event.engineNames = plan.getRoots().stream().map(TestIdentifier::getDisplayName).collect(joining(", ")); event.commit(); } } diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/MutableTestExecutionSummary.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/MutableTestExecutionSummary.java index 483e67293da9..b477cbaf124c 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/MutableTestExecutionSummary.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/MutableTestExecutionSummary.java @@ -12,12 +12,12 @@ import static java.lang.String.join; import static java.util.Collections.synchronizedList; +import static java.util.Collections.unmodifiableList; import java.io.PrintWriter; import java.io.Serial; import java.time.Duration; import java.util.ArrayList; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -215,7 +215,7 @@ public void printFailuresTo(PrintWriter writer, int maxStackTraceLines) { @Override public List getFailures() { - return Collections.unmodifiableList(failures); + return unmodifiableList(failures); } private String describeTest(TestIdentifier testIdentifier) { diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/UniqueIdTrackingListener.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/UniqueIdTrackingListener.java index 802168bb5267..9534182bd019 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/UniqueIdTrackingListener.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/UniqueIdTrackingListener.java @@ -10,12 +10,12 @@ package org.junit.platform.launcher.listeners; +import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Objects.requireNonNull; import static org.apiguardian.api.API.Status.STABLE; import java.io.IOException; import java.io.PrintWriter; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -194,7 +194,7 @@ public void testPlanExecutionFinished(TestPlan testPlan) { } logger.debug(() -> "Writing unique IDs to output file " + outputFile.toAbsolutePath()); - try (PrintWriter writer = new PrintWriter(Files.newBufferedWriter(outputFile, StandardCharsets.UTF_8))) { + try (PrintWriter writer = new PrintWriter(Files.newBufferedWriter(outputFile, UTF_8))) { this.uniqueIds.forEach(writer::println); writer.flush(); } diff --git a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/tagexpression/ShuntingYard.java b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/tagexpression/ShuntingYard.java index 18eb18fab029..c459bcc786d0 100644 --- a/junit-platform-launcher/src/main/java/org/junit/platform/launcher/tagexpression/ShuntingYard.java +++ b/junit-platform-launcher/src/main/java/org/junit/platform/launcher/tagexpression/ShuntingYard.java @@ -10,7 +10,6 @@ package org.junit.platform.launcher.tagexpression; -import static java.lang.Integer.MIN_VALUE; import static java.util.Objects.requireNonNull; import static org.junit.platform.launcher.tagexpression.Operator.nullaryOperator; import static org.junit.platform.launcher.tagexpression.ParseStatus.emptyTagExpression; @@ -34,7 +33,7 @@ class ShuntingYard { private static final Operator RightParenthesis = nullaryOperator(")", -1); private static final Operator LeftParenthesis = nullaryOperator("(", -2); - private static final Operator Sentinel = nullaryOperator("sentinel", MIN_VALUE); + private static final Operator Sentinel = nullaryOperator("sentinel", Integer.MIN_VALUE); private static final Token SentinelToken = new Token(-1, ""); private final Operators validOperators = new Operators(); diff --git a/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java b/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java index 76e40bd0b249..0467e8c240b7 100644 --- a/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java +++ b/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java @@ -10,6 +10,7 @@ package org.junit.platform.reporting.open.xml; +import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Objects.requireNonNull; import static org.apiguardian.api.API.Status.MAINTAINED; import static org.junit.platform.commons.util.StringUtils.isNotBlank; @@ -59,7 +60,6 @@ import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; -import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.time.Instant; import java.time.LocalDateTime; @@ -151,7 +151,7 @@ private DocumentWriter createDocumentWriter(ConfigurationParameters conf .map(port -> { try { Socket socket = new Socket(InetAddress.getLoopbackAddress(), port); - Writer writer = new OutputStreamWriter(socket.getOutputStream(), StandardCharsets.UTF_8); + Writer writer = new OutputStreamWriter(socket.getOutputStream(), UTF_8); return Events.createDocumentWriter(namespaceRegistry, writer); } catch (Exception e) { diff --git a/junit-platform-suite-engine/src/main/java/org/junit/platform/suite/engine/AdditionalDiscoverySelectors.java b/junit-platform-suite-engine/src/main/java/org/junit/platform/suite/engine/AdditionalDiscoverySelectors.java index e4b8364595ec..c0cf68aa557e 100644 --- a/junit-platform-suite-engine/src/main/java/org/junit/platform/suite/engine/AdditionalDiscoverySelectors.java +++ b/junit-platform-suite-engine/src/main/java/org/junit/platform/suite/engine/AdditionalDiscoverySelectors.java @@ -10,9 +10,10 @@ package org.junit.platform.suite.engine; +import static java.util.stream.Collectors.toSet; + import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.junit.platform.commons.util.Preconditions; @@ -71,7 +72,7 @@ static List selectModules(String... moduleNames) { Preconditions.notNull(moduleNames, "Module names must not be null"); Preconditions.containsNoNullElements(moduleNames, "Individual module names must not be null"); - return DiscoverySelectors.selectModules(uniqueStreamOf(moduleNames).collect(Collectors.toSet())); + return DiscoverySelectors.selectModules(uniqueStreamOf(moduleNames).collect(toSet())); } static FileSelector selectFile(String path, int line, int column) { diff --git a/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Events.java b/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Events.java index 5755925f4234..21d0a52a9ff5 100644 --- a/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Events.java +++ b/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Events.java @@ -10,9 +10,9 @@ package org.junit.platform.testkit.engine; -import static java.util.Collections.sort; import static java.util.function.Predicate.isEqual; import static org.apiguardian.api.API.Status.MAINTAINED; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.platform.commons.util.FunctionUtils.where; import static org.junit.platform.testkit.engine.Event.byPayload; import static org.junit.platform.testkit.engine.Event.byType; @@ -22,6 +22,7 @@ import java.io.Writer; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -31,7 +32,6 @@ import java.util.stream.Stream; import org.apiguardian.api.API; -import org.assertj.core.api.Assertions; import org.assertj.core.api.Condition; import org.assertj.core.api.ListAssert; import org.assertj.core.api.SoftAssertions; @@ -355,7 +355,7 @@ public final void assertEventsMatchLooselyInOrder(Condition... co * @see org.assertj.core.api.ListAssert */ public ListAssert assertThatEvents() { - return org.assertj.core.api.Assertions.assertThat(list()); + return assertThat(list()); } // --- Diagnostics --------------------------------------------------------- @@ -416,7 +416,7 @@ private Stream finishedEventsByStatus(Status status) { @SafeVarargs private static void assertEventsMatchExactly(List events, Condition... conditions) { - Assertions.assertThat(events).hasSize(conditions.length); + assertThat(events).hasSize(conditions.length); SoftAssertions softly = new SoftAssertions(); for (int i = 0; i < conditions.length; i++) { @@ -437,7 +437,7 @@ private static void assertEventsMatchLoosely(List events, Condition events, Condition... conditions) { - Assertions.assertThat(conditions).hasSizeLessThanOrEqualTo(events.size()); + assertThat(conditions).hasSizeLessThanOrEqualTo(events.size()); SoftAssertions softly = new SoftAssertions(); // @formatter:off @@ -457,7 +457,7 @@ private static void assertEventsMatchLooselyInOrder(List events, Conditio private static boolean isNotInIncreasingOrder(List indices) { List copy = new ArrayList<>(indices); - sort(copy); + Collections.sort(copy); return !indices.equals(copy); } diff --git a/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Executions.java b/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Executions.java index 2e7c3dd3ff32..a71ebf92f156 100644 --- a/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Executions.java +++ b/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Executions.java @@ -11,6 +11,7 @@ package org.junit.platform.testkit.engine; import static org.apiguardian.api.API.Status.MAINTAINED; +import static org.assertj.core.api.Assertions.assertThat; import java.io.OutputStream; import java.io.PrintWriter; @@ -184,7 +185,7 @@ public Executions failed() { * @see org.assertj.core.api.ListAssert */ public ListAssert assertThatExecutions() { - return org.assertj.core.api.Assertions.assertThat(list()); + return assertThat(list()); } // --- Diagnostics --------------------------------------------------------- diff --git a/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/TestExecutionResultConditions.java b/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/TestExecutionResultConditions.java index b75b58245202..c271ebc52320 100644 --- a/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/TestExecutionResultConditions.java +++ b/junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/TestExecutionResultConditions.java @@ -12,6 +12,7 @@ import static java.util.function.Predicate.isEqual; import static org.apiguardian.api.API.Status.MAINTAINED; +import static org.assertj.core.api.Assertions.allOf; import static org.junit.platform.commons.util.FunctionUtils.where; import java.util.ArrayList; @@ -20,7 +21,6 @@ import java.util.function.Predicate; import org.apiguardian.api.API; -import org.assertj.core.api.Assertions; import org.assertj.core.api.Condition; import org.jspecify.annotations.Nullable; import org.junit.platform.commons.util.FunctionUtils; @@ -65,7 +65,7 @@ public static Condition throwable(Condition... c .map(TestExecutionResultConditions::throwable)// .toList(); - return Assertions.allOf(list); + return allOf(list); } /** @@ -83,7 +83,7 @@ public static Condition cause(Condition... conditions) { .map(TestExecutionResultConditions::cause)// .toList(); - return Assertions.allOf(list); + return allOf(list); } /** @@ -103,7 +103,7 @@ public static Condition rootCause(Condition... conditions) .map(TestExecutionResultConditions::rootCause)// .toList(); - return Assertions.allOf(list); + return allOf(list); } /** @@ -121,7 +121,7 @@ public static Condition suppressed(int index, Condition... .map(condition -> suppressed(index, condition))// .toList(); - return Assertions.allOf(list); + return allOf(list); } /** diff --git a/junit-vintage-engine/src/main/java/org/junit/vintage/engine/execution/TestRun.java b/junit-vintage-engine/src/main/java/org/junit/vintage/engine/execution/TestRun.java index e60f77928b08..254fae9ac5c4 100644 --- a/junit-vintage-engine/src/main/java/org/junit/vintage/engine/execution/TestRun.java +++ b/junit-vintage-engine/src/main/java/org/junit/vintage/engine/execution/TestRun.java @@ -11,6 +11,7 @@ package org.junit.vintage.engine.execution; import static java.util.Collections.emptyList; +import static java.util.Collections.reverse; import static java.util.Objects.requireNonNull; import static java.util.stream.Collectors.toCollection; import static java.util.stream.Collectors.toMap; @@ -21,7 +22,6 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; @@ -83,13 +83,13 @@ Collection getInProgressTestDescriptorsWithSyntheticStartEvents( .filter(entry -> entry.getValue().equals(EventType.SYNTHETIC)) // .map(Entry::getKey) // .collect(toCollection(ArrayList::new)); - Collections.reverse(result); + reverse(result); return result; } Collection getInProgressTestDescriptors() { List result = new ArrayList<>(inProgressDescriptors.keySet()); - Collections.reverse(result); + reverse(result); return result; } diff --git a/junit-vintage-engine/src/main/java/org/junit/vintage/engine/support/UniqueIdStringifier.java b/junit-vintage-engine/src/main/java/org/junit/vintage/engine/support/UniqueIdStringifier.java index 6986433ff5e3..e69c9bc80ba2 100644 --- a/junit-vintage-engine/src/main/java/org/junit/vintage/engine/support/UniqueIdStringifier.java +++ b/junit-vintage-engine/src/main/java/org/junit/vintage/engine/support/UniqueIdStringifier.java @@ -10,6 +10,7 @@ package org.junit.vintage.engine.support; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.apiguardian.api.API.Status.INTERNAL; import java.io.ByteArrayOutputStream; @@ -17,7 +18,6 @@ import java.io.ObjectOutputStream; import java.io.Serializable; import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; import java.text.NumberFormat; import java.util.Base64; import java.util.Locale; @@ -31,7 +31,7 @@ @API(status = INTERNAL, since = "4.12") public class UniqueIdStringifier implements Function { - static final Charset CHARSET = StandardCharsets.UTF_8; + static final Charset CHARSET = UTF_8; @Override public String apply(Serializable uniqueId) {