@Test public void shouldFilterMutationsToForLoopIncrements() { final Collection<MutationDetails> actual = findMutants(HasForLoop.class); this.data.setFeatures(Collections.singletonList("-FFLOOP")); final Collection<MutationDetails> actualWithoutFilter = findMutants(HasForLoop.class); assertThat(actual.size()).isLessThan(actualWithoutFilter.size()); }
@Test public void shouldFilterMutationsToForEachLoops() { final Collection<MutationDetails> actual = findMutants(HasForEachLoop.class); this.data.setFeatures(Collections.singletonList("-FFEACH")); final Collection<MutationDetails> actualWithoutFilter = findMutants(HasForEachLoop.class); assertThat(actual.size()).isLessThan(actualWithoutFilter.size()); }
@Test public void shouldFilterImplicitNullChecksInLambdas() { final ClassName clazz = ClassName.fromString("implicitnullcheck/RemovedCallBug_javac"); this.data.setMutators(Collections.singletonList("ALL")); final Collection<MutationDetails> foundByDefault = findMutants(clazz); this.data.setFeatures(Collections.singletonList("-FINULL")); final Collection<MutationDetails> foundWhenDisabled = findMutants(clazz); assertThat(foundWhenDisabled.size()).isGreaterThan(foundByDefault.size()); }
@Test public void shouldNotMutateMethodsAnnotatedWithGenerated() { final Collection<MutationDetails> actualDetails = findMutants(AnnotatedToAvoidMethod.class); // all but two methods are annotated to ignore assertEquals(2, actualDetails.size()); }
@Test public void shouldNotFilterInlinedFinallyBlocksWhenFlagNotSet() { final ClassName clazz = ClassName.fromString("trywithresources/TryCatchFinallyExample_javac"); this.data.setDetectInlinedCode(true); final Collection<MutationDetails> filtered = findMutants(clazz); this.data.setDetectInlinedCode(false); final Collection<MutationDetails> unfiltered = findMutants(clazz); assertThat(filtered.size()).isLessThan(unfiltered.size()); }
@Test public void shouldFilterMutationsInLoggingCalls() { this.data.setLoggingClasses(Collections.singleton("java.util.logging")); final Collection<MutationDetails> actual = findMutants(HasLogger.class); assertThat(actual).isEmpty(); }
@Test public void filtersEquivalentReturnValsMutants() { this.data.setMutators(Collections.singletonList("PRIMITIVE_RETURNS")); final Collection<MutationDetails> actual = findMutants(AlreadyReturnsConstZero.class); assertThat(actual).isEmpty(); }
private Collection<MutationDetails> findMutants(Class<?> clazz) { this.data.setTargetClasses(Collections.singleton(clazz.getName())); this.cbas = ClassloaderByteArraySource.fromContext(); return findMutants(ClassName.fromClass(clazz)); }
@Test public void shouldFilterMutantsInTryWithResourcesClosableCompiledWithEcj() { final ClassName clazz = ClassName.fromString("trywithresources/TryWithTwoCloseableExample_ecj"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(1); }
@Test public void shouldFilterMutantsInTryWithResourcesClosableCompiledWithJavac() { final ClassName clazz = ClassName.fromString("trywithresources/TryWithTwoCloseableExample_javac"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(1); }
@Test public void shouldFilterMutantsInTryWithResourcesClosableCompiledWithApectj() { final ClassName clazz = ClassName.fromString("trywithresources/TryWithTwoCloseableExample_aspectj"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(1); }
@Test public void shouldFilterMutantsInTryCatchFinallyCompiledWithAspectJ() { this.data.setDetectInlinedCode(true); final ClassName clazz = ClassName.fromString("trywithresources/TryCatchFinallyExample_aspectj"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(3); }
@Test public void shouldFilterMutantsInTryCatchFinallyCompiledWithEcj() { this.data.setDetectInlinedCode(true); final ClassName clazz = ClassName.fromString("trywithresources/TryCatchFinallyExample_ecj"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(3); }
@Test public void shouldFilterMutantsInTryFinallyCompiledWithJavaC() { this.data.setDetectInlinedCode(true); final ClassName clazz = ClassName.fromString("trywithresources/TryFinallyExample_javac"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(2); }
@Test public void shouldFilterMutantsInTryFinallyCompiledWithAspectJ() { this.data.setDetectInlinedCode(true); final ClassName clazz = ClassName.fromString("trywithresources/TryFinallyExample_aspectj"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(2); }
@Test public void shouldFilterMutantsInTryCatchFinallyCompiledWithJavaC() { this.data.setDetectInlinedCode(true); final ClassName clazz = ClassName.fromString("trywithresources/TryCatchFinallyExample_javac"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(3); }
@Test public void shouldFilterMutantsInTryFinallyCompiledWithEcj() { this.data.setDetectInlinedCode(true); final ClassName clazz = ClassName.fromString("trywithresources/TryFinallyExample_ecj"); final Collection<MutationDetails> actual = findMutants(clazz); assertThat(actual).hasSize(2); }