public VariableReference appendDoublePrimitive(double d) { DoublePrimitiveStatement primitiveStmt = new DoublePrimitiveStatement( tc, d); tc.addStatement(primitiveStmt); return primitiveStmt.getReturnValue(); }
/** {@inheritDoc} */ @Override public void decrement() { increment(-1.0); }
@Test public void testDelta() { TestCase test = new DefaultTestCase(); DoublePrimitiveStatement statement1 = new DoublePrimitiveStatement(test); DoublePrimitiveStatement statement2 = new DoublePrimitiveStatement(test); double d1 = statement1.getValue(); double d2 = statement2.getValue(); int val = BooleanHelper.doubleSubG(d1, d2); assertEquals(val > 0, d1 > d2); statement1.delta(); statement2.delta(); d1 = statement1.getValue(); d2 = statement2.getValue(); val = BooleanHelper.doubleSubG(d1, d2); assertEquals(val > 0, d1 > d2); statement1.randomize(); statement2.randomize(); d1 = statement1.getValue(); d2 = statement2.getValue(); val = BooleanHelper.doubleSubG(d1, d2); assertEquals(val > 0, d1 > d2);
statement = new LongPrimitiveStatement(tc); } else if (clazz.equals(double.class)) { statement = new DoublePrimitiveStatement(tc); } else if (clazz == float.class) { statement = new FloatPrimitiveStatement(tc);
private void after(DoublePrimitiveStatement statement, Scope scope) { double valueOf = statement.getValue(); VariableReference varRef = statement.getReturnValue(); String varRefName = varRef.getName(); RealVariable realVariable = buildRealVariable(varRefName, valueOf, -Double.MAX_VALUE, Double.MAX_VALUE); symb_expressions.put(varRefName, realVariable); Double double_instance; try { double_instance = (Double) varRef.getObject(scope); } catch (CodeUnderTestException e) { throw new EvosuiteError(e); } ReferenceConstant doubleRef = newDoubleReference(double_instance, realVariable); symb_references.put(varRefName, doubleRef); }
/** {@inheritDoc} */ @Override public void delta() { double P = Randomness.nextDouble(); if(P < 1d/3d) { value += Randomness.nextGaussian() * Properties.MAX_DELTA; } else if(P < 2d/3d) { value += Randomness.nextGaussian(); } else { int precision = Randomness.nextInt(15); chopPrecision(precision); } }
private TestCase getDoubleTest(double x, double y) throws NoSuchMethodException, SecurityException, ConstructionFailedException, ClassNotFoundException { Class<?> sut = TestGenerationContext.getInstance().getClassLoaderForSUT().loadClass(Properties.TARGET_CLASS); GenericClass clazz = new GenericClass(sut); DefaultTestCase test = new DefaultTestCase(); GenericConstructor gc = new GenericConstructor(clazz.getRawClass().getConstructors()[0], clazz); TestFactory testFactory = TestFactory.getInstance(); VariableReference callee = testFactory.addConstructor(test, gc, 0, 0); VariableReference intVar1 = test.addStatement(new DoublePrimitiveStatement(test, x)); VariableReference intVar0 = test.addStatement(new DoublePrimitiveStatement(test, y)); Method m = clazz.getRawClass().getMethod("testMe", new Class<?>[] { double.class, double.class }); GenericMethod method = new GenericMethod(m, sut); MethodStatement ms = new MethodStatement(test, method, callee, Arrays.asList(new VariableReference[] {intVar0, intVar1})); test.addStatement(ms); return test; }
/** {@inheritDoc} */ @Override public void randomize() { if (Randomness.nextDouble() >= Properties.PRIMITIVE_POOL) { value = Randomness.nextGaussian() * Properties.MAX_INT; int precision = Randomness.nextInt(15); chopPrecision(precision); } else { ConstantPool constantPool = ConstantPoolManager.getInstance().getConstantPool(); value = constantPool.getRandomDouble(); } }
/** {@inheritDoc} */ @Override public void increment() { increment(1.0); }