private static Comparator<MutationDetails> compareLineNumbers() { return (arg0, arg1) -> arg0.getLineNumber() - arg1.getLineNumber(); }
private void sortMutationsIntoLineOrder() { final Comparator<MutationResult> c = (o1, o2) -> o1.getDetails().getLineNumber() - o2.getDetails().getLineNumber(); Collections.sort(this.impl, c); }
private static Predicate<MutationDetails> isKotlinJunkMutation() { return a -> a.getFilename().toLowerCase().endsWith(".kt") && (a.getLineNumber() == 0); } }
private Predicate<MutationResult> isAtLineNumber(final int lineNumber) { return result -> result.getDetails().getLineNumber() == lineNumber; }
public List<MutationGrouping> groupMutationsByLine() { sortMutationsIntoLineOrder(); final List<MutationGrouping> groups = new ArrayList<>(); List<MutationResult> sublist = new ArrayList<>(); int lastLineNumber = -1; for (final MutationResult each : this.impl) { if ((lastLineNumber != each.getDetails().getLineNumber()) && !sublist.isEmpty()) { groups.add(new MutationGrouping(lastLineNumber, "Line " + lastLineNumber, sublist)); sublist = new ArrayList<>(); } sublist.add(each); lastLineNumber = each.getDetails().getLineNumber(); } if (!sublist.isEmpty()) { groups.add(new MutationGrouping(lastLineNumber, "Line " + lastLineNumber, sublist)); } return groups; }
private static Function<MutationDetails, LineMutatorPair> toLineMutatorPair() { return a -> new LineMutatorPair(a.getLineNumber(), a.getMutator()); }
public List<Integer> getLineNumbers() { final List<Integer> dss = new ArrayList<>(); for (final MutationResult each : this.data) { dss.add(each.getDetails().getLineNumber()); } return dss; }
private static MutationDetails makeCombinedMutant( final Collection<MutationDetails> value) { final MutationDetails first = value.iterator().next(); final Set<Integer> indexes = new HashSet<>(); mapTo(value, mutationToIndex(), indexes); final MutationIdentifier id = new MutationIdentifier(first.getId() .getLocation(), indexes, first.getId().getMutator()); return new MutationDetails(id, first.getFilename(), first.getDescription(), first.getLineNumber(), first.getBlock()); }
@Test public void shouldRecordCorrectLineNumberForMutations() { final Collection<MutationDetails> actual = findMutationsFor(HasIncrement.class); assertEquals(1, actual.size()); final MutationDetails first = actual.iterator().next(); assertEquals(37, first.getLineNumber()); }
@Override public void handleMutationResult(final ClassMutationResults metaData) { try { for (final MutationResult mutation : metaData.getMutations()) { this.out.write(makeCsv(mutation.getDetails().getFilename(), mutation .getDetails().getClassName().asJavaName(), mutation.getDetails() .getMutator(), mutation.getDetails().getMethod(), mutation .getDetails().getLineNumber(), mutation.getStatus(), createKillingTestDesc(mutation.getKillingTest())) + System.getProperty("line.separator")); } } catch (final IOException ex) { throw Unchecked.translateCheckedException(ex); } }
private String makeMutationNode(final MutationResult mutation) { final MutationDetails details = mutation.getDetails(); return makeNode(clean(details.getFilename()), sourceFile) + makeNode(clean(details.getClassName().asJavaName()), mutatedClass) + makeNode(clean(details.getMethod().name()), mutatedMethod) + makeNode(clean(details.getId().getLocation().getMethodDesc()), methodDescription) + makeNode("" + details.getLineNumber(), lineNumber) + makeNode(clean(details.getMutator()), mutator) + makeNode("" + details.getFirstIndex(), index) + makeNode("" + details.getBlock(), block) + makeNodeWhenConditionSatisfied(!fullMutationMatrix, createKillingTestDesc(mutation.getKillingTest()), killingTest) + makeNodeWhenConditionSatisfied(fullMutationMatrix, createTestDesc(mutation.getKillingTests()), killingTests) + makeNodeWhenConditionSatisfied(fullMutationMatrix, createTestDesc(mutation.getSucceedingTests()), succeedingTests) + makeNode(clean(details.getDescription()), description); }
private void initialize(MutationResult mutation) { mutationResults.add(mutation); location = mutation.getDetails().getId().getLocation(); classification = statusToClassification(mutation.getStatus()); fileName = mutation.getDetails().getFilename(); lineNumber = mutation.getDetails().getLineNumber(); }
private String makeMutationNode(MutationResult mutation) { MutationDetails details = mutation.getDetails(); return makeNode(clean(details.getFilename()), Tag.sourceFile) + makeNode(clean(details.getClassName().asJavaName()), Tag.mutatedClass) + makeNode(clean(details.getMethod().name()), Tag.mutatedMethod) + makeNode(clean(details.getId().getLocation().getMethodDesc()), Tag.methodDescription) + makeNode("" + details.getLineNumber(), Tag.lineNumber) + makeNode(clean(details.getMutator()), Tag.mutator) + makeNode("" + details.getFirstIndex(), Tag.index) + makeNode(createKillingTestDesc(mutation.getKillingTest()), Tag.killingTest) + makeTestInfoNode(details) + makeNode(clean(details.getDescription()), Tag.description); }