public bool IsEquivalentTo(IParameterStartValue parameterStartValue) { var isBaseEquivalent = base.IsEquivalentTo(parameterStartValue); var isEquivalent = NullableEqualsCheck(ParameterName, parameterStartValue.ParameterName); return(isBaseEquivalent && isEquivalent); }
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") }; }
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); }
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); }
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; }
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); }
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; }
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); }
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); }
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); }
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); }
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); }
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); }
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 }); } }
public void Visit(IParameterStartValue parameterStartValue) { checkStartValue(parameterStartValue, _psvPathTask); }
public IDimension GetDimensionFor(IParameterStartValue psv, IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, IMoBiSimulation simulation) { var parameter = psv.Path.Resolve <IParameter>(simulation.Model.Root); return(parameter == null ? null : parameter.Dimension); }
public SynchronizeParameterStartValueCommand(IParameter parameter, IParameterStartValue parameterStartValue) { _parameter = parameter; _parameterId = parameter.Id; _parameterStartValue = parameterStartValue; }