public bool IsEquivalentTo(IParameterStartValue parameterStartValue)
        {
            var isBaseEquivalent = base.IsEquivalentTo(parameterStartValue);
            var isEquivalent     = NullableEqualsCheck(ParameterName, parameterStartValue.ParameterName);

            return(isBaseEquivalent && isEquivalent);
        }
Exemple #2
0
        protected override void Context()
        {
            base.Context();


            _psv1 = new ParameterStartValue {
                ContainerPath = new ObjectPath("LIVER"), Name = "P1"
            };
            _psv1.Formula = new ExplicitFormula("3+4");;

            A.CallTo(() => _cloneManagerForModel.Clone(_psv1.Formula)).Returns(_psv1.Formula);
            _psv2 = new ParameterStartValue {
                ContainerPath = new ObjectPath("LIVER"), Name = "P2"
            };
            _psv2.StartValue = 17;

            _unchangedParameter = new Parameter().WithName("Unchanged").WithFormula(new ConstantFormula(2));
            _p1Parameter        = new Parameter().WithName("P1").WithFormula(new ConstantFormula(1));
            _p1Parameter.Value  = 2;

            _p2Parameter       = new Parameter().WithName("P2").WithFormula(new ExplicitFormula("1+2"));
            _p2Parameter.Value = 2;

            _liver.Add(_p1Parameter);
            _liver.Add(_p2Parameter);
            _liver.Add(_unchangedParameter);

            _parameterStartValues.Add(_psv1);
            _parameterStartValues.Add(_psv2);
        }
 protected override void Context()
 {
     base.Context();
     _psv = new ParameterStartValue {
         Path = new ObjectPath("A, B, C")
     };
 }
Exemple #4
0
        protected override void Context()
        {
            base.Context();
            _templateStartValues = new ParameterStartValuesBuildingBlock();

            _containerPath = new ObjectPath("the", "container", "path");

            _parameterStartValueBuildingBlock.Add(
                new ParameterStartValue {
                StartValue = 0.1, ContainerPath = _containerPath.Clone <IObjectPath>(), Name = "ConstantStartValue"
            });

            _parameterStartValue = new ParameterStartValue {
                ContainerPath = _containerPath.Clone <IObjectPath>(), Name = "FormulaStartValue", StartValue = 4
            };
            _clonedStartValue = new ParameterStartValue {
                ContainerPath = _containerPath.Clone <IObjectPath>(), Name = "FormulaStartValue", StartValue = 4
            };

            _templateStartValues.Add(_parameterStartValue);
            _templateStartValues.Add(new ParameterStartValue {
                StartValue = 0.4, ContainerPath = _containerPath.Clone <IObjectPath>(), Name = "ConstantStartValue"
            });

            A.CallTo(() => _cloneManagerForBuildingBlock.Clone(_parameterStartValue, A <IFormulaCache> .Ignored)).Returns(_clonedStartValue);
        }
 protected override void Context()
 {
     _parameter           = new Parameter();
     _parameterStartValue = new ParameterStartValue();
     _context             = A.Fake <IMoBiContext>();
     sut = new SynchronizeParameterStartValueCommand(_parameter, _parameterStartValue);
 }
Exemple #6
0
 private void convertSpecial(IParameterStartValue parameterStartValue, double conversionFactor, IDimension newDimension)
 {
     if (parameterStartValue.Dimension.Equals(Constants.Dimension.NO_DIMENSION))
     {
         parameterStartValue.Dimension = newDimension;
     }
     parameterStartValue.StartValue = parameterStartValue.StartValue * conversionFactor;
 }
 protected override void Context()
 {
     base.Context();
     _parameterStartValue = new ParameterStartValue {
         Path = _objectPath
     };
     _parameterStartValueBuildingBlock.Add(_parameterStartValue);
 }
 protected override void Context()
 {
     base.Context();
     _parameterStartValue = new ParameterStartValue {
         Path = _objectPath
     };
     A.CallTo(() => _parameterStartValuesCreator.CreateParameterStartValue(_objectPath, _parameter)).Returns(_parameterStartValue);
 }
        public void UpdateParameterStartValue(IParameterStartValue parameterStartValue, IMoBiSimulation simulation)
        {
            updateDimension(parameterStartValue, simulation);
            var parameterName = parameterStartValue.ParameterName;

            if (parameterName.Equals(Constants.Distribution.GEOMETRIC_DEVIATION))
            {
                parameterStartValue.StartValue = Math.Exp(parameterStartValue.StartValue.Value);
            }
        }
 protected override void Context()
 {
     base.Context();
     _context             = A.Fake <IMoBiContext>();
     _buildingBlock       = new ParameterStartValuesBuildingBlock();
     _parameterStartValue = new ParameterStartValue();
     _path = new ObjectPath("A", "B");
     _parameterStartValue.ContainerPath = _path;
     _parameterStartValue.Name          = "Name";
     _buildingBlock.Add(_parameterStartValue);
 }
Exemple #11
0
 protected override void Context()
 {
     base.Context();
     _dimension           = A.Fake <IDimension>();
     _parameterPath       = new ObjectPath(new[] { "Container", "Parameter" });
     _startValue          = 1.2;
     _parameterStartValue = new ParameterStartValue {
         Path = _parameterPath, StartValue = _startValue, Dimension = _dimension, Formula = null
     };
     A.CallTo(() => _dimension.BaseUnitValueToUnitValue(_dimension.DefaultUnit, _startValue)).Returns(_startValue);
 }
        private void updateDimension(IParameterStartValue psv, IMoBiSimulation simulation)
        {
            var dimension = _dimensionRetriever.GetDimensionFor(psv, _parameterStartValuesBuildingBlock, simulation);

            if (dimension == null)
            {
                dimension = _dimensionFactory.NoDimension;
                _projectConverterLogger.AddSubMessage(AppConstants.ProjectUpdateMessages.UnableToGetDimensionFor(psv, _parameterStartValuesBuildingBlock.Name), _parameterStartValuesBuildingBlock);
            }
            psv.Dimension = dimension;
        }
Exemple #13
0
        public ParameterStartValueDTO MapFrom(IParameterStartValue parameterStartValue, IStartValuesBuildingBlock <IParameterStartValue> buildingBlock)
        {
            var dto = new ParameterStartValueDTO(parameterStartValue, buildingBlock)
            {
                ContainerPath = parameterStartValue.ContainerPath,
            };

            var formula = parameterStartValue.Formula as ExplicitFormula;

            dto.Formula = formula != null ? new StartValueFormulaDTO(formula) : new EmptyFormulaDTO();
            return(dto);
        }
Exemple #14
0
 protected override void Context()
 {
     base.Context();
     _dimension           = A.Fake <IDimension>();
     _parameterPath       = new ObjectPath(new[] { "Container", "Parameter" });
     _parameterStartValue = new ParameterStartValue {
         Path = _parameterPath, StartValue = 0.0, Dimension = _dimension
     };
     _formula = A.Fake <ExplicitFormula>();
     _parameterStartValue.Formula = _formula;
     _formulaString         = "Hello Again";
     _formula.FormulaString = _formulaString;
 }
Exemple #15
0
        public IDimension GetDimensionFor(IParameterStartValue psv, IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, IMoBiProject project)
        {
            if (project == null)
            {
                return(null);
            }

            var parameter =
                searchParameterInSimulations(psv, parameterStartValuesBuildingBlock, project) ??
                searchParamterInSpatialStructures(psv, parameterStartValuesBuildingBlock, project) ??
                searchParameterInMolecules(psv, parameterStartValuesBuildingBlock, project);

            return(parameter == null ? null : parameter.Dimension);
        }
Exemple #16
0
        protected override void Context()
        {
            base.Context();
            _dimension           = DimensionFactoryForSpecs.Factory.Dimension(DimensionFactoryForSpecs.DimensionNames.Mass);
            _parameterStartValue = A.Fake <IParameterStartValue>();
            _parameter           = new Parameter {
                Dimension = _dimension, Name = _name, Value = 1.0
            };

            A.CallTo(() => _parameterStartValue.Dimension).Returns(_dimension);
            A.CallTo(() => _parameterStartValue.Name).Returns(_name);
            A.CallTo(() => _parameterStartValue.Formula).Returns(null);
            A.CallTo(() => _parameterStartValue.StartValue).Returns(1.0);
            A.CallTo(() => _parameterStartValue.DisplayUnit).Returns(_parameter.DisplayUnit);
        }
Exemple #17
0
        private IParameter searchParameterInSimulations(IParameterStartValue psv, IParameterStartValuesBuildingBlock parent, IMoBiProject project)
        {
            IParameter parameter   = null;
            var        simulations = project.Simulations.Where(sim => usesParameterStartValuesBB(sim, parent));

            foreach (var simulation in simulations)
            {
                parameter = psv.Path.Resolve <IParameter>(simulation.Model.Root);
                if (parameter != null)
                {
                    break;
                }
            }
            return(parameter);
        }
 protected override void Context()
 {
     base.Context();
     _parameterStartValuesBuildingBlock      = new ParameterStartValuesBuildingBlock();
     _parameterStartValuesBuildingBlock.Name = _changedName;
     _parameterStartValue = new ParameterStartValue();
     _path = new ObjectPath(new[] { "A", "B", _changedName });
     _parameterStartValue.Path = _path;
     _parameterStartValuesBuildingBlock.Add(_parameterStartValue);
     _parameterStartValue2 = new ParameterStartValue();
     _path = new ObjectPath(new[] { "A", _changedName, "B" });
     _parameterStartValue2.Path = _path;
     _parameterStartValuesBuildingBlock.Add(_parameterStartValue2);
     _project.AddBuildingBlock(_parameterStartValuesBuildingBlock);
 }
 protected override void Context()
 {
     _psv = new ParameterStartValue {
         StartValue = _oldValue, Dimension = _dimension
     };
     _dimension             = A.Fake <IDimension>();
     _newUnit               = new Unit("Neu", 2, 0);
     _buildingBlock         = A.Fake <IParameterStartValuesBuildingBlock>();
     _buildingBlock.Version = 1;
     A.CallTo(() => _dimension.Unit("Neu")).Returns(_newUnit);
     _oldUnit         = new Unit("Old", 1, 0);
     _psv.DisplayUnit = _oldUnit;
     _psv.Dimension   = _dimension;
     A.CallTo(() => _dimension.BaseUnitValueToUnitValue(_oldUnit, _oldValue)).Returns(_oldValue);
     A.CallTo(() => _dimension.UnitValueToBaseUnitValue(_newUnit, _newValue)).Returns(_newValue);
     sut = new SetParameterStartValueWithUnitCommand(_psv, _newValue, _newUnit, _buildingBlock);
 }
Exemple #20
0
        private IParameter searchParamterInSpatialStructures(IParameterStartValue psv, IParameterStartValuesBuildingBlock parent, IMoBiProject project)
        {
            var        parameterPath = psv.Path;
            IParameter parameter     = searchParamterInSpatialStructures(parameterPath, parent, project);

            if (parameter == null)
            {
                parameterPath = psv.Path.Clone <IObjectPath>();
                var parameterName = parameterPath.Last();
                parameterPath.Remove(parameterName);
                var tmp = parameterPath.Last();
                parameterPath.Remove(tmp);
                parameterPath.Add(Constants.MOLECULE_PROPERTIES);
                parameterPath.Add(parameterName);
                parameter = searchParamterInSpatialStructures(parameterPath, parent, project);
            }
            return(parameter);
        }
Exemple #21
0
        private IParameter searchParameterInMolecules(IParameterStartValue psv, IParameterStartValuesBuildingBlock parent, IMoBiProject project)
        {
            var parameterName = psv.Path.Last();
            var tmpPath       = psv.Path.Clone <IObjectPath>();

            tmpPath.Remove(tmpPath.Last());
            var moleculeName = tmpPath.Last();

            var parameter = searchParameterInMoleculeBuildingBlock(project.MoleculeBlockCollection.FirstOrDefault(mb => mb.Id.Equals(parent.MoleculeBuildingBlockId)), moleculeName, parameterName);

            foreach (var moleculeBuildingBlock in project.MoleculeBlockCollection)
            {
                parameter = searchParameterInMoleculeBuildingBlock(moleculeBuildingBlock, moleculeName, parameterName);
                if (parameter != null)
                {
                    break;
                }
            }
            return(parameter);
        }
 protected override void Context()
 {
     base.Context();
     _explicitFormula = new ExplicitFormula("1+2");
     _parameter       = new Parameter().WithName("P").WithFormula(_explicitFormula);
     _model.Root      = new Container {
         new Container {
             _parameter
         }.WithName("Organism")
     };
     _psv = new ParameterStartValue
     {
         OverrideFormulaWithValue = false,
         StartValue = 10,
         Path       = new ObjectPath("Organism", "P")
     };
     _buildConfiguration.ParameterStartValues = new ParameterStartValuesBuildingBlock {
         _psv
     };
     A.CallTo(() => _keywordReplacerTask.CreateModelPathFor(_psv.Path, _model.Root)).Returns(_psv.Path);
 }
Exemple #23
0
        private void convertPSV(IParameterStartValue parameterStartValue)
        {
            if (parameterStartValue == null)
            {
                return;
            }
            var conversionFactor = _dimensionMapper.ConversionFactor(parameterStartValue);

            if (conversionFactor == 1)
            {
                return;
            }

            var value = parameterStartValue.StartValue.GetValueOrDefault();

            if (double.IsNaN(value))
            {
                return;
            }

            parameterStartValue.StartValue = parameterStartValue.StartValue * conversionFactor;
        }
 protected override void Context()
 {
     base.Context();
     _project                  = A.Fake <IMoBiProject>();
     _startValue               = A.Fake <IParameterStartValue>();
     _parameterPath            = A.Fake <IObjectPath>();
     _parentBuidlidingBlock    = A.Fake <IParameterStartValuesBuildingBlock>();
     _parentBuidlidingBlock.Id = "Parent";
     _para = A.Fake <IParameter>().WithName("Para").WithDimension(A.Fake <IDimension>());
     A.CallTo(() => _startValue.Path).Returns(_parameterPath);
     _simulation = A.Fake <IMoBiSimulation>();
     A.CallTo(() => _project.Simulations).Returns(new[] { _simulation, });
     _buildConfiguration = A.Fake <IMoBiBuildConfiguration>();
     _buildConfiguration.ParameterStartValuesInfo = new ParameterStartValuesBuildingBlockInfo();
     _buildConfiguration.ParameterStartValuesInfo.TemplateBuildingBlock = _parentBuidlidingBlock;
     _model = A.Fake <IModel>();
     _root  = A.Fake <IContainer>();
     A.CallTo(() => _simulation.MoBiBuildConfiguration).Returns(_buildConfiguration);
     A.CallTo(() => _simulation.Model).Returns(_model);
     A.CallTo(() => _parameterPath.Resolve <IParameter>(_root)).Returns(_para);
     _model.Root = _root;
     A.CallTo(() => _context.CurrentProject).Returns(_project);
 }
        protected override void Context()
        {
            base.Context();
            _psvbb = new ParameterStartValuesBuildingBlock();
            _psv1  = new ParameterStartValue {
                Path = new ObjectPath("A")
            };
            _project = A.Fake <IMoBiProject>();

            _psv2 = new ParameterStartValue {
                Path = new ObjectPath("B")
            };
            _psv3 = new ParameterStartValue {
                Path = new ObjectPath(Constants.Distribution.GEOMETRIC_DEVIATION)
            };
            _psvbb.Add(_psv1);
            _psvbb.Add(_psv2);
            _psvbb.Add(_psv3);
            _startValue      = 2;
            _psv3.StartValue = _startValue;
            _dim             = A.Fake <IDimension>();
            A.CallTo(_dimensionRetriever).WithReturnType <IDimension>().Returns(_dim);
        }
Exemple #26
0
        protected override void Context()
        {
            base.Context();
            var unit = new Unit("Dimensionless", 1.0, 0.0);

            _firstStartValueRef = new ParameterStartValue {
                ContainerPath = new ObjectPath("this", "path"), Name = "Name", StartValue = -1.0, DisplayUnit = unit
            };
            _parameterStartValues = new List <ImportedQuantityDTO>
            {
                new ImportedQuantityDTO {
                    Name = "Name", ContainerPath = new ObjectPath(new[] { "this", "path" }), QuantityInBaseUnit = 1.0, DisplayUnit = unit
                },
                new ImportedQuantityDTO {
                    Name = "Name", ContainerPath = new ObjectPath(new[] { "that", "path" }), QuantityInBaseUnit = 2.0, DisplayUnit = unit
                },
                new ImportedQuantityDTO {
                    Name = "Name", ContainerPath = new ObjectPath(new[] { "the", "path" }), QuantityInBaseUnit = 3.0, DisplayUnit = unit
                }
            };

            _parameterStartValueBuildingBlock.Add(_firstStartValueRef);

            for (var i = 1; i < 3; i++)
            {
                var dto = _parameterStartValues[i];
                A.CallTo(() => _parameterStartValuesCreator.CreateParameterStartValue(dto.Path, dto.QuantityInBaseUnit, A <IDimension> ._, A <Unit> ._, A <ValueOrigin> ._, A <bool> ._)).Returns(
                    new ParameterStartValue
                {
                    ContainerPath = dto.ContainerPath,
                    Name          = dto.Name,
                    Dimension     = dto.Dimension,
                    DisplayUnit   = dto.DisplayUnit,
                    StartValue    = dto.QuantityInBaseUnit
                });
            }
        }
Exemple #27
0
 public void Visit(IParameterStartValue parameterStartValue)
 {
     checkStartValue(parameterStartValue, _psvPathTask);
 }
Exemple #28
0
        public IDimension GetDimensionFor(IParameterStartValue psv, IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, IMoBiSimulation simulation)
        {
            var parameter = psv.Path.Resolve <IParameter>(simulation.Model.Root);

            return(parameter == null ? null : parameter.Dimension);
        }
Exemple #29
0
 public SynchronizeParameterStartValueCommand(IParameter parameter, IParameterStartValue parameterStartValue)
 {
     _parameter           = parameter;
     _parameterId         = parameter.Id;
     _parameterStartValue = parameterStartValue;
 }