public AmountToConcentrationConverter(IReactionDimensionRetriever reactionDimensionRetriever,
                                       IDimensionFactory dimensionFactory, IAmoutToConcentrationFormulaMapper amoutToConcentrationFormulaMapper,
                                       IObjectBaseFactory objectBaseFactory, IFormulaTask formulaTask, IDisplayUnitRetriever displayUnitRetriever,
                                       IObjectTypeResolver objectTypeResolver, IFormulaFactory formulaFactory)
 {
     _reactionDimensionRetriever        = reactionDimensionRetriever;
     _amoutToConcentrationFormulaMapper = amoutToConcentrationFormulaMapper;
     _objectBaseFactory             = objectBaseFactory;
     _formulaTask                   = formulaTask;
     _displayUnitRetriever          = displayUnitRetriever;
     _objectTypeResolver            = objectTypeResolver;
     _formulaFactory                = formulaFactory;
     _concentrationDimension        = dimensionFactory.Dimension(Constants.Dimension.MOLAR_CONCENTRATION);
     _concentrationPerTimeDimension = dimensionFactory.Dimension(Constants.Dimension.MOLAR_CONCENTRATION_PER_TIME);
 }
 protected override void Context()
 {
     _reactionDimensionRetriever        = A.Fake <IReactionDimensionRetriever>();
     _dimensionFactory                  = A.Fake <IDimensionFactory>();
     _amoutToConcentrationFormulaMapper = A.Fake <IAmoutToConcentrationFormulaMapper>();
     _objectBaseFactory                 = A.Fake <IObjectBaseFactory>();
     _formulaTask          = A.Fake <IFormulaTask>();
     _displayUnitRetriever = A.Fake <IDisplayUnitRetriever>();
     _formulaFactory       = A.Fake <IFormulaFactory>();
     _constantZeroFormula  = new ConstantFormula(0);
     _formulaCache         = new FormulaCache();
     _objectTypeResolver   = new ObjectTypeResolver();
     A.CallTo(() => _formulaTask.AddParentVolumeReferenceToFormula(A <IFormula> ._)).Returns(Constants.VOLUME_ALIAS);
     A.CallTo(() => _dimensionFactory.Dimension(Constants.Dimension.AMOUNT)).Returns(DomainHelperForSpecs.AmountDimension);
     A.CallTo(() => _dimensionFactory.Dimension(Constants.Dimension.AMOUNT_PER_TIME)).Returns(DomainHelperForSpecs.AmountPerTimeDimension);
     A.CallTo(() => _dimensionFactory.Dimension(Constants.Dimension.MOLAR_CONCENTRATION)).Returns(DomainHelperForSpecs.ConcentrationDimension);
     A.CallTo(() => _dimensionFactory.Dimension(Constants.Dimension.MOLAR_CONCENTRATION_PER_TIME)).Returns(DomainHelperForSpecs.ConcentrationPerTimeDimension);
     A.CallTo(() => _objectBaseFactory.Create <ExplicitFormula>()).Returns(new ExplicitFormula());
     A.CallTo(() => _formulaFactory.ConstantFormula(0, DomainHelperForSpecs.ConcentrationDimension)).Returns(_constantZeroFormula);
     sut = new AmountToConcentrationConverter(_reactionDimensionRetriever, _dimensionFactory, _amoutToConcentrationFormulaMapper,
                                              _objectBaseFactory, _formulaTask, _displayUnitRetriever, _objectTypeResolver, _formulaFactory);
 }