package com.processpuzzle.fitnesse.fundamental_types;
import com.processpuzzle.application.configuration.domain.MeasurementContext;
import com.processpuzzle.application.configuration.domain.ProcessPuzzleContext;
import com.processpuzzle.fundamental_types.quantity.domain.Quantity;
import com.processpuzzle.fundamental_types.quantity.domain.Unit;
import com.processpuzzle.fundamental_types.quantity.domain.UnitMismatchException;
import com.processpuzzle.user_session.domain.UserRequestManager;
import fit.ColumnFixture;
public class CalculateAddWithDifferentUnits extends ColumnFixture {
public String unitSymbol_1;
public String unitSymbol_2;
public String quantity1;
public String quantity2;
private Quantity result = null;
public CalculateAddWithDifferentUnits() {
}
public double add() throws UnitMismatchException {
ProcessPuzzleContext applicationContext = UserRequestManager.getInstance().getApplicationContext();
MeasurementContext measurementContext = applicationContext.getMeasurementContext();
Unit unit_1 = measurementContext.findUnitBySymbol( unitSymbol_1 );
Unit unit_2 = measurementContext.findUnitBySymbol( unitSymbol_2 );
Quantity quantityObject1 = new Quantity(Double.valueOf(quantity1), unit_1 );
Quantity quantityObject2 = new Quantity(Double.valueOf(quantity2), unit_2 );
result = quantityObject1.add(quantityObject2);
return result.getAmount();
}
public String unit() {
return result.getUnit().getSymbol();
}
}