package com.processpuzzle.fitnesse.fundamental_types;
import fit.ColumnFixture;
import com.processpuzzle.fundamental_types.domain.ProcessPuzzleParseException;
import com.processpuzzle.fundamental_types.quantity.domain.Quantity;
import com.processpuzzle.fundamental_types.quantity.domain.QuantityHelper;
import com.processpuzzle.fundamental_types.quantity.money.domain.Money;
public class CalculateConvertTo extends ColumnFixture{
public String quantity1;
public String currency1;
public String currency2;
private Quantity q2;
public double convertTo(){
try{
Double d1=new Double(quantity1);
Money money1=new Money(d1,QuantityHelper.unitFinder(currency1));
q2=money1.convertTo(QuantityHelper.unitFinder(currency2));
java.text.DecimalFormat df=new java.text.DecimalFormat("###.##");
// Formatted return
try{
return df.parse(df.format(q2.getAmount())).doubleValue();
}catch(java.text.ParseException e ){
throw new ProcessPuzzleParseException(q2.toString(),"Round doubles",e);
}
}catch(NumberFormatException e){
throw new ProcessPuzzleParseException(quantity1,"Conversion to Double",e);
}
}
public String currency(){
return q2.getUnit().getSymbol();
}
}