@Test
public void processValue(){

	Target target = new Target()
		.setField(FieldName.create("amount"))
		.setRescaleFactor(3.14d)
		.setRescaleConstant(10d);
	FloatValue floatValue = new FloatValue((8f * 3.14f) + 10f);
	DoubleValue doubleValue = new DoubleValue((8d * 3.14d) + 10d);
	assertTrue(floatValue.floatValue() != doubleValue.floatValue());
	assertTrue(floatValue.doubleValue() != doubleValue.doubleValue());
	assertEquals(floatValue, TargetUtil.processValue(target, new FloatValue(8f)));
	assertEquals(doubleValue, TargetUtil.processValue(target, new DoubleValue(8d)));
	target.setCastInteger(Target.CastInteger.ROUND)
		.setMin(-10d)
		.setMax(10.5d);
	assertEquals(new FloatValue(35f), TargetUtil.processValue(target, new FloatValue(8f)));
	assertEquals(new DoubleValue(35d), TargetUtil.processValue(target, new DoubleValue(8d)));
	assertEquals(new FloatValue(43f), TargetUtil.processValue(target, new FloatValue(12.97f)));
	assertEquals(new DoubleValue(43d), TargetUtil.processValue(target, new DoubleValue(12.97d)));
}