diff --git a/pitest-aggregator/src/main/java/org/pitest/aggregate/DataLoader.java b/pitest-aggregator/src/main/java/org/pitest/aggregate/DataLoader.java index 4ef5e402a..7cc9aa16f 100644 --- a/pitest-aggregator/src/main/java/org/pitest/aggregate/DataLoader.java +++ b/pitest-aggregator/src/main/java/org/pitest/aggregate/DataLoader.java @@ -82,11 +82,7 @@ static Document readDocument(final InputStream inputStream) throws ReportAggrega try { docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); return docBuilder.parse(inputStream); - } catch (final IOException e) { - throw new ReportAggregationException(e.getMessage(), e); - } catch (final SAXException e) { - throw new ReportAggregationException(e.getMessage(), e); - } catch (final ParserConfigurationException e) { + } catch (final IOException | SAXException | ParserConfigurationException e) { throw new ReportAggregationException(e.getMessage(), e); } finally { try { diff --git a/pitest-aggregator/src/main/java/org/pitest/aggregate/MutationResultDataLoader.java b/pitest-aggregator/src/main/java/org/pitest/aggregate/MutationResultDataLoader.java index eea6d1534..4bc30558d 100644 --- a/pitest-aggregator/src/main/java/org/pitest/aggregate/MutationResultDataLoader.java +++ b/pitest-aggregator/src/main/java/org/pitest/aggregate/MutationResultDataLoader.java @@ -38,7 +38,7 @@ protected MutationResult mapToData(final Map map) { final Location location = new Location(ClassName.fromString((String) map.get(MUTATED_CLASS)), MethodName.fromString((String) map.get(MUTATED_METHOD)), (String) map.get(METHOD_DESCRIPTION)); - final MutationIdentifier id = new MutationIdentifier(location, Arrays.asList(new Integer((String) map.get(INDEX))), (String) map.get(MUTATOR)); + final MutationIdentifier id = new MutationIdentifier(location, Arrays.asList(Integer.valueOf((String) map.get(INDEX))), (String) map.get(MUTATOR)); final MutationDetails md = new MutationDetails(id, (String) map.get(SOURCE_FILE), (String) map.get(DESCRIPTION), Integer.parseInt((String) map.get(LINE_NUMBER)), Integer.parseInt((String) map.get(BLOCK))); diff --git a/pitest-aggregator/src/main/java/org/pitest/aggregate/MutatorUtil.java b/pitest-aggregator/src/main/java/org/pitest/aggregate/MutatorUtil.java index 660c2df9d..21cf8b0e0 100644 --- a/pitest-aggregator/src/main/java/org/pitest/aggregate/MutatorUtil.java +++ b/pitest-aggregator/src/main/java/org/pitest/aggregate/MutatorUtil.java @@ -9,21 +9,21 @@ final class MutatorUtil { - private static Map factories = new ConcurrentHashMap<>(); + private static final Map FACTORIES = new ConcurrentHashMap<>(); @SuppressWarnings("unchecked") static MethodMutatorFactory loadMutator(final String className) { - if (!factories.containsKey(className)) { + if (!FACTORIES.containsKey(className)) { try { final Class clazz = (Class) Class.forName(className); final Method values = clazz.getMethod("values"); final Object valuesArray = values.invoke(null); final MethodMutatorFactory mutator = (MethodMutatorFactory) Array.get(valuesArray, 0); - factories.put(className, mutator); + FACTORIES.put(className, mutator); } catch (final Exception e) { throw new RuntimeException("Unable to load Mutator for class: " + className, e); } } - return factories.get(className); + return FACTORIES.get(className); } } diff --git a/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java b/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java index 9be9310cc..134cad311 100644 --- a/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java +++ b/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java @@ -95,7 +95,7 @@ private void checkRequiredOptions() { } private boolean optionMissing(final String option) { - return !this.options.keySet().contains(option); + return !this.options.containsKey(option); } private String generateAnalysisClasspath() { diff --git a/pitest-command-line/src/main/java/org/pitest/mutationtest/commandline/PluginFilter.java b/pitest-command-line/src/main/java/org/pitest/mutationtest/commandline/PluginFilter.java index 7aed7d443..2e5d812dd 100644 --- a/pitest-command-line/src/main/java/org/pitest/mutationtest/commandline/PluginFilter.java +++ b/pitest-command-line/src/main/java/org/pitest/mutationtest/commandline/PluginFilter.java @@ -29,9 +29,7 @@ public String apply(final ClientClasspathPlugin a) { try { return new File(a.getClass().getProtectionDomain().getCodeSource() .getLocation().toURI()).getCanonicalPath(); - } catch (final IOException ex) { - throw createPitErrorForExceptionOnClass(ex, a); - } catch (final URISyntaxException ex) { + } catch (final IOException | URISyntaxException ex) { throw createPitErrorForExceptionOnClass(ex, a); } } diff --git a/pitest-entry/src/main/java/org/pitest/classinfo/AddlerHash.java b/pitest-entry/src/main/java/org/pitest/classinfo/AddlerHash.java index a48510b71..e34b75009 100644 --- a/pitest-entry/src/main/java/org/pitest/classinfo/AddlerHash.java +++ b/pitest-entry/src/main/java/org/pitest/classinfo/AddlerHash.java @@ -7,7 +7,7 @@ public class AddlerHash implements HashFunction { @Override public long hash(final byte[] value) { final Adler32 adler = new Adler32(); - adler.update(value); + adler.update(value, 0, value.length); return adler.getValue(); } diff --git a/pitest-entry/src/main/java/org/pitest/classinfo/Repository.java b/pitest-entry/src/main/java/org/pitest/classinfo/Repository.java deleted file mode 100644 index db58a203b..000000000 --- a/pitest-entry/src/main/java/org/pitest/classinfo/Repository.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 2011 Henry Coles - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and limitations under the License. - */ -package org.pitest.classinfo; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import java.util.Optional; - -public class Repository implements ClassInfoSource { - - private final HashFunction hashFunction; - private final Map knownClasses = new HashMap<>(); - private final Set unknownClasses = new HashSet<>(); - private final ClassByteArraySource source; - - public Repository(final ClassByteArraySource source) { - this(source, new AddlerHash()); - } - - Repository(final ClassByteArraySource source, final HashFunction hashFunction) { - this.source = source; - this.hashFunction = hashFunction; - } - - public boolean hasClass(final ClassName name) { - return this.knownClasses.containsKey(name) || querySource(name).isPresent(); - } - - public Optional fetchClass(final Class clazz) { // NO_UCD (test - // only) - return fetchClass(clazz.getName()); - } - - private Optional fetchClass(final String name) { - return fetchClass(ClassName.fromString(name)); - } - - @Override - public Optional fetchClass(final ClassName name) { - final ClassInfo info = this.knownClasses.get(name); - if (info != null) { - return Optional.ofNullable(info); - } - - final Optional maybeInfo = nameToClassInfo(name); - if (maybeInfo.isPresent()) { - this.knownClasses.put(name, maybeInfo.get()); - } - return maybeInfo; - } - - private Optional nameToClassInfo(final ClassName name) { - final Optional bytes = querySource(name); - if (bytes.isPresent()) { - final ClassInfoBuilder classData = ClassInfoVisitor.getClassInfo(name, - bytes.get(), this.hashFunction.hash(bytes.get())); - return contructClassInfo(classData); - } else { - return Optional.empty(); - } - } - - public Optional querySource(final ClassName name) { - if (this.unknownClasses.contains(name)) { - return Optional.empty(); - } - final Optional option = this.source.getBytes(name.asJavaName()); - if (option.isPresent()) { - return option; - } - - this.unknownClasses.add(name); - return option; - } - - private Optional contructClassInfo(final ClassInfoBuilder classData) { - return Optional.ofNullable(new ClassInfo(resolveClass(classData.superClass), - resolveClass(classData.outerClass), classData)); - } - - private ClassPointer resolveClass(final String clazz) { - if (clazz == null) { - return new DefaultClassPointer(null); - } else { - final ClassInfo alreadyResolved = this.knownClasses.get(ClassName - .fromString(clazz)); - if (alreadyResolved != null) { - return new DefaultClassPointer(alreadyResolved); - } else { - return new DeferredClassPointer(this, ClassName.fromString(clazz)); - } - } - } - -} diff --git a/pitest-entry/src/main/java/org/pitest/coverage/execute/DefaultCoverageGenerator.java b/pitest-entry/src/main/java/org/pitest/coverage/execute/DefaultCoverageGenerator.java index 20ed08c7c..77a754e70 100644 --- a/pitest-entry/src/main/java/org/pitest/coverage/execute/DefaultCoverageGenerator.java +++ b/pitest-entry/src/main/java/org/pitest/coverage/execute/DefaultCoverageGenerator.java @@ -40,6 +40,7 @@ import org.pitest.mutationtest.config.TestPluginArguments; import org.pitest.process.LaunchOptions; import org.pitest.process.ProcessArgs; +import org.pitest.testapi.Description; import org.pitest.util.ExitCode; import org.pitest.util.Log; import org.pitest.util.PitError; @@ -109,7 +110,7 @@ public CoverageData calculateCoverage() { private static void verifyBuildSuitableForMutationTesting(final CoverageData coverage) { if (!coverage.allTestsGreen()) { LOG.severe("Tests failing without mutation: " + StringUtil.newLine() - + coverage.getFailingTestDescriptions().stream().map(test -> test.toString()) + + coverage.getFailingTestDescriptions().stream().map(Description::toString) .collect(Collectors.joining(StringUtil.newLine()))); throw new PitHelpError(Help.FAILING_TESTS, coverage.getCountFailedTests()); } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/MutationStatusMap.java b/pitest-entry/src/main/java/org/pitest/mutationtest/MutationStatusMap.java index 66a33ed24..1ba51f740 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/MutationStatusMap.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/MutationStatusMap.java @@ -82,7 +82,7 @@ private static Function, Mutation } private static Function, MutationDetails> toMutationDetails() { - return a -> a.getKey(); + return Entry::getKey; } private static Predicate> hasStatus( diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/DefaultGrouper.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/DefaultGrouper.java index db5b332db..ffc70a25c 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/DefaultGrouper.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/DefaultGrouper.java @@ -4,7 +4,6 @@ import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.function.Function; import org.pitest.classinfo.ClassName; import org.pitest.functional.FCollection; @@ -23,7 +22,7 @@ public List> groupMutations( final Collection codeClasses, final Collection mutations) { final Map> bucketed = FCollection - .bucket(mutations, byClass()); + .bucket(mutations, MutationDetails::getClassName); final List> chunked = new ArrayList<>(); for (final Collection each : bucketed.values()) { shrinkToMaximumUnitSize(chunked, each); @@ -45,8 +44,4 @@ private void shrinkToMaximumUnitSize( } } - private static Function byClass() { - return a -> a.getClassName(); - } - } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/InterceptorParameters.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/InterceptorParameters.java index 503fbbe6c..4d6648351 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/InterceptorParameters.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/InterceptorParameters.java @@ -59,10 +59,7 @@ public List getList(FeatureParameter key) { public Optional getInteger(FeatureParameter key) { final Optional val = getString(key); - if (val.isPresent()) { - return Optional.ofNullable(Integer.parseInt(val.get())); - } - return Optional.empty(); + return val.map(Integer::parseInt); } } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/InlinedFinallyBlockFilter.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/InlinedFinallyBlockFilter.java index cfb2da92d..1f2c25796 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/InlinedFinallyBlockFilter.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/javafeatures/InlinedFinallyBlockFilter.java @@ -15,7 +15,6 @@ import java.util.Map.Entry; import java.util.Set; import java.util.function.Function; -import java.util.function.Predicate; import java.util.logging.Logger; import org.pitest.bytecode.analysis.ClassTree; @@ -83,7 +82,7 @@ private void checkForInlinedCode(final Collection combined, final Entry> each) { final List mutationsInHandlerBlock = FCollection - .filter(each.getValue(), isInFinallyHandler()); + .filter(each.getValue(), MutationDetails::isInFinallyBlock); if (!isPossibleToCorrectInlining(mutationsInHandlerBlock)) { combined.addAll(each.getValue()); return; @@ -95,7 +94,7 @@ private void checkForInlinedCode(final Collection combined, // check that we have at least on mutation in a different block // to the base one (is this not implied by there being only 1 mutation in // the handler ????) - final List ids = map(each.getValue(), mutationToBlock()); + final List ids = map(each.getValue(), MutationDetails::getBlock); if (ids.stream().anyMatch(not(isEqual(firstBlock)))) { combined.add(makeCombinedMutant(each.getValue())); } else { @@ -113,15 +112,11 @@ private boolean isPossibleToCorrectInlining( return !mutationsInHandlerBlock.isEmpty(); } - private static Predicate isInFinallyHandler() { - return a -> a.isInFinallyBlock(); - } - private static MutationDetails makeCombinedMutant( final Collection value) { final MutationDetails first = value.iterator().next(); final Set indexes = new HashSet<>(); - mapTo(value, mutationToIndex(), indexes); + mapTo(value, MutationDetails::getFirstIndex, indexes); final MutationIdentifier id = new MutationIdentifier(first.getId() .getLocation(), indexes, first.getId().getMutator()); @@ -130,13 +125,6 @@ private static MutationDetails makeCombinedMutant( first.getLineNumber(), first.getBlock()); } - private static Function mutationToIndex() { - return a -> a.getFirstIndex(); - } - - private static Function mutationToBlock() { - return a -> a.getBlock(); - } private static Function toLineMutatorPair() { return a -> new LineMutatorPair(a.getLineNumber(), a.getMutator()); diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/logging/LoggingCallsFilter.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/logging/LoggingCallsFilter.java index 52453f033..dba30164b 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/logging/LoggingCallsFilter.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/logging/LoggingCallsFilter.java @@ -80,15 +80,11 @@ class LoggingLineScanner extends MethodVisitor { @Override public void visitMethodInsn(final int opcode, final String owner, final String name, final String desc, boolean itf) { - if (FCollection.contains(this.loggingClasses, matches(owner))) { + if (FCollection.contains(this.loggingClasses, owner::startsWith)) { this.lines.add(this.currentLineNumber); } } - private static Predicate matches(final String owner) { - return a -> owner.startsWith(a); - } - @Override public void visitLineNumber(final int line, final Label start) { this.currentLineNumber = line; diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/staticinitializers/StaticInitializerFilter.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/staticinitializers/StaticInitializerFilter.java index 8ec40dc05..3ca874033 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/staticinitializers/StaticInitializerFilter.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/staticinitializers/StaticInitializerFilter.java @@ -1,7 +1,6 @@ package org.pitest.mutationtest.build.intercept.staticinitializers; import java.util.Collection; -import java.util.function.Predicate; import org.pitest.bytecode.analysis.ClassTree; import org.pitest.functional.FCollection; @@ -21,11 +20,7 @@ public void begin(ClassTree clazz) { @Override public Collection intercept( Collection mutations, Mutater m) { - return FCollection.filter(mutations, Prelude.not(isInStaticInitCode())); - } - - private Predicate isInStaticInitCode() { - return a -> a.isInStaticInitializer(); + return FCollection.filter(mutations, Prelude.not(MutationDetails::isInStaticInitializer)); } @Override diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/staticinitializers/StaticInitializerInterceptor.java b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/staticinitializers/StaticInitializerInterceptor.java index 548ad6e7f..f14632b57 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/staticinitializers/StaticInitializerInterceptor.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/build/intercept/staticinitializers/StaticInitializerInterceptor.java @@ -81,7 +81,7 @@ private void analyseClass(ClassTree tree) { clinit.get().instructions().stream() .flatMap(is(MethodInsnNode.class)) .filter(calls(tree.name())) - .map(toPredicate()) + .map(StaticInitializerInterceptor::matchesCall) .collect(Collectors.toList()); final Predicate matchingCalls = Prelude.or(selfCalls); @@ -107,13 +107,6 @@ private static Predicate isPrivateStatic() { && ((a.rawNode().access & Opcodes.ACC_PRIVATE) != 0); } - - - private static Function> toPredicate() { - return a -> matchesCall(a); - } - - private static Predicate matchesCall(final MethodInsnNode call) { return a -> a.rawNode().name.equals(call.name) && a.rawNode().desc.equals(call.desc); @@ -124,15 +117,11 @@ private Predicate calls(final ClassName self) { } private Function> is(final Class clazz) { - return new Function>() { - @SuppressWarnings("unchecked") - @Override - public Stream apply(AbstractInsnNode a) { - if (a.getClass().isAssignableFrom(clazz)) { - return Stream.of((T)a); - } - return Stream.empty(); + return a -> { + if (a.getClass().isAssignableFrom(clazz)) { + return Stream.of((T)a); } + return Stream.empty(); }; } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/config/PluginServices.java b/pitest-entry/src/main/java/org/pitest/mutationtest/config/PluginServices.java index b3febb8d2..97245ddba 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/config/PluginServices.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/config/PluginServices.java @@ -86,7 +86,7 @@ public Collection findInterceptors() { public Collection findFeatures() { return findToolClasspathPlugins().stream() .filter(p -> p instanceof ProvidesFeature) - .map(p -> ProvidesFeature.class.cast(p)) + .map(ProvidesFeature.class::cast) .collect(Collectors.toList()); } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/config/ReportOptions.java b/pitest-entry/src/main/java/org/pitest/mutationtest/config/ReportOptions.java index dcd397ca7..a620400c5 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/config/ReportOptions.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/config/ReportOptions.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -29,7 +30,6 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Properties; -import java.util.function.Function; import java.util.function.Predicate; import org.pitest.classpath.ClassFilter; @@ -242,11 +242,7 @@ public ClassPath getClassPath() { private ClassPath createClassPathFromElements() { return new ClassPath( - FCollection.map(this.classPathElements, stringToFile())); - } - - private static Function stringToFile() { - return a -> new File(a); + FCollection.map(this.classPathElements, File::new)); } public Collection getTargetClasses() { @@ -491,8 +487,8 @@ public Optional createHistoryReader() { try { if (this.historyInputLocation.exists() && (this.historyInputLocation.length() > 0)) { - return Optional. ofNullable(new InputStreamReader(new FileInputStream( - this.historyInputLocation), "UTF-8")); + return Optional.ofNullable(new InputStreamReader(new FileInputStream( + this.historyInputLocation), StandardCharsets.UTF_8)); } return Optional.empty(); } catch (final IOException ex) { diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/config/SettingsFactory.java b/pitest-entry/src/main/java/org/pitest/mutationtest/config/SettingsFactory.java index 310a3c2b2..2c44c2dfb 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/config/SettingsFactory.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/config/SettingsFactory.java @@ -182,7 +182,7 @@ private static T firstOrDefault(final Collection found, } private static Function toFeature() { - return a -> a.provides(); + return ProvidesFeature::provides; } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationAnalysisExecutor.java b/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationAnalysisExecutor.java index da7718fb2..a8da0b492 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationAnalysisExecutor.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationAnalysisExecutor.java @@ -28,7 +28,7 @@ public MutationAnalysisExecutor(int numberOfThreads, List listeners) { this.listeners = listeners; this.executor = new ThreadPoolExecutor(numberOfThreads, numberOfThreads, - 10, TimeUnit.SECONDS, new LinkedBlockingQueue(), + 10, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), Executors.defaultThreadFactory()); } @@ -50,9 +50,7 @@ public void run(final List testUnits) { try { processResult(results); - } catch (final InterruptedException e) { - throw Unchecked.translateCheckedException(e); - } catch (final ExecutionException e) { + } catch (final InterruptedException | ExecutionException e) { throw Unchecked.translateCheckedException(e); } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationTestProcess.java b/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationTestProcess.java index f4f047753..99e4d09dd 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationTestProcess.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/execute/MutationTestProcess.java @@ -7,7 +7,6 @@ import org.pitest.mutationtest.MutationStatusMap; import org.pitest.mutationtest.MutationStatusTestPair; import org.pitest.mutationtest.engine.MutationDetails; -import org.pitest.mutationtest.engine.MutationIdentifier; import org.pitest.process.ProcessArgs; import org.pitest.process.WrappingProcess; import org.pitest.util.ExitCode; @@ -22,7 +21,7 @@ public MutationTestProcess(final ServerSocket socket, this.process = new WrappingProcess(socket.getLocalPort(), processArgs, MutationTestMinion.class); this.thread = new MutationTestCommunicationThread(socket, arguments, - new HashMap()); + new HashMap<>()); } diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/FileWriterFactory.java b/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/FileWriterFactory.java index a978b0b71..e1402463c 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/FileWriterFactory.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/FileWriterFactory.java @@ -5,6 +5,7 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; +import java.nio.charset.StandardCharsets; import org.pitest.util.Unchecked; @@ -23,7 +24,7 @@ public PrintWriter create() { try { if (this.writer == null) { this.writer = new PrintWriter(new OutputStreamWriter( - new FileOutputStream(this.file), "UTF-8")); + new FileOutputStream(this.file), StandardCharsets.UTF_8)); } return this.writer; diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/ObjectOutputStreamHistoryStore.java b/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/ObjectOutputStreamHistoryStore.java index 5d05752c7..ff6a05b52 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/ObjectOutputStreamHistoryStore.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/incremental/ObjectOutputStreamHistoryStore.java @@ -43,10 +43,8 @@ public ObjectOutputStreamHistoryStore(final WriterFactory output, } private BufferedReader createReader(Optional input) { - if (input.isPresent()) { - return new BufferedReader(input.get()); - } - return null; + return input.map(BufferedReader::new) + .orElse(null); } @Override @@ -109,7 +107,7 @@ private void restoreResults() { private void restoreClassPath() { try { - final long classPathSize = Long.valueOf(this.input.readLine()); + final long classPathSize = Long.parseLong(this.input.readLine()); for (int i = 0; i != classPathSize; i++) { final ClassHistory coverage = deserialize(this.input.readLine(), ClassHistory.class); diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/report/csv/CSVReportListener.java b/pitest-entry/src/main/java/org/pitest/mutationtest/report/csv/CSVReportListener.java index 40f72731c..c8b14bf01 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/report/csv/CSVReportListener.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/report/csv/CSVReportListener.java @@ -37,11 +37,7 @@ public CSVReportListener(final Writer out) { } private String createKillingTestDesc(final Optional killingTest) { - if (killingTest.isPresent()) { - return killingTest.get(); - } else { - return "none"; - } + return killingTest.orElse("none"); } private String makeCsv(final Object... os) { diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/report/xml/XMLReportListener.java b/pitest-entry/src/main/java/org/pitest/mutationtest/report/xml/XMLReportListener.java index 102f0099d..dba0e4b0b 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/report/xml/XMLReportListener.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/report/xml/XMLReportListener.java @@ -42,7 +42,7 @@ import org.pitest.util.Unchecked; enum Tag { - mutation, sourceFile, mutatedClass, mutatedMethod, methodDescription, lineNumber, mutator, index, killingTest, killingTests, succeedingTests, description, block; + mutation, sourceFile, mutatedClass, mutatedMethod, methodDescription, lineNumber, mutator, index, killingTest, killingTests, succeedingTests, description, block } public class XMLReportListener implements MutationResultListener { @@ -130,11 +130,8 @@ private String makeNode(final String value, final Tag tag) { } private String createKillingTestDesc(final Optional killingTest) { - if (killingTest.isPresent()) { - return createTestDesc(Arrays.asList(killingTest.get())); - } else { - return null; - } + return killingTest.map(s -> createTestDesc(Arrays.asList(s))) + .orElse(null); } private String createTestDesc(final List tests) { diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/statistics/MutationStatisticsPrecursor.java b/pitest-entry/src/main/java/org/pitest/mutationtest/statistics/MutationStatisticsPrecursor.java index fa337a929..166c014e4 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/statistics/MutationStatisticsPrecursor.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/statistics/MutationStatisticsPrecursor.java @@ -5,7 +5,6 @@ import java.util.Map; import java.util.function.BiFunction; import java.util.function.Consumer; -import java.util.function.Function; import org.pitest.functional.FCollection; import org.pitest.mutationtest.MutationResult; @@ -44,12 +43,9 @@ public MutationStatistics toStatistics() { } Iterable getScores() { - return FCollection.map(this.mutatorTotalMap.values(), toScore()); + return FCollection.map(this.mutatorTotalMap.values(), ScorePrecursor::toScore); } - private static Function toScore() { - return a -> a.toScore(); - } private static BiFunction addTotals() { return (a, b) -> a + b.getTotalMutations(); diff --git a/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/SmartSourceLocator.java b/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/SmartSourceLocator.java index e9f1aaf88..81bf0e4ca 100644 --- a/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/SmartSourceLocator.java +++ b/pitest-entry/src/main/java/org/pitest/mutationtest/tooling/SmartSourceLocator.java @@ -35,8 +35,7 @@ public SmartSourceLocator(final Collection roots) { collectChildren(0)); childDirs.addAll(roots); - final Function fileToSourceLocator = a -> new DirectorySourceLocator(a); - this.children = FCollection.map(childDirs, fileToSourceLocator); + this.children = FCollection.map(childDirs, DirectorySourceLocator::new); } private Function> collectChildren(final int depth) { @@ -54,7 +53,7 @@ private Collection collectDirectories(final File root, final int depth) { } private static Collection listFirstLevelDirectories(final File root) { - return FArray.filter(root.listFiles(), a -> a.isDirectory()); + return FArray.filter(root.listFiles(), File::isDirectory); } @Override diff --git a/pitest-entry/src/main/java/org/pitest/process/LaunchOptions.java b/pitest-entry/src/main/java/org/pitest/process/LaunchOptions.java index 80c1c901f..445774709 100644 --- a/pitest-entry/src/main/java/org/pitest/process/LaunchOptions.java +++ b/pitest-entry/src/main/java/org/pitest/process/LaunchOptions.java @@ -29,7 +29,7 @@ public class LaunchOptions { public LaunchOptions(JavaAgent javaAgentFinder) { this(javaAgentFinder, new DefaultJavaExecutableLocator(), Collections - . emptyList(), new HashMap()); + .emptyList(), new HashMap<>()); } public LaunchOptions(JavaAgent javaAgentFinder, diff --git a/pitest-html-report/src/main/java/org/pitest/mutationtest/report/html/LineStatus.java b/pitest-html-report/src/main/java/org/pitest/mutationtest/report/html/LineStatus.java index 17b66f77e..ca0c64b1a 100644 --- a/pitest-html-report/src/main/java/org/pitest/mutationtest/report/html/LineStatus.java +++ b/pitest-html-report/src/main/java/org/pitest/mutationtest/report/html/LineStatus.java @@ -16,6 +16,6 @@ enum LineStatus { - Covered, NotCovered, NotApplicable; + Covered, NotCovered, NotApplicable } diff --git a/pitest-maven/src/main/java/org/pitest/maven/MojoToReportOptionsConverter.java b/pitest-maven/src/main/java/org/pitest/maven/MojoToReportOptionsConverter.java index 868f5b3df..d48e1f24b 100644 --- a/pitest-maven/src/main/java/org/pitest/maven/MojoToReportOptionsConverter.java +++ b/pitest-maven/src/main/java/org/pitest/maven/MojoToReportOptionsConverter.java @@ -204,12 +204,7 @@ private Collection lookupPlugin(String key) { } private static Predicate hasKey(final String key) { - return new Predicate() { - @Override - public boolean test(Plugin a) { - return a.getKey().equals(key); - } - }; + return a -> a.getKey().equals(key); } private boolean shouldFailWhenNoMutations() { @@ -319,11 +314,7 @@ private static Function classToPackageGlob() { } private Collection stringsTofiles(final List sourceRoots) { - return FCollection.map(sourceRoots, stringToFile()); - } - - private Function stringToFile() { - return a -> new File(a); + return FCollection.map(sourceRoots, File::new); } private Collection determineOutputFormats() { diff --git a/pitest-maven/src/main/java/org/pitest/maven/NonEmptyProjectCheck.java b/pitest-maven/src/main/java/org/pitest/maven/NonEmptyProjectCheck.java index 16596db6e..9ea77001e 100644 --- a/pitest-maven/src/main/java/org/pitest/maven/NonEmptyProjectCheck.java +++ b/pitest-maven/src/main/java/org/pitest/maven/NonEmptyProjectCheck.java @@ -16,12 +16,7 @@ public boolean test(MavenProject project) { } private Predicate exists() { - return new Predicate() { - @Override - public boolean test(String root) { - return new File(root).exists(); - } - }; + return root -> new File(root).exists(); } } diff --git a/pitest-maven/src/main/java/org/pitest/maven/PathToJavaClassConverter.java b/pitest-maven/src/main/java/org/pitest/maven/PathToJavaClassConverter.java index f6d62f551..158a0768f 100644 --- a/pitest-maven/src/main/java/org/pitest/maven/PathToJavaClassConverter.java +++ b/pitest-maven/src/main/java/org/pitest/maven/PathToJavaClassConverter.java @@ -39,8 +39,7 @@ public Iterable apply(final String a) { private Iterable createClassGlobFromFilePath(final String sourceRoot, final String modifiedFilePath) { - final String rootedPath = modifiedFilePath.substring( - sourceRoot.length() + 1, modifiedFilePath.length()); + final String rootedPath = modifiedFilePath.substring(sourceRoot.length() + 1); // some scms report paths in portable format, some in os specific format (i // think) // replace both possibilities regardless of host os diff --git a/pitest-maven/src/main/java/org/pitest/maven/ScmMojo.java b/pitest-maven/src/main/java/org/pitest/maven/ScmMojo.java index 188395ff1..a828180ef 100644 --- a/pitest-maven/src/main/java/org/pitest/maven/ScmMojo.java +++ b/pitest-maven/src/main/java/org/pitest/maven/ScmMojo.java @@ -130,7 +130,7 @@ protected Optional analyse() throws MojoExecutionException { data.setFailWhenNoMutations(false); return Optional.ofNullable(this.getGoalStrategy().execute(detectBaseDir(), data, - getPlugins(), new HashMap())); + getPlugins(), new HashMap<>())); } diff --git a/pitest-maven/src/main/java/org/pitest/maven/SurefireConfigConverter.java b/pitest-maven/src/main/java/org/pitest/maven/SurefireConfigConverter.java index 7412c4209..e9ea54083 100644 --- a/pitest-maven/src/main/java/org/pitest/maven/SurefireConfigConverter.java +++ b/pitest-maven/src/main/java/org/pitest/maven/SurefireConfigConverter.java @@ -58,12 +58,7 @@ private void convertExcludes(ReportOptions option, Xpp3Dom configuration) { } private Function> filenameToClassFilter() { - return new Function>() { - @Override - public Predicate apply(String a) { - return new Glob(a.replace(".java", "").replace("/", ".")); - } - }; + return a -> new Glob(a.replace(".java", "").replace("/", ".")); } private List extract(String childname, Xpp3Dom config) { diff --git a/pitest-maven/src/main/java/org/pitest/maven/report/AbstractPitAggregationReportMojo.java b/pitest-maven/src/main/java/org/pitest/maven/report/AbstractPitAggregationReportMojo.java index 17b4ab4ee..c96785350 100644 --- a/pitest-maven/src/main/java/org/pitest/maven/report/AbstractPitAggregationReportMojo.java +++ b/pitest-maven/src/main/java/org/pitest/maven/report/AbstractPitAggregationReportMojo.java @@ -19,7 +19,6 @@ import java.util.Collection; import java.util.List; import java.util.Locale; -import java.util.function.Function; /** * Common code for report aggregation mojo. @@ -36,7 +35,7 @@ abstract class AbstractPitAggregationReportMojo extends PitReportMojo { @Parameter(property = "reactorProjects", readonly = true) List reactorProjects; - private ReportSourceLocator reportSourceLocator = new ReportSourceLocator(); + private final ReportSourceLocator reportSourceLocator = new ReportSourceLocator(); /** * @return projects to inspect for report files. @@ -70,7 +69,7 @@ protected void executeReport(final Locale locale) private void addProjectFiles( final ReportAggregator.Builder reportAggregationBuilder, - final MavenProject proj) throws IOException, Exception { + final MavenProject proj) throws Exception { final File projectBaseDir = proj.getBasedir(); List files = getProjectFilesByFilter(projectBaseDir, MUTATION_RESULT_FILTER); @@ -98,12 +97,7 @@ private List convertToRootDirs(final List... directoryLists) { for (final List directoryList : directoryLists) { roots.addAll(directoryList); } - return FCollection.map(roots, new Function() { - @Override - public File apply(final String a) { - return new File(a); - } - }); + return FCollection.map(roots, File::new); } private List getProjectFilesByFilter(final File projectBaseDir, diff --git a/pitest/src/main/java/org/pitest/boot/HotSwapAgent.java b/pitest/src/main/java/org/pitest/boot/HotSwapAgent.java index fc8c289fa..a81c3000b 100644 --- a/pitest/src/main/java/org/pitest/boot/HotSwapAgent.java +++ b/pitest/src/main/java/org/pitest/boot/HotSwapAgent.java @@ -46,13 +46,7 @@ public static boolean hotSwap(final Class mutateMe, final byte[] bytes) { // instrumentation.redefineClasses(definitions); return true; - } catch (final ClassNotFoundException e) { - // swallow - } catch (final UnmodifiableClassException e) { - // swallow - } catch (final java.lang.VerifyError e) { - // swallow - } catch (final java.lang.InternalError e) { + } catch (final ClassNotFoundException | UnmodifiableClassException | VerifyError | InternalError e) { // swallow } return false; diff --git a/pitest/src/main/java/org/pitest/classinfo/AddlerHash.java b/pitest/src/main/java/org/pitest/classinfo/AddlerHash.java index a48510b71..e34b75009 100644 --- a/pitest/src/main/java/org/pitest/classinfo/AddlerHash.java +++ b/pitest/src/main/java/org/pitest/classinfo/AddlerHash.java @@ -7,7 +7,7 @@ public class AddlerHash implements HashFunction { @Override public long hash(final byte[] value) { final Adler32 adler = new Adler32(); - adler.update(value); + adler.update(value, 0, value.length); return adler.getValue(); } diff --git a/pitest/src/main/java/org/pitest/classinfo/ClassInfo.java b/pitest/src/main/java/org/pitest/classinfo/ClassInfo.java index 1aa0b145b..750ca0111 100644 --- a/pitest/src/main/java/org/pitest/classinfo/ClassInfo.java +++ b/pitest/src/main/java/org/pitest/classinfo/ClassInfo.java @@ -153,7 +153,7 @@ private boolean descendsFrom(final ClassName clazz) { } public static Predicate matchIfAbstract() { - return a -> a.isAbstract(); + return ClassInfo::isAbstract; } @Override @@ -162,10 +162,10 @@ public String toString() { } public static Function toClassName() { - return a -> a.getName(); + return ClassInfo::getName; } public static Function toFullClassId() { - return a -> a.getHierarchicalId(); + return ClassInfo::getHierarchicalId; } } diff --git a/pitest/src/main/java/org/pitest/classinfo/ClassName.java b/pitest/src/main/java/org/pitest/classinfo/ClassName.java index 020ac9140..21dbdd77d 100644 --- a/pitest/src/main/java/org/pitest/classinfo/ClassName.java +++ b/pitest/src/main/java/org/pitest/classinfo/ClassName.java @@ -64,8 +64,7 @@ public String asInternalName() { public ClassName getNameWithoutPackage() { final int lastSeparator = this.name.lastIndexOf('/'); if (lastSeparator != -1) { - return ClassName.fromString(this.name.substring(lastSeparator + 1, - this.name.length())); + return ClassName.fromString(this.name.substring(lastSeparator + 1)); } return this; } @@ -82,8 +81,7 @@ public ClassName withoutPrefixChars(final int prefixLength) { final String nameWithoutPackage = this.getNameWithoutPackage().asJavaName(); return ClassName.fromString(this.getPackage().asJavaName() + "/" - + nameWithoutPackage.substring(prefixLength, - nameWithoutPackage.length())); + + nameWithoutPackage.substring(prefixLength)); } public ClassName withoutSuffixChars(final int suffixLength) { @@ -95,7 +93,7 @@ public ClassName withoutSuffixChars(final int suffixLength) { } public static Function stringToClassName() { - return clazz -> ClassName.fromString(clazz); + return ClassName::fromString; } public static Function>> nameToClass() { @@ -117,12 +115,9 @@ public static Function>> nameToClass( LOG.warning("Could not load " + className + " (NoClassDefFoundError: " + e2.getMessage() + ")"); return Stream.empty(); - } catch (final LinkageError e3) { + } catch (final LinkageError | SecurityException e3) { LOG.warning("Could not load " + className + " " + e3.getMessage()); return Stream.empty(); - } catch (final SecurityException e4) { - LOG.warning("Could not load " + className + " " + e4.getMessage()); - return Stream.empty(); } }; } diff --git a/pitest/src/main/java/org/pitest/classpath/ClassPath.java b/pitest/src/main/java/org/pitest/classpath/ClassPath.java index 14cf96693..6a6aa8d6c 100644 --- a/pitest/src/main/java/org/pitest/classpath/ClassPath.java +++ b/pitest/src/main/java/org/pitest/classpath/ClassPath.java @@ -111,7 +111,7 @@ public URL findResource(final String name) { public static Collection getClassPathElementsAsPaths() { final Set filesAsString = new LinkedHashSet<>(); - FCollection.mapTo(getClassPathElementsAsFiles(), file -> file.getPath(), + FCollection.mapTo(getClassPathElementsAsFiles(), File::getPath, filesAsString); return filesAsString; } diff --git a/pitest/src/main/java/org/pitest/classpath/CodeSource.java b/pitest/src/main/java/org/pitest/classpath/CodeSource.java index 6157daefe..187cff82d 100644 --- a/pitest/src/main/java/org/pitest/classpath/CodeSource.java +++ b/pitest/src/main/java/org/pitest/classpath/CodeSource.java @@ -87,7 +87,7 @@ public Optional fetchClass(final ClassName clazz) { private Function> nameToClassInfo() { return new NameToClassInfo(this.classRepository) - .andThen(opt -> Streams.fromOptional(opt)); + .andThen(Streams::fromOptional); } } diff --git a/pitest/src/main/java/org/pitest/coverage/TestInfo.java b/pitest/src/main/java/org/pitest/coverage/TestInfo.java index 34fa069e9..9916444ee 100644 --- a/pitest/src/main/java/org/pitest/coverage/TestInfo.java +++ b/pitest/src/main/java/org/pitest/coverage/TestInfo.java @@ -61,7 +61,7 @@ public String toString() { } public static Function toName() { - return a -> a.getName(); + return TestInfo::getName; } public static Function toDefiningClassName() { diff --git a/pitest/src/main/java/org/pitest/dependency/DependencyExtractor.java b/pitest/src/main/java/org/pitest/dependency/DependencyExtractor.java index 2e4b4099b..324e15744 100644 --- a/pitest/src/main/java/org/pitest/dependency/DependencyExtractor.java +++ b/pitest/src/main/java/org/pitest/dependency/DependencyExtractor.java @@ -81,7 +81,7 @@ Set extractCallDependencies(final String clazz, final Predicate filter) throws IOException { return this - .extractCallDependencies(clazz, new TreeSet(), filter, 0); + .extractCallDependencies(clazz, new TreeSet<>(), filter, 0); } public int getMaxDistance() { @@ -158,7 +158,7 @@ private List extract(final String clazz, private Map> groupDependenciesByClass( final Set relevantDependencies) { return FCollection.fold(addDependenciesToMap(), - new HashMap>(), relevantDependencies); + new HashMap<>(), relevantDependencies); } diff --git a/pitest/src/main/java/org/pitest/functional/prelude/Prelude.java b/pitest/src/main/java/org/pitest/functional/prelude/Prelude.java index 0537872f7..5b035bc31 100644 --- a/pitest/src/main/java/org/pitest/functional/prelude/Prelude.java +++ b/pitest/src/main/java/org/pitest/functional/prelude/Prelude.java @@ -33,30 +33,30 @@ public abstract class Prelude { @SafeVarargs - public static final And and(final Predicate... ps) { + public static And and(final Predicate... ps) { return new And<>(Arrays.asList(ps)); } - public static final And and(final Iterable> ps) { + public static And and(final Iterable> ps) { return new And<>(ps); } - public static final Predicate not(final Predicate p) { + public static Predicate not(final Predicate p) { return p.negate(); } @SafeVarargs - public static final Or or(final Predicate... ps) { + public static Or or(final Predicate... ps) { return new Or<>(Arrays.asList(ps)); } - public static final Or or(final Iterable> ps) { + public static Or or(final Iterable> ps) { return new Or<>(ps); } - public static final Consumer accumulateTo( + public static Consumer accumulateTo( final Collection collection) { - return a -> collection.add(a); + return collection::add; } @@ -65,29 +65,29 @@ public static Consumer putToMap(final Map map, return key -> map.put(key, value); } - public static final Function id() { + public static Function id() { return a -> a; } - public static final Function id(final Class type) { + public static Function id(final Class type) { return id(); } - public static final Consumer println() { + public static Consumer println() { return printlnTo(System.out); } - public static final Consumer println(final Class type) { + public static Consumer println(final Class type) { return println(); } - public static final Consumer printlnTo(final Class type, - final PrintStream stream) { + public static Consumer printlnTo(final Class type, + final PrintStream stream) { return printlnTo(stream); } - public static final Consumer printlnTo(final PrintStream stream) { - return a -> stream.println(a); + public static Consumer printlnTo(final PrintStream stream) { + return stream::println; } public static Consumer printlnWith(final T t) { @@ -99,7 +99,7 @@ public static Predicate isGreaterThan(final T value) { } public static Function> asList(final Class type) { - return a -> Collections.singletonList(a); + return Collections::singletonList; } public static Consumer noSideEffect(final Class clazz) { diff --git a/pitest/src/main/java/org/pitest/junit/JUnitCompatibleConfiguration.java b/pitest/src/main/java/org/pitest/junit/JUnitCompatibleConfiguration.java index baa28179b..0fd3aba6d 100644 --- a/pitest/src/main/java/org/pitest/junit/JUnitCompatibleConfiguration.java +++ b/pitest/src/main/java/org/pitest/junit/JUnitCompatibleConfiguration.java @@ -52,7 +52,7 @@ public TestUnitFinder testUnitFinder() { @Override public TestSuiteFinder testSuiteFinder() { - return new CompoundTestSuiteFinder(Arrays. asList( + return new CompoundTestSuiteFinder(Arrays.asList( new JUnit4SuiteFinder(), new RunnerSuiteFinder())); } diff --git a/pitest/src/main/java/org/pitest/junit/JUnitCustomRunnerTestUnitFinder.java b/pitest/src/main/java/org/pitest/junit/JUnitCustomRunnerTestUnitFinder.java index 009dd6ae8..8d403dcbd 100644 --- a/pitest/src/main/java/org/pitest/junit/JUnitCustomRunnerTestUnitFinder.java +++ b/pitest/src/main/java/org/pitest/junit/JUnitCustomRunnerTestUnitFinder.java @@ -26,7 +26,6 @@ import java.util.Optional; import java.util.Set; import java.util.function.Function; -import java.util.function.Predicate; import java.util.stream.Collectors; import org.junit.AfterClass; @@ -79,8 +78,8 @@ public List findTestUnits(final Class clazz) { final List filteredUnits = splitIntoFilteredUnits(runner.getDescription()); return filterUnitsByMethod(filteredUnits); } else { - return Collections. singletonList(new AdaptedJUnitTestUnit( - clazz, Optional. empty())); + return Collections.singletonList(new AdaptedJUnitTestUnit( + clazz, Optional.empty())); } } @@ -127,14 +126,10 @@ private Function> toCategoryNames() { if (a == null) { return Collections.emptyList(); } - return FCollection.map(Arrays.asList(a.value()),toName()); + return FCollection.map(Arrays.asList(a.value()), Class::getName); }; } - private Function,String> toName() { - return a -> a.getName(); - } - private boolean isNotARunnableTest(final Runner runner, final String className) { try { @@ -166,12 +161,8 @@ private boolean shouldTreatAsOneUnit(final Class clazz, final Runner runner) private boolean hasClassRuleAnnotations(final Class clazz, final Set methods) { - if (!CLASS_RULE.isPresent()) { - return false; - } - - return hasAnnotation(methods, CLASS_RULE.get()) - || hasAnnotation(Reflection.publicFields(clazz), CLASS_RULE.get()); + return CLASS_RULE.filter(aClass -> hasAnnotation(methods, aClass) + || hasAnnotation(Reflection.publicFields(clazz), aClass)).isPresent(); } private boolean hasAnnotation(final Set methods, @@ -202,19 +193,11 @@ private boolean isJUnitThreeSuiteMethodNotForOwnClass(final Runner runner, private List splitIntoFilteredUnits(final Description description) { return description.getChildren().stream() - .filter(isTest()) - .map(descriptionToTestUnit()) + .filter(Description::isTest) + .map(this::descriptionToTest) .collect(Collectors.toList()); } - private Function descriptionToTestUnit() { - return a -> descriptionToTest(a); - } - - private Predicate isTest() { - return a -> a.isTest(); - } - private TestUnit descriptionToTest(final Description description) { Class clazz = description.getTestClass(); @@ -233,7 +216,7 @@ private Filter createFilterFor(final Description description) { @SuppressWarnings("rawtypes") private static Optional findClassRuleClass() { try { - return Optional. ofNullable(Class.forName("org.junit.ClassRule")); + return Optional.ofNullable(Class.forName("org.junit.ClassRule")); } catch (final ClassNotFoundException ex) { return Optional.empty(); } diff --git a/pitest/src/main/java/org/pitest/junit/ParameterisedJUnitTestFinder.java b/pitest/src/main/java/org/pitest/junit/ParameterisedJUnitTestFinder.java index 141bb56df..77353353e 100644 --- a/pitest/src/main/java/org/pitest/junit/ParameterisedJUnitTestFinder.java +++ b/pitest/src/main/java/org/pitest/junit/ParameterisedJUnitTestFinder.java @@ -22,7 +22,6 @@ import org.junit.internal.runners.ErrorReportingRunner; import org.junit.runner.Description; import org.junit.runner.Runner; -import org.junit.runner.manipulation.Filter; import org.junit.runners.Parameterized; import org.pitest.functional.FCollection; import java.util.Optional; @@ -60,7 +59,7 @@ private List handleParameterizedTest(final Class clazz, private Function parameterizedToTestUnit(final Class clazz) { return a -> new AdaptedJUnitTestUnit(clazz, - Optional. ofNullable(new ParameterisedTestFilter(a.toString()))); + Optional.ofNullable(new ParameterisedTestFilter(a.toString()))); } private boolean isParameterizedTest(final Runner runner) { diff --git a/pitest/src/main/java/org/pitest/junit/RunnerSuiteFinder.java b/pitest/src/main/java/org/pitest/junit/RunnerSuiteFinder.java index 5fb60a1bd..c536a1900 100644 --- a/pitest/src/main/java/org/pitest/junit/RunnerSuiteFinder.java +++ b/pitest/src/main/java/org/pitest/junit/RunnerSuiteFinder.java @@ -43,7 +43,7 @@ public List> apply(final Class a) { flattenChildren(allChildren, runner.getDescription()); final List suites = FCollection.filter(allChildren, - Prelude.or(isSuiteMethodRunner(runner), isSuite())); + Prelude.or(isSuiteMethodRunner(runner), Description::isSuite)); final Set> classes = suites.stream().flatMap(descriptionToTestClass()).collect(Collectors.toSet()); classes.remove(a); @@ -79,8 +79,4 @@ private static Function>> descriptionToTestClass() }; } - private static Predicate isSuite() { - return a -> a.isSuite(); - } - } diff --git a/pitest/src/main/java/org/pitest/junit/TestInfo.java b/pitest/src/main/java/org/pitest/junit/TestInfo.java index d2a791ff0..9750e9dd7 100644 --- a/pitest/src/main/java/org/pitest/junit/TestInfo.java +++ b/pitest/src/main/java/org/pitest/junit/TestInfo.java @@ -41,7 +41,7 @@ private static boolean isATest(final Optional clazz) { } public static Predicate isATest() { - return clazz -> isATest(clazz); + return TestInfo::isATest; } private static boolean isJUnit3Test(final ClassInfo clazz) { diff --git a/pitest/src/main/java/org/pitest/mutationtest/EngineArguments.java b/pitest/src/main/java/org/pitest/mutationtest/EngineArguments.java index 5839a717b..47ddaea62 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/EngineArguments.java +++ b/pitest/src/main/java/org/pitest/mutationtest/EngineArguments.java @@ -17,7 +17,7 @@ public EngineArguments(Collection mutators, Collection excludedM } public static EngineArguments arguments() { - return new EngineArguments(Collections.emptyList(), Collections.emptyList()); + return new EngineArguments(Collections.emptyList(), Collections.emptyList()); } public EngineArguments withMutators(Collection mutators) { diff --git a/pitest/src/main/java/org/pitest/mutationtest/config/TestPluginArguments.java b/pitest/src/main/java/org/pitest/mutationtest/config/TestPluginArguments.java index 55c2045d7..cfea691f9 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/config/TestPluginArguments.java +++ b/pitest/src/main/java/org/pitest/mutationtest/config/TestPluginArguments.java @@ -34,8 +34,8 @@ public TestPluginArguments(String testPlugin, } public static TestPluginArguments defaults() { - return new TestPluginArguments(JUnitTestPlugin.NAME, new TestGroupConfig(), Collections.emptyList(), - Collections.emptyList(), false); + return new TestPluginArguments(JUnitTestPlugin.NAME, new TestGroupConfig(), Collections.emptyList(), + Collections.emptyList(), false); } public TestPluginArguments withTestPlugin(String plugin) { diff --git a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/GregorMutater.java b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/GregorMutater.java index 0debd7657..cdd821f07 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/GregorMutater.java +++ b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/GregorMutater.java @@ -61,12 +61,12 @@ public List findMutations( final ClassName classToMutate) { final ClassContext context = new ClassContext(); - context.setTargetMutation(Optional. empty()); + context.setTargetMutation(Optional.empty()); Optional bytes = GregorMutater.this.byteSource.getBytes( classToMutate.asInternalName()); return bytes.map(findMutations(context)) - .orElse(Collections.emptyList()); + .orElse(Collections.emptyList()); } @@ -123,7 +123,7 @@ private Predicate filterMethods() { } private static Predicate isGroovyClass() { - return a -> a.isInGroovyClass(); + return MethodInfo::isInGroovyClass; } private static Predicate filterSyntheticMethods() { @@ -131,7 +131,7 @@ private static Predicate filterSyntheticMethods() { } private static Predicate isGeneratedEnumMethod() { - return a -> a.isGeneratedEnumMethod(); + return MethodInfo::isGeneratedEnumMethod; } } diff --git a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/GregorMutationEngine.java b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/GregorMutationEngine.java index 214af64b9..2eb940df5 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/GregorMutationEngine.java +++ b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/GregorMutationEngine.java @@ -17,7 +17,6 @@ import java.util.Collection; import java.util.LinkedHashSet; import java.util.Set; -import java.util.function.Function; import java.util.function.Predicate; import org.pitest.classinfo.ClassByteArraySource; @@ -55,11 +54,7 @@ public String toString() { @Override public Collection getMutatorNames() { - return FCollection.map(this.mutationOperators, toName()); - } - - private static Function toName() { - return a -> a.getName(); + return FCollection.map(this.mutationOperators, MethodMutatorFactory::getName); } @Override diff --git a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/InlineConstantMutator.java b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/InlineConstantMutator.java index 0b90ef5d9..ab3625229 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/InlineConstantMutator.java +++ b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/InlineConstantMutator.java @@ -72,16 +72,16 @@ private void mutate(final Integer constant) { switch (constant.intValue()) { case 1: - replacement = Integer.valueOf(0); + replacement = 0; break; case Byte.MAX_VALUE: - replacement = Integer.valueOf(Byte.MIN_VALUE); + replacement = (int) Byte.MIN_VALUE; break; case Short.MAX_VALUE: - replacement = Integer.valueOf(Short.MIN_VALUE); + replacement = (int) Short.MIN_VALUE; break; default: - replacement = Integer.valueOf(constant + 1); + replacement = constant + 1; break; } @@ -204,33 +204,33 @@ private void translateToByteCode(final Long constant) { private Number translateToNumber(final int opcode) { switch (opcode) { case Opcodes.ICONST_M1: - return Integer.valueOf(-1); + return -1; case Opcodes.ICONST_0: - return Integer.valueOf(0); + return 0; case Opcodes.ICONST_1: - return Integer.valueOf(1); + return 1; case Opcodes.ICONST_2: - return Integer.valueOf(2); + return 2; case Opcodes.ICONST_3: - return Integer.valueOf(3); + return 3; case Opcodes.ICONST_4: - return Integer.valueOf(4); + return 4; case Opcodes.ICONST_5: - return Integer.valueOf(5); + return 5; case Opcodes.LCONST_0: - return Long.valueOf(0L); + return 0L; case Opcodes.LCONST_1: - return Long.valueOf(1L); + return 1L; case Opcodes.FCONST_0: - return Float.valueOf(0F); + return 0F; case Opcodes.FCONST_1: - return Float.valueOf(1F); + return 1F; case Opcodes.FCONST_2: - return Float.valueOf(2F); + return 2F; case Opcodes.DCONST_0: - return Double.valueOf(0D); + return 0D; case Opcodes.DCONST_1: - return Double.valueOf(1D); + return 1D; default: return null; } diff --git a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/NullMutateEverything.java b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/NullMutateEverything.java index 8c4ac937d..91878e86e 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/NullMutateEverything.java +++ b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/NullMutateEverything.java @@ -38,7 +38,7 @@ public String getName() { } public static List asList() { - return Arrays.asList((MethodMutatorFactory) new NullMutateEverything()); + return Arrays.asList(new NullMutateEverything()); } } diff --git a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/NullReturnValsMutator.java b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/NullReturnValsMutator.java index 26888eae2..fdcfb53eb 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/NullReturnValsMutator.java +++ b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/NullReturnValsMutator.java @@ -40,7 +40,7 @@ public MethodVisitor create(final MutationContext context, private boolean moreStableMutationExits(MethodInfo methodInfo) { final Type type = Type.getReturnType(methodInfo.getMethodDescriptor()); return type.getClassName().equals("java.lang.Boolean") - || AReturnMethodVisitor.NON_NULL_MUTATIONS.keySet().contains(type.getClassName()); + || AReturnMethodVisitor.NON_NULL_MUTATIONS.containsKey(type.getClassName()); } @Override diff --git a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/experimental/ReturnValuesMutator.java b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/experimental/ReturnValuesMutator.java index b16ac7120..afd957584 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/experimental/ReturnValuesMutator.java +++ b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/experimental/ReturnValuesMutator.java @@ -93,9 +93,9 @@ private Object replaceObjectInstance(final Object object, if (Integer.class == declaredReturnType) { final Integer intValue = (Integer) object; if (intValue == null) { - return Integer.valueOf(1); + return 1; } else if (intValue == 1) { - return Integer.valueOf(0); + return 0; } else { return intValue + 1; } @@ -104,7 +104,7 @@ private Object replaceObjectInstance(final Object object, if (Long.class == declaredReturnType) { final Long longValue = (Long) object; if (longValue == null) { - return Long.valueOf(1L); + return 1L; } else { return longValue + 1L; } diff --git a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/rv/AbstractCRCRVisitor.java b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/rv/AbstractCRCRVisitor.java index 1e7133c4c..8cda7379b 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/rv/AbstractCRCRVisitor.java +++ b/pitest/src/main/java/org/pitest/mutationtest/engine/gregor/mutators/rv/AbstractCRCRVisitor.java @@ -118,33 +118,33 @@ void translateToByteCode(final Long constant) { Number translateToNumber(final int opcode) { switch (opcode) { case Opcodes.ICONST_M1: - return Integer.valueOf(-1); + return -1; case Opcodes.ICONST_0: - return Integer.valueOf(0); + return 0; case Opcodes.ICONST_1: - return Integer.valueOf(1); + return 1; case Opcodes.ICONST_2: - return Integer.valueOf(2); + return 2; case Opcodes.ICONST_3: - return Integer.valueOf(3); + return 3; case Opcodes.ICONST_4: - return Integer.valueOf(4); + return 4; case Opcodes.ICONST_5: - return Integer.valueOf(5); + return 5; case Opcodes.LCONST_0: - return Long.valueOf(0L); + return 0L; case Opcodes.LCONST_1: - return Long.valueOf(1L); + return 1L; case Opcodes.FCONST_0: - return Float.valueOf(0F); + return 0F; case Opcodes.FCONST_1: - return Float.valueOf(1F); + return 1F; case Opcodes.FCONST_2: - return Float.valueOf(2F); + return 2F; case Opcodes.DCONST_0: - return Double.valueOf(0D); + return 0D; case Opcodes.DCONST_1: - return Double.valueOf(1D); + return 1D; default: return null; } diff --git a/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTestMinion.java b/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTestMinion.java index 3db235917..886e3612e 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTestMinion.java +++ b/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTestMinion.java @@ -121,7 +121,7 @@ public static void main(final String[] args) { enablePowerMockSupport(); - final int port = Integer.valueOf(args[0]); + final int port = Integer.parseInt(args[0]); Socket s = null; try { diff --git a/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTestWorker.java b/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTestWorker.java index e027cc1d1..087677f6a 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTestWorker.java +++ b/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTestWorker.java @@ -23,6 +23,7 @@ import org.pitest.mutationtest.engine.MutationDetails; import org.pitest.mutationtest.engine.MutationIdentifier; import org.pitest.mutationtest.mocksupport.JavassistInterceptor; +import org.pitest.testapi.Description; import org.pitest.testapi.TestResult; import org.pitest.testapi.TestUnit; import org.pitest.testapi.execute.Container; @@ -199,16 +200,16 @@ private MutationStatusTestPair doTestsDetectMutation(final Container c, private MutationStatusTestPair createStatusTestPair( final CheckTestHasFailedResultListener listener) { List failingTests = listener.getFailingTests().stream() - .map(description -> description.getQualifiedName()).collect(Collectors.toList()); + .map(Description::getQualifiedName).collect(Collectors.toList()); List succeedingTests = listener.getSucceedingTests().stream() - .map(description -> description.getQualifiedName()).collect(Collectors.toList()); + .map(Description::getQualifiedName).collect(Collectors.toList()); return new MutationStatusTestPair(listener.getNumberOfTestsRun(), listener.status(), failingTests, succeedingTests); } private List createEarlyExitTestGroup(final List tests) { - return Collections. singletonList(new MultipleTestGroup(tests)); + return Collections.singletonList(new MultipleTestGroup(tests)); } } diff --git a/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTimeoutDecorator.java b/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTimeoutDecorator.java index 725b94d94..6539c597a 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTimeoutDecorator.java +++ b/pitest/src/main/java/org/pitest/mutationtest/execute/MutationTimeoutDecorator.java @@ -59,9 +59,7 @@ private void executeFutureWithTimeOut(final long maxTime, final FutureTask future, final ResultCollector rc) { try { future.get(maxTime, TimeUnit.MILLISECONDS); - } catch (final TimeoutException ex) { - // swallow - } catch (final InterruptedException e) { + } catch (final TimeoutException | InterruptedException ex) { // swallow } catch (final ExecutionException e) { throw Unchecked.translateCheckedException(e); diff --git a/pitest/src/main/java/org/pitest/mutationtest/execute/TimeOutDecoratedTestSource.java b/pitest/src/main/java/org/pitest/mutationtest/execute/TimeOutDecoratedTestSource.java index 9b478716a..9a0676d21 100644 --- a/pitest/src/main/java/org/pitest/mutationtest/execute/TimeOutDecoratedTestSource.java +++ b/pitest/src/main/java/org/pitest/mutationtest/execute/TimeOutDecoratedTestSource.java @@ -56,7 +56,7 @@ private Function> testToTestUnit() { .getName()); if (tu != null) { return Stream - . of(new MutationTimeoutDecorator(tu, + .of(new MutationTimeoutDecorator(tu, new TimeOutSystemExitSideEffect( TimeOutDecoratedTestSource.this.r), TimeOutDecoratedTestSource.this.timeoutStrategy, a.getTime())); diff --git a/pitest/src/main/java/org/pitest/plugin/Feature.java b/pitest/src/main/java/org/pitest/plugin/Feature.java index b65b054b4..41064c9e0 100644 --- a/pitest/src/main/java/org/pitest/plugin/Feature.java +++ b/pitest/src/main/java/org/pitest/plugin/Feature.java @@ -20,7 +20,7 @@ private Feature(boolean onByDefault, String name, String description, ListemptyList()); + return new Feature(false, name, "", Collections.emptyList()); } public Feature withOnByDefault(boolean onByDefault) { @@ -33,8 +33,7 @@ public Feature withDescription(String description) { public Feature withParameter(FeatureParameter param) { - final List params = new ArrayList<>(); - params.addAll(this.params); + final List params = new ArrayList<>(this.params); params.add(param); return new Feature(this.onByDefault, this.name, this.description, params); } diff --git a/pitest/src/main/java/org/pitest/sequence/Context.java b/pitest/src/main/java/org/pitest/sequence/Context.java index 4af708878..32f268915 100644 --- a/pitest/src/main/java/org/pitest/sequence/Context.java +++ b/pitest/src/main/java/org/pitest/sequence/Context.java @@ -25,7 +25,7 @@ public static Context start(List sequence) { } public static Context start(List sequence, boolean debug) { - return new Context<>(new HashMap, Object>(), sequence, -1, debug); + return new Context<>(new HashMap<>(), sequence, -1, debug); } public boolean store(SlotWrite slot, S value) { diff --git a/pitest/src/main/java/org/pitest/sequence/QueryParams.java b/pitest/src/main/java/org/pitest/sequence/QueryParams.java index 9c5324fc2..d1c5d524f 100644 --- a/pitest/src/main/java/org/pitest/sequence/QueryParams.java +++ b/pitest/src/main/java/org/pitest/sequence/QueryParams.java @@ -15,7 +15,7 @@ public static QueryParams params(Class clazz) { } public static QueryParams params() { - return new QueryParams<>(Match.never(), false); + return new QueryParams<>(Match.never(), false); } public QueryParams withIgnores(Match ignore) { diff --git a/pitest/src/main/java/org/pitest/sequence/SequenceQuery.java b/pitest/src/main/java/org/pitest/sequence/SequenceQuery.java index e3864865f..9372a7d6c 100644 --- a/pitest/src/main/java/org/pitest/sequence/SequenceQuery.java +++ b/pitest/src/main/java/org/pitest/sequence/SequenceQuery.java @@ -44,12 +44,12 @@ public SequenceQuery oneOrMore(SequenceQuery next) { } public SequenceMatcher compile() { - return compile(QueryParams.params()); + return compile(QueryParams.params()); } @SuppressWarnings("unchecked") public SequenceMatcher compile(QueryParams params) { - return new NFASequenceMatcher<>(params.ignoring(), + return new NFASequenceMatcher(params.ignoring(), this.token.make(EndMatch.MATCH), params.isDebug()); } diff --git a/pitest/src/main/java/org/pitest/testapi/TestGroupConfig.java b/pitest/src/main/java/org/pitest/testapi/TestGroupConfig.java index cff44a978..686a95e0b 100644 --- a/pitest/src/main/java/org/pitest/testapi/TestGroupConfig.java +++ b/pitest/src/main/java/org/pitest/testapi/TestGroupConfig.java @@ -29,9 +29,9 @@ public class TestGroupConfig implements Serializable { public TestGroupConfig(final List excludedGroups, final List includedGroups) { this.excludedGroups = (excludedGroups != null ? excludedGroups - : Collections. emptyList()); + : Collections.emptyList()); this.includedGroups = (includedGroups != null ? includedGroups - : Collections. emptyList()); + : Collections.emptyList()); } public TestGroupConfig() { diff --git a/pitest/src/main/java/org/pitest/testapi/execute/ResultType.java b/pitest/src/main/java/org/pitest/testapi/execute/ResultType.java index f6310ec85..c1a8ec483 100644 --- a/pitest/src/main/java/org/pitest/testapi/execute/ResultType.java +++ b/pitest/src/main/java/org/pitest/testapi/execute/ResultType.java @@ -26,13 +26,13 @@ */ public enum ResultType { - PASS(a -> success(a)), + PASS(ResultType::success), - FAIL(a -> failure(a)), + FAIL(ResultType::failure), - SKIPPED(a -> skipped(a)), + SKIPPED(ResultType::skipped), - STARTED(a -> started(a)); + STARTED(ResultType::started); private interface ResultToListenerSideEffect extends Function> { diff --git a/pitest/src/main/java/org/pitest/testng/TestNGTestUnitFinder.java b/pitest/src/main/java/org/pitest/testng/TestNGTestUnitFinder.java index 32329029a..906cd3218 100644 --- a/pitest/src/main/java/org/pitest/testng/TestNGTestUnitFinder.java +++ b/pitest/src/main/java/org/pitest/testng/TestNGTestUnitFinder.java @@ -39,7 +39,7 @@ public TestNGTestUnitFinder(final TestGroupConfig config, final Collection findTestUnits(final Class clazz) { if (!isAbstract(clazz) && (hasClassAnnotation(clazz) || hasMethodAnnotation(clazz))) { - return Collections. singletonList(new TestNGTestUnit(clazz, this.config, this.includedTestMethods)); + return Collections.singletonList(new TestNGTestUnit(clazz, this.config, this.includedTestMethods)); } return Collections.emptyList(); diff --git a/pitest/src/main/java/org/pitest/util/Functions.java b/pitest/src/main/java/org/pitest/util/Functions.java index 05b54ca25..553603667 100644 --- a/pitest/src/main/java/org/pitest/util/Functions.java +++ b/pitest/src/main/java/org/pitest/util/Functions.java @@ -28,8 +28,7 @@ public static Function jvmClassToClassName() { } public static Function, String> classToName() { - return clazz -> clazz.getName(); - + return Class::getName; } public static Predicate startsWith(final String filter) { diff --git a/pitest/src/main/java/org/pitest/util/Glob.java b/pitest/src/main/java/org/pitest/util/Glob.java index 08292a480..0f397f80f 100644 --- a/pitest/src/main/java/org/pitest/util/Glob.java +++ b/pitest/src/main/java/org/pitest/util/Glob.java @@ -39,7 +39,7 @@ public boolean matches(final CharSequence seq) { } public static Function> toGlobPredicate() { - return glob -> new Glob(glob); + return Glob::new; } public static Collection> toGlobPredicates( diff --git a/pitest/src/main/java/sun/pitest/CodeCoverageStore.java b/pitest/src/main/java/sun/pitest/CodeCoverageStore.java index 2bea05dfa..5521dedd9 100644 --- a/pitest/src/main/java/sun/pitest/CodeCoverageStore.java +++ b/pitest/src/main/java/sun/pitest/CodeCoverageStore.java @@ -113,7 +113,7 @@ public static int decodeClassId(final long value) { } public static int decodeLineId(final long value) { - return (int) (value & 0xFFFFFFFF); + return (int) value; } public static long encode(final int classId, final int line) { diff --git a/pitest/src/test/java/sun/pitest/CodeCoverageStoreTest.java b/pitest/src/test/java/sun/pitest/CodeCoverageStoreTest.java index 70e8786ec..7b15d3ce5 100644 --- a/pitest/src/test/java/sun/pitest/CodeCoverageStoreTest.java +++ b/pitest/src/test/java/sun/pitest/CodeCoverageStoreTest.java @@ -85,6 +85,13 @@ public void shouldCodeAndEncodeWhenClassIdAndLineNumberAreZero() { assertEquals(0, CodeCoverageStore.decodeLineId(value)); } + @Test + public void shouldCodeAndEncodeClassIdAndLineNumber() { + final long value = CodeCoverageStore.encode(42, 123); + assertEquals(42, CodeCoverageStore.decodeClassId(value)); + assertEquals(123, CodeCoverageStore.decodeLineId(value)); + } + @Test public void shouldClearHitCountersWhenReset() { final int classId = CodeCoverageStore.registerClass("foo");