@Override public void addAssertions(TestCase test) { if (!(test instanceof StructuredTestCase)) throw new IllegalArgumentException("Expecting StructuredTestCase"); StructuredTestCase structuredTest = (StructuredTestCase) test; Set<String> targetMethods = structuredTest.getTargetMethods(); List<Mutation> mutants = MutationPool.getMutants(); ExecutionResult origResult = runTest(test); Map<Mutation, ExecutionResult> mutationResults = new HashMap<Mutation, ExecutionResult>(); // execute on all mutants in the target method that were touched for (Mutation mutant : mutants) { if (!origResult.getTrace().wasMutationTouched(mutant.getId())) continue; if (!targetMethods.contains(mutant.getMethodName())) { continue; } ExecutionResult mutationResult = runTest(test, mutant); mutationResults.put(mutant, mutationResult); } addAssertions(structuredTest, origResult, mutationResults); }