public static boolean isNull(VariableReference vr, TestCase tc){ if(vr instanceof NullReference){ return true; } Statement varSource = tc.getStatement(vr.getStPosition()); if(varSource instanceof PrimitiveStatement){ //eg for String Object obj = ((PrimitiveStatement)varSource).getValue(); if(obj==null){ return true; } } return false; }
if (p.getValue().getClass().equals(Character.class)) { char charValue = (char) value.intValue(); p.setValue(charValue); } else if (p.getValue().getClass().equals(Long.class)) { p.setValue(value); } else if (p.getValue().getClass().equals(Integer.class)) { p.setValue(value.intValue()); } else if (p.getValue().getClass().equals(Short.class)) { p.setValue(value.shortValue()); } else if (p.getValue().getClass().equals(Boolean.class)) { p.setValue(value.intValue() > 0); } else if (p.getValue().getClass().equals(Byte.class)) { p.setValue(value.byteValue()); logger.warn("New value is of an unsupported type: " + p.getValue().getClass() + val); } else if (val instanceof String) { String name = ((String) key).replace("__SYM", ""); if (p.getValue().getClass().equals(Character.class)) p.setValue((char) Integer.parseInt(val.toString())); else if (p.getValue().getClass().equals(Double.class)) p.setValue(value); else if (p.getValue().getClass().equals(Float.class)) p.setValue(value.floatValue()); else
if (p.getValue().getClass().equals(Character.class)) p.setValue((char) value.intValue()); else if (p.getValue().getClass().equals(Long.class)) p.setValue(value); else if (p.getValue().getClass().equals(Integer.class)) p.setValue(value.intValue()); else if (p.getValue().getClass().equals(Short.class)) p.setValue(value.shortValue()); else if (p.getValue().getClass().equals(Boolean.class)) p.setValue(value.intValue() > 0); else if (p.getValue().getClass().equals(Byte.class)) p.setValue(value.byteValue() > 0); else logger.warn("New value is of an unsupported type: " + p.getValue().getClass() + val); } else if (val instanceof String) { String name = ((String) key).replace("__SYM", ""); if (p.getValue().getClass().equals(Character.class)) p.setValue((char) Integer.parseInt(val.toString())); else + " / Orig test: " + test.toCode() + ", seed: " + Randomness.getSeed(); if (p.getValue().getClass().equals(Double.class)) p.setValue(value); else if (p.getValue().getClass().equals(Float.class)) p.setValue(value.floatValue()); else
public void visitPrimitiveStatement(PrimitiveStatement<?> statement) { VariableReference retval = statement.getReturnValue(); Object value = statement.getValue();
/** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public boolean doSearch(TestChromosome test, int statement, LocalSearchObjective<TestChromosome> objective) { PrimitiveStatement<Boolean> p = (PrimitiveStatement<Boolean>) test.getTestCase().getStatement(statement); ExecutionResult oldResult = test.getLastExecutionResult(); oldValue = p.getValue(); p.setValue(!oldValue); if (!objective.hasImproved(test)) { // Restore original p.setValue(oldValue); test.setLastExecutionResult(oldResult); test.setChanged(false); return false; } else { return true; } }