package org.pitest.mutationtest.config;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.pitest.functional.F;
import org.pitest.functional.FCollection;
import org.pitest.mutationtest.engine.gregor.config.GregorEngineFactory;
import org.pitest.mutationtest.filter.LimitNumberOfMutationsPerClassFilterFactory;
import org.pitest.mutationtest.report.csv.CSVReportFactory;
public class PluginServicesTest {
private final PluginServices testee = PluginServices.makeForContextLoader();
@Test
public void shouldListDefaultEngineAsClientClasspathPlugin() {
assertTrue(FCollection.contains(this.testee.findClientClasspathPlugins(),
theClass(GregorEngineFactory.class)));
}
@Test
public void shouldListCSVReportAsToolClasspathPlugin() {
assertTrue(FCollection.contains(this.testee.findToolClasspathPlugins(),
theClass(CSVReportFactory.class)));
}
@Test
public void shouldListDefaultMutationFilterAsToolClasspathPlugin() {
assertTrue(FCollection.contains(this.testee.findToolClasspathPlugins(),
theClass(LimitNumberOfMutationsPerClassFilterFactory.class)));
}
private static F<Object, Boolean> theClass(final Class<?> clss) {
return new F<Object, Boolean>() {
@Override
public Boolean apply(Object a) {
return a.getClass().equals(clss);
}
};
}
}