/** {@inheritDoc} */ @Override public void changeClassLoader(ClassLoader loader) { method.changeClassLoader(loader); super.changeClassLoader(loader); }
return super.exceptionHandler(new Executer() {
@Override public Set<VariableReference> getVariableReferences() { Set<VariableReference> references = new LinkedHashSet<>(); references.add(retval); for (VariableReference param : parameters) { if(param == null){ /* This could happen while building a functional mock, and creation of its input values lead to a forward check of properties */ continue; } references.add(param); if (param.getAdditionalVariableReference() != null) references.add(param.getAdditionalVariableReference()); } references.addAll(getAssertionReferences()); return references; }
List<VariableReference> objects = test.getObjects(parameter.getType(),getPosition()); objects.remove(parameter); objects.remove(getReturnValue()); Constraints constraint = getConstraints(); boolean avoidNull = constraint!=null && constraint.noNullInputs(); if(getNumParametersOfType(parameter.getVariableClass()) + 1 < objects.size()) { Statement originalStatement = test.getStatement(parameter.getStPosition()); copy = originalStatement.clone(test); test.addStatement(nullStatement, getPosition()); } else if (copy != null && replacement == copy.getReturnValue()) { test.addStatement(copy, getPosition()); replaceParameterReference(replacement, numParameter); return true;
@Override public void afterStatement(Statement statement, Scope scope, Throwable exception) { if (statement instanceof EntityWithParametersStatement) { EntityWithParametersStatement parameterisedStatement = (EntityWithParametersStatement)statement; List<VariableReference> parRefs = parameterisedStatement.getParameterReferences(); List<Object> argObjects = new ArrayList<>(parRefs.size()); for (VariableReference parRef : parRefs) { Object parObject = null; try { if (parRef instanceof ArrayIndex || parRef instanceof FieldReference) { parObject = parRef.getObject(scope); } else if (parRef instanceof ConstantValue) { parObject = ((ConstantValue) parRef).getValue(); } else { parObject = parRef.getObject(scope); } } catch (CodeUnderTestException e) { e.printStackTrace(); } argObjects.add(parObject); } assert parRefs.size() == argObjects.size(); String className = parameterisedStatement.getDeclaringClassName(); String methodDesc = parameterisedStatement.getDescriptor(); String methodName = parameterisedStatement.getMethodName(); inputCoverage.put(statement.getPosition(), InputCoverageGoal.createCoveredGoalsFromParameters(className, methodName, methodDesc, argObjects)); // argumentsValues.put((EntityWithParametersStatement) statement, argObjects); } }
String className = ps.getDeclaringClassName(); String methodDesc = ps.getDescriptor(); String methodName = ps.getMethodName() + methodDesc; if (this.className.equals(className) && this.methodName.equals(methodName)) { fitness = 0.0;
/** {@inheritDoc} */ @Override public Set<Class<?>> getDeclaredExceptions() { Set<Class<?>> ex = super.getDeclaredExceptions(); for (Class<?> t : method.getMethod().getExceptionTypes()) ex.add(t); return ex; }
for(VariableReference input : entity.getParameterReferences()){ if(input.same(ret)){ int boundingVarPos = e.getParameterReferences().get(i).getStPosition(); dep.add(boundingVarPos);
String className = ps.getDeclaringClassName(); String methodDesc = ps.getDescriptor(); String methodName = ps.getMethodName() + methodDesc;
/** {@inheritDoc} */ @Override public Set<Class<?>> getDeclaredExceptions() { Set<Class<?>> ex = super.getDeclaredExceptions(); ex.addAll(Arrays.asList(constructor.getConstructor().getExceptionTypes())); return ex; }
/** {@inheritDoc} */ @Override public void changeClassLoader(ClassLoader loader) { constructor.changeClassLoader(loader); super.changeClassLoader(loader); }
return super.exceptionHandler(new Executer() {
@Override public void changeClassLoader(ClassLoader loader) { targetClass.changeClassLoader(loader); for(MethodDescriptor descriptor : mockedMethods){ if(descriptor != null){ descriptor.changeClassLoader(loader); } } if(listener != null){ listener.changeClassLoader(loader); } super.changeClassLoader(loader); }
return super.exceptionHandler(new Executer() {