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); }
private void convertSpecialParametersIn(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock) { var inversedLength = _dimensionFactory.Dimension(AppConstants.DimensionNames.INVERSED_LENGTH); convertSpecialParameter(parameterStartValuesBuildingBlock, "Organism|Surface/Volume ratio (blood cells)", 10, inversedLength); convertSpecialParameter(parameterStartValuesBuildingBlock, "Organism|SA proportionality factor", 1.0 / 100, inversedLength); }
protected override void Context() { CreateDimensionFactory(); sut = new DataTableToImportQuantityDTOMapperForParameters(_dimensionFactory); _startValuesBuildingBlock = new ParameterStartValuesBuildingBlock(); }
private void convertSpecialParameter(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, string parameterPath, double conversionFactor, IDimension newDimension) { var surfaceVolumeRatioParameter = parameterStartValuesBuildingBlock.Where(p => p.Path.PathAsString.Equals(parameterPath)); surfaceVolumeRatioParameter.Each(p => convertSpecial(p, conversionFactor, newDimension)); }
public IParameterStartValuesBuildingBlock CreateFor(IBuildConfiguration buildConfiguration, Simulation simulation) { try { //default default parameter start values matrix _spatialStructure = buildConfiguration.SpatialStructure; _defaultStartValues = _parameterStartValuesCreator.CreateFrom(_spatialStructure, buildConfiguration.Molecules); _formulaCache = _defaultStartValues.FormulaCache; var individual = simulation.Individual; //set the relative expression values for each protein defined in individual foreach (var protein in individual.AllMolecules <IndividualProtein>()) { updateProteinParametersValues(protein); } foreach (var transporter in individual.AllMolecules <IndividualTransporter>()) { updateTransporterParameterValues(transporter); } updateSimulationParameters(simulation); return(_defaultStartValues.WithName(simulation.Name)); } finally { _spatialStructure = null; _defaultStartValues = null; _formulaCache = null; } }
private void addParameterToParameterStartValues(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, IParameter parameter) { var path = _objectPathFactory.CreateAbsoluteObjectPath(parameter); var psv = _parameterStartValuesCreator.CreateParameterStartValue(path, parameter); parameterStartValuesBuildingBlock[psv.Path] = psv; }
private void addMoleculeParameterValues(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, ISpatialStructure spatialStructure, IEnumerable <IMoleculeBuilder> moleculeBuilderCollection) { foreach (var paramValue in moleculeBuilderCollection.SelectMany(moleculeBuilder => getMoleculeParameterValues(spatialStructure, moleculeBuilder))) { parameterStartValuesBuildingBlock.Add(paramValue); } }
public void TestComplexParameterStartValuesBuildingBlock() { ParameterStartValuesBuildingBlock x1 = _buildConfiguration.ParameterStartValues as ParameterStartValuesBuildingBlock; Assert.IsNotNull(x1); IParameterStartValuesBuildingBlock x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualParameterStartValuesBuildingBlock(x2, x1); }
protected override void Because() { var compoundName = _simulation.CompoundNames.First(); var parameter = _simulation.Model.Root.EntityAt <IParameter>(compoundName, CoreConstantsForSpecs.Parameter.BLOOD_PLASMA_CONCENTRATION_RATIO); parameter.Value = 10; _parameterPath = _entityPathResolver.ObjectPathFor(parameter); _psv = _buildConfigurationTask.CreateFor(_simulation, shouldValidate: true, createAgingDataInSimulation: false).ParameterStartValues; }
protected override void Context() { base.Context(); _buildingBlock = new ParameterStartValuesBuildingBlock(); _simulation = A.Fake <IMoBiSimulation>(); _buildConfiguration = new BuildConfiguration { ParameterStartValues = A.Fake <IParameterStartValuesBuildingBlock>() }; A.CallTo(() => _simulation.BuildConfiguration).Returns(_buildConfiguration); }
public void Visit(IParameterStartValuesBuildingBlock parameterStartValuesBuilding) { foreach (var parameterStartValue in parameterStartValuesBuilding.OfType <ParameterStartValue>().ToList()) { //psv stored as a cache using path as key parameterStartValuesBuilding.Remove(parameterStartValue); parameterStartValue.Path = parameterStartValue.ContainerPath; parameterStartValuesBuilding.Add(parameterStartValue); } }
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() { _context = A.Fake <IMoBiContext>(); _buildingBlock = new ParameterStartValuesBuildingBlock(); _psv = new ParameterStartValue { Path = new ObjectPath("path1"), StartValue = -1, DisplayUnit = new Unit("Dimensionless", 1.0, 1) }; sut = new AddParameterStartValueToBuildingBlockCommand(_buildingBlock, _psv); A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IParameterStartValue> >(A <string> ._)).Returns(_buildingBlock); }
private void addGlobalMoleculeParameterValues(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, IContainer globalMoleculeDependentProperties, IMoleculeBuildingBlock moleculeBuildingBlock) { var globalParameter = globalMoleculeDependentProperties.GetChildren <IParameter>(parameterValueShouldBeSet); foreach (var parameter in globalParameter) { foreach (var moleculeBuilder in moleculeBuildingBlock) { parameterStartValuesBuildingBlock.Add(globalMoleculeParameterValueFor(moleculeBuilder, parameter)); } } }
private bool usesParameterStartValuesBB(IMoBiSimulation moBiSimulation, IParameterStartValuesBuildingBlock parameterStartValueBuildingBlock) { var templateBuildingBlock = moBiSimulation.MoBiBuildConfiguration.ParameterStartValuesInfo.TemplateBuildingBlock; if (Equals(templateBuildingBlock, parameterStartValueBuildingBlock)) { return(true); } var parameterStartValuesBuildingBlock = moBiSimulation.MoBiBuildConfiguration.ParameterStartValues; return(parameterStartValuesBuildingBlock.Equals(parameterStartValueBuildingBlock) || parameterStartValuesBuildingBlock.Name.Equals(parameterStartValueBuildingBlock.Name)); }
protected override void Context() { _context = A.Fake <IMoBiContext>(); _buildingBlock = new ParameterStartValuesBuildingBlock(); _path = new ObjectPath(new[] { string.Format("path{0}", 1) }); _buildingBlock.Add(new ParameterStartValue { Path = _path, StartValue = -1, DisplayUnit = new Unit("Dimensionless", 1.0, 1) }); sut = new UpdateParameterStartValueInBuildingBlockCommand(_buildingBlock, _path, 1.0); A.CallTo(() => _context.Get <IParameterStartValuesBuildingBlock>(_buildingBlock.Id)).Returns(_buildingBlock); }
protected override void Context() { _spatialStructureFactory = A.Fake <IPKSimSpatialStructureFactory>(); _modelObserverQuery = A.Fake <IModelObserverQuery>(); _modelPassiveTransportQuery = A.Fake <IModelPassiveTransportQuery>(); _parameterStartValueCreator = A.Fake <IPKSimParameterStartValuesCreator>(); _moleculesAndReactionsCreator = A.Fake <IMoleculesAndReactionsCreator>(); _eventBuildingBlockCreator = A.Fake <IEventBuildingBlockCreator>(); _moleculeStartValueCreator = A.Fake <IPKSimMoleculeStartValuesCreator>(); _moleculeCalculationRetriever = A.Fake <IMoleculeCalculationRetriever>(); _distributedTableConverter = A.Fake <IDistributedParameterToTableParameterConverter>(); _parameterDefaultStateUpdater = A.Fake <IParameterDefaultStateUpdater>(); _cm1 = new CoreCalculationMethod(); _cm2 = new CoreCalculationMethod(); _simulation = new IndividualSimulation { Properties = new SimulationProperties() }; _simulation.SimulationSettings = new SimulationSettings(); _simulation.ModelConfiguration = new ModelConfiguration(); _individual = new Individual().WithName("MyIndividuyal"); _compound = A.Fake <Compound>().WithName("MyCompound"); _protocol = new SimpleProtocol().WithName("MyProtocol"); _spatialStructure = A.Fake <ISpatialStructure>(); _passiveTransportBuilingBlock = A.Fake <IPassiveTransportBuildingBlock>(); _observerBuildingBlock = A.Fake <IObserverBuildingBlock>(); _eventBuildingBlock = A.Fake <IEventGroupBuildingBlock>(); _parameterValuesBuildingBlock = A.Fake <IParameterStartValuesBuildingBlock>(); _moleculeStartValueBuildingBlock = A.Fake <IMoleculeStartValuesBuildingBlock>(); _simulation.AddUsedBuildingBlock(new UsedBuildingBlock("Individual", PKSimBuildingBlockType.Individual) { BuildingBlock = _individual }); _simulation.AddUsedBuildingBlock(new UsedBuildingBlock("Compound", PKSimBuildingBlockType.Compound) { BuildingBlock = _compound }); _simulation.AddUsedBuildingBlock(new UsedBuildingBlock("Protocol", PKSimBuildingBlockType.Protocol) { BuildingBlock = _protocol }); A.CallTo(() => _moleculeCalculationRetriever.AllMoleculeCalculationMethodsUsedBy(_simulation)).Returns(new[] { _cm1, _cm2 }); A.CallTo(() => _spatialStructureFactory.CreateFor(_individual, _simulation)).Returns(_spatialStructure); A.CallTo(() => _modelPassiveTransportQuery.AllPassiveTransportsFor(_simulation)).Returns(_passiveTransportBuilingBlock); A.CallTo(() => _modelObserverQuery.AllObserversFor(A <IMoleculeBuildingBlock> .Ignored, _simulation)).Returns(_observerBuildingBlock); A.CallTo(() => _eventBuildingBlockCreator.CreateFor(_simulation)).Returns(_eventBuildingBlock); A.CallTo(() => _parameterStartValueCreator.CreateFor(A <IBuildConfiguration> .Ignored, A <Simulation> .Ignored)).Returns(_parameterValuesBuildingBlock); A.CallTo(() => _moleculeStartValueCreator.CreateFor(A <IBuildConfiguration> .Ignored, A <Simulation> .Ignored)).Returns(_moleculeStartValueBuildingBlock); sut = new BuildConfigurationTask(_spatialStructureFactory, _modelObserverQuery, _modelPassiveTransportQuery, _parameterStartValueCreator, _moleculesAndReactionsCreator, _eventBuildingBlockCreator, _moleculeStartValueCreator, _moleculeCalculationRetriever, _distributedTableConverter, _parameterDefaultStateUpdater); }
protected override void Context() { _context = A.Fake <IMoBiContext>(); _buildingBlock = new ParameterStartValuesBuildingBlock(); _psv = new ParameterStartValue { Path = new ObjectPath("path1"), StartValue = -1, DisplayUnit = new Unit("Dimensionless", 1.0, 1) }; _buildingBlock.Add(_psv); sut = new RemoveParameterStartValueFromBuildingBlockCommand(_buildingBlock, _psv.Path); A.CallTo(() => _context.Deserialize <IParameterStartValue>(A <byte[]> ._)).Returns(_psv); A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IParameterStartValue> >(_buildingBlock.Id)).Returns(_buildingBlock); }
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(); _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); }
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() { _context = A.Fake <IMoBiContext>(); A.CallTo(() => _context.HistoryManager).Returns(A.Fake <IMoBiHistoryManager>()); _startValuesTask = A.Fake <IParameterStartValuesTask>(); _view = A.Fake <IImportQuantityView>(); _dialogCreator = A.Fake <IDialogCreator>(); _dataTableToImportParameterQuantityDTOMapperForMolecules = A.Fake <IDataTableToImportQuantityDTOMapperForParameters>(); _buildingBlock = A.Fake <IParameterStartValuesBuildingBlock>(); _excelTask = A.Fake <IImportFromExcelTask>(); sut = new ImportParameterStartValuesPresenter(_view, _dialogCreator, _context, _excelTask, _startValuesTask, _dataTableToImportParameterQuantityDTOMapperForMolecules); sut.Initialize(); A.CallTo(() => _view.BindTo(A <ImportExcelSheetSelectionDTO> ._)) .Invokes(x => _importExcelSheetDTO = x.GetArgument <ImportExcelSheetSelectionDTO>(0)); }
protected override void Context() { _parameterStartValueBuildingBlock = new ParameterStartValuesBuildingBlock().WithId("PSVBB"); _objectPath = new ObjectPath("A", "B", "P"); _parameter = A.Fake <IParameter>().WithName("P").WithId("P"); sut = new AddParameterStartValueFromQuantityInSimulationCommand(_parameter, _parameterStartValueBuildingBlock); _context = A.Fake <IMoBiContext>(); _parameterStartValuesCreator = A.Fake <IParameterStartValuesCreator>(); _entityPathResolver = A.Fake <IEntityPathResolver>(); A.CallTo(() => _context.Resolve <IEntityPathResolver>()).Returns(_entityPathResolver); A.CallTo(() => _context.Resolve <IParameterStartValuesCreator>()).Returns(_parameterStartValuesCreator); A.CallTo(() => _context.Get <IParameter>(_parameter.Id)).Returns(_parameter); A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IParameterStartValue> >(_parameterStartValueBuildingBlock.Id)).Returns(_parameterStartValueBuildingBlock); A.CallTo(() => _entityPathResolver.ObjectPathFor(_parameter, false)).Returns(_objectPath); }
protected override void Context() { _buildingBlock = new ParameterStartValuesBuildingBlock(); _context = A.Fake <IMoBiContext>(); _newDimension = DimensionFactoryForSpecs.Factory.Dimension(DimensionFactoryForSpecs.DimensionNames.Mass); _newDisplayUnit = _newDimension.DefaultUnit; _oldDimension = DimensionFactoryForSpecs.Factory.Dimension(DimensionFactoryForSpecs.DimensionNames.Concentration); _oldDisplayUnit = _oldDimension.DefaultUnit; _startValue = new ParameterStartValue { Dimension = _oldDimension, StartValue = 1.0, DisplayUnit = _oldDisplayUnit }; sut = new UpdateDimensionInStartValueCommand <IParameterStartValue>(_startValue, _newDimension, _newDisplayUnit, _buildingBlock); }
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); }
protected override void Context() { _context = A.Fake <IMoBiContext>(); _liver = new Container().WithName("LIVER"); _simulation = A.Fake <IMoBiSimulation>(); _simulation.Model.Root = new Container().WithContainerType(ContainerType.Simulation); _simulation.Model.Root.Add(_liver); _parameterStartValues = new ParameterStartValuesBuildingBlock(); _simulation.BuildConfiguration.ParameterStartValues = _parameterStartValues; sut = new ResetParamterValuesToDefaultFromStartValuesInSimulationCommand(_simulation); _formulaTask = A.Fake <IMoBiFormulaTask>(); _entityPathResolver = new EntityPathResolver(new ObjectPathFactory(new AliasCreator())); _cloneManagerForModel = A.Fake <ICloneManagerForModel>(); A.CallTo(_formulaTask).WithReturnType <ConstantFormula>().Returns(new ConstantFormula()); A.CallTo(() => _context.Resolve <IMoBiFormulaTask>()).Returns(_formulaTask); A.CallTo(() => _context.Resolve <IEntityPathResolver>()).Returns(_entityPathResolver); A.CallTo(() => _context.Resolve <ICloneManagerForModel>()).Returns(_cloneManagerForModel); }
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); }
public IParameterStartValuesBuildingBlock CreateFor(IBuildConfiguration buildConfiguration, Simulation simulation) { try { //default default parameter start values matrix var spatialStructure = buildConfiguration.SpatialStructure; var molecules = buildConfiguration.Molecules; _defaultStartValues = _parameterStartValuesCreator.CreateFrom(spatialStructure, molecules); var individual = simulation.Individual; //set the relative expression values for each molecule defined in individual individual.AllMolecules().Each(molecule => updateMoleculeParametersValues(molecule, individual, simulation)); updateSimulationParameters(simulation); return(_defaultStartValues.WithName(simulation.Name)); } finally { _defaultStartValues = null; } }
protected override void Context() { _buildConfiguration = new MoBiBuildConfiguration(); _moleculeBuidingBlock = new MoleculeBuildingBlock().WithName("M"); _buildConfiguration.Molecules = _moleculeBuidingBlock; _reactionBuildingBlock = new MoBiReactionBuildingBlock().WithName("R"); _reactionBuildingBlock.Add(new ReactionBuilder().WithName("R1")); _buildConfiguration.Reactions = _reactionBuildingBlock; _passiveTransportBuildingBlock = new PassiveTransportBuildingBlock().WithName("PT"); _passiveTransportBuildingBlock.Add(new TransportBuilder().WithName("PT2")); _passiveTransportBuildingBlock.Add(new TransportBuilder().WithName("PT1")); _buildConfiguration.PassiveTransports = _passiveTransportBuildingBlock; _eventGroupBuildingBlock = new EventGroupBuildingBlock().WithName("EG"); _buildConfiguration.EventGroups = _eventGroupBuildingBlock; _msvBuildingBlock = new MoleculeStartValuesBuildingBlock().WithName("MSV"); _buildConfiguration.MoleculeStartValues = _msvBuildingBlock; _psvBuildingBlock = new ParameterStartValuesBuildingBlock().WithName("PSV"); _buildConfiguration.ParameterStartValues = _psvBuildingBlock; _spatialStructure = new MoBiSpatialStructure().WithName("SPST"); _buildConfiguration.SpatialStructure = _spatialStructure; _observerBuildingBlock = new ObserverBuildingBlock().WithName("O"); _buildConfiguration.Observers = _observerBuildingBlock; _objectPathFactory = new ObjectPathFactory(new AliasCreator()); _entityPathResolver = new EntityPathResolver(_objectPathFactory); sut = new AffectedBuildingBlockRetriever(_entityPathResolver); //common setup _simulation = new MoBiSimulation { BuildConfiguration = _buildConfiguration }; }
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); }