/** * <p>addValue</p> * * @param inspector a {@link org.evosuite.assertion.Inspector} object. * @param value a {@link java.lang.Object} object. */ public void addValue(Inspector inspector, Object value) { inspectorMap.put(inspector, value); methodInspectorMap.put(inspector.getClassName() + " " + inspector.getMethodCall(), inspector); }
/** {@inheritDoc} */ @Override public String getCode() { if (value == null) { return "assertNull(" + source.getName() + "." + inspector.getMethodCall() + "());"; } else if (value.getClass().equals(Long.class)) { return "assertEquals(" + NumberFormatter.getNumberString(value) + ", " + source.getName() + "." + inspector.getMethodCall() + "());"; } else if (value.getClass().equals(Float.class)) { return "assertEquals(" + NumberFormatter.getNumberString(value) + ", " + source.getName() + "." + inspector.getMethodCall() + "(), 0.01F);"; } else if (value.getClass().equals(Double.class)) { return "assertEquals(" + NumberFormatter.getNumberString(value) + ", " + source.getName() + "." + inspector.getMethodCall() + "(), 0.01D);"; } else if (value.getClass().equals(Character.class)) { return "assertEquals(" + NumberFormatter.getNumberString(value) + ", " + source.getName() + "." + inspector.getMethodCall() + "());"; } else if (value.getClass().equals(String.class)) { return "assertEquals(" + NumberFormatter.getNumberString(value) + ", " + source.getName() + "." + inspector.getMethodCall() + "());"; } else if (value.getClass().isEnum()) { return "assertEquals(" + NumberFormatter.getNumberString(value) + ", " + source.getName() + "." + inspector.getMethodCall() + "());"; } else return "assertEquals(" + value + ", " + source.getName() + "." + inspector.getMethodCall() + "());"; }
/** * {@inheritDoc} */ @Override public boolean isDetectedBy(Assertion assertion) { if (assertion instanceof InspectorAssertion) { InspectorAssertion ass = (InspectorAssertion) assertion; if (ass.source.same(var)) { if (Properties.isRegression()) { // Use the internal map to locate the inspector assertion String key = ass.getInspector().getClassName() + " " + ass.getInspector().getMethodCall(); Inspector inspector = methodInspectorMap.get(key); if (inspector != null && inspectorMap.get(inspector) != null && ass.value != null) { return !inspectorMap.get(inspector).equals(ass.value); } } else { if (inspectorMap.containsKey(ass.inspector) && inspectorMap.get(ass.inspector) != null && ass.value != null) { return !inspectorMap.get(ass.inspector).equals(ass.value); } } } } return false; }
+ inspector.getMethodCall() + "());"; } else if (value.getClass().equals(Long.class)) { testCode += "assertEquals(" + NumberFormatter.getNumberString(value, this) + ", "; if(ClassUtils.isPrimitiveWrapper(generatedType)) testCode += "(long)"; testCode += getVariableName(source) + "." + inspector.getMethodCall() + "());"; } else if (value.getClass().equals(Short.class)) { testCode += "assertEquals(" + NumberFormatter.getNumberString(value, this) + ", "; if(ClassUtils.isPrimitiveWrapper(generatedType)) testCode += "(short)"; testCode += getVariableName(source) + "." + inspector.getMethodCall() + "());"; } else if (value.getClass().equals(Integer.class)) { testCode += "assertEquals(" + NumberFormatter.getNumberString(value, this) + ", "; if(ClassUtils.isPrimitiveWrapper(generatedType)) testCode += "(int)"; testCode += getVariableName(source) + "." + inspector.getMethodCall() + "());"; } else if (value.getClass().equals(Byte.class)) { testCode += "assertEquals(" + NumberFormatter.getNumberString(value, this) + ", "; if(ClassUtils.isPrimitiveWrapper(generatedType)) testCode += "(byte)"; testCode += getVariableName(source) + "." + inspector.getMethodCall() + "());"; } else if (value.getClass().equals(Float.class)) { testCode += "assertEquals(" + NumberFormatter.getNumberString(value, this) + ", "; testCode += getVariableName(source) + "." + inspector.getMethodCall() + "(), "+NumberFormatter.getNumberString(Properties.FLOAT_PRECISION, this)+");"; } else if (value.getClass().equals(Double.class)) { testCode += "assertEquals(" + NumberFormatter.getNumberString(value, this) + ", "; testCode += getVariableName(source) + "." + inspector.getMethodCall() + "(), "+NumberFormatter.getNumberString(Properties.DOUBLE_PRECISION, this)+");";
Collection<Inspector> inspectors = InspectorManager.getInstance().getInspectors(argValue.getClass()); for (Inspector inspector : inspectors) { String insp = inspector.getMethodCall() + Type.getMethodDescriptor(inspector.getMethod()); try { Object val = inspector.getValue(argValue);
String insp = inspector.getMethodCall() + Type.getMethodDescriptor(inspector.getMethod()); try { Object val = inspector.getValue(returnValue);
logger.debug("Inspector " + i.getMethodCall() + " is: " + value); if (e instanceof TimeoutException) { logger.debug("Timeout during inspector call - deactivating inspector " + i.getMethodCall()); InspectorManager.getInstance().removeInspector(var.getVariableClass(), i);
Class<?> returnClazz = method.getReturnType(); for(Inspector inspector : InspectorManager.getInstance().getInspectors(returnClazz)) { String insp = inspector.getMethodCall() + Type.getMethodDescriptor(inspector.getMethod()); Type t = Type.getReturnType(inspector.getMethod()); if (t.getSort() == Type.BOOLEAN) {
Class<?> paramClazz = argumentClasses[i]; for(Inspector inspector : InspectorManager.getInstance().getInspectors(paramClazz)) { String insp = inspector.getMethodCall() + Type.getMethodDescriptor(inspector.getMethod()); Type t = Type.getReturnType(inspector.getMethod()); if (t.getSort() == Type.BOOLEAN) {