private void updateDiseaseStateFromSnapshot(SnapshotOriginData snapshot, ModelOriginData originData) { if (snapshot.DiseaseState == null) { return; } var diseaseState = _diseaseStateRepository.AllFor(originData.Population).FindByName(snapshot.DiseaseState); if (diseaseState == null) { throw new PKSimException(PKSimConstants.Error.CannotFindDiseaseState(snapshot.DiseaseState, originData.Population.DisplayName)); } originData.DiseaseState = diseaseState; diseaseState.Parameters.Each(x => { var diseaseStateParameter = new OriginDataParameter { Name = x.Name, Value = x.Value, Unit = x.DisplayUnitName() }; var snapshotParameter = snapshot.DiseaseStateParameters.FindByName(x.Name); if (snapshotParameter != null) { diseaseStateParameter.Value = baseParameterValueFrom(snapshotParameter, x.Value); diseaseStateParameter.Unit = snapshotParameter.Unit; } originData.AddDiseaseStateParameter(diseaseStateParameter); }); }
private string displayValueFor(OriginDataParameter originDataParameter) { var dimension = _dimensionRepository.DimensionForUnit(originDataParameter.Unit); var displayUnit = dimension.UnitOrDefault(originDataParameter.Unit); return(_formatter.Format(dimension.BaseUnitValueToUnitValue(displayUnit, originDataParameter.Value))); }
private Parameter parameterFrom(OriginDataParameter parameter, IDimension dimension) { if (parameter == null) { return(null); } return(_parameterMapper.ParameterFrom(parameter.Value, parameter.Unit, dimension)); }
private OriginDataParameter originDataParameterFrom(IParameterDTO parameterDTO, bool addName = false) { var originDataParameter = new OriginDataParameter(parameterDTO.KernelValue, displayUnit(parameterDTO)); if (addName) { originDataParameter.Name = parameterDTO.Name; } return(originDataParameter); }
private IParameter parameterFrom(OriginDataParameter originDataParameter) { if (originDataParameter == null) { return(null); } var(value, unit, name) = originDataParameter; var dimension = _dimensionRepository.DimensionForUnit(unit); return(_parameterFactory.CreateFor(name, value, dimension.Name, PKSimBuildingBlockType.Individual)); }
private Parameter originDataParameterFor(ModelOriginData originData, Func <ModelOriginData, IParameter> meanParameterRetrieverFunc, OriginDataParameter parameter, IDimension dimension) { if (parameter == null) { return(null); } var(value, _) = parameter; var meanParameter = meanParameterRetrieverFunc(originData); if (ValueComparer.AreValuesEqual(meanParameter.Value, value)) { return(null); } return(parameterFrom(parameter, dimension)); }
protected override void Context() { base.Context(); _organism = new Organism(); _individual = A.Fake <Individual>(); _diseaseStateParameterDTO = A.Fake <IParameterDTO>(); A.CallTo(() => _individual.Organism).Returns(_organism); _origin = new OriginData { DiseaseState = new DiseaseState { Name = "MyDiseaseState" } }; _diseaseStateParameter = new OriginDataParameter(); _origin.AddDiseaseStateParameter(_diseaseStateParameter); A.CallTo(() => _originDataParameterMapper.MapFrom(_diseaseStateParameter)).Returns(_diseaseStateParameterDTO); _individual.OriginData = _origin; }
protected override async Task Context() { await base.Context(); _originData.DiseaseState = new DiseaseState { Name = "CKD" }; _diseaseStateParameter = new OriginDataParameter { Name = "Param", Value = 60, Unit = "h" }; _originData.AddDiseaseStateParameter(_diseaseStateParameter); _timeDimension = DomainHelperForSpecs.TimeDimensionForSpecs(); A.CallTo(() => _dimensionRepository.DimensionForUnit(_diseaseStateParameter.Unit)).Returns(_timeDimension); A.CallTo(() => _parameterMapper.ParameterFrom(_diseaseStateParameter.Value, _diseaseStateParameter.Unit, _timeDimension)) .Returns(new Parameter { Value = 1, Unit = "h" }); }
public IParameterDTO MapFrom(OriginDataParameter originDataParameter) { return(_parameterDTOMapper.MapAsReadWriteFrom(parameterFrom(originDataParameter))); }
protected override Task Context() { _individualMapper = A.Fake <IndividualMapper>(); _parameterRangeMapper = A.Fake <ParameterRangeMapper>(); _genderRepository = A.Fake <IGenderRepository>(); _populationSettingsMapper = A.Fake <IIndividualToPopulationSettingsMapper>(); _logger = A.Fake <IOSPSuiteLogger>(); sut = new RandomPopulationSettingsMapper(_parameterRangeMapper, _individualMapper, _populationSettingsMapper, _genderRepository, _logger); _ageParameterRange = new ConstrainedParameterRange { ParameterName = CoreConstants.Parameters.AGE }; _weightParameterRange = new ParameterRange { ParameterName = CoreConstants.Parameters.MEAN_WEIGHT }; A.CallTo(() => _parameterRangeMapper.MapToSnapshot(null)).Returns((Snapshots.ParameterRange)null); _ageRangeSnapshot = new Snapshots.ParameterRange(); A.CallTo(() => _parameterRangeMapper.MapToSnapshot(_ageParameterRange)).Returns(_ageRangeSnapshot); _weightRangeSnapshot = new Snapshots.ParameterRange(); A.CallTo(() => _parameterRangeMapper.MapToSnapshot(_weightParameterRange)).Returns(_weightRangeSnapshot); _baseIndividual = new Individual { OriginData = new OriginData() }; _diseaseStateParameter = new OriginDataParameter(10, "mg/kg", "DIS_STATE_PARAM"); _baseIndividual.OriginData.AddDiseaseStateParameter(_diseaseStateParameter); _diseaseStateParameterRangeSnapshot = new Snapshots.ParameterRange(); _diseaseStateParameterRange = new ConstrainedParameterRange { ParameterName = _diseaseStateParameter.Name }; A.CallTo(() => _parameterRangeMapper.MapToSnapshot(_diseaseStateParameterRange)).Returns(_diseaseStateParameterRangeSnapshot); _snapshotIndividual = new Snapshots.Individual(); A.CallTo(() => _individualMapper.MapToSnapshot(_baseIndividual)).Returns(_snapshotIndividual); _randomPopulationSettings = new RandomPopulationSettings { NumberOfIndividuals = 10, BaseIndividual = _baseIndividual }; _randomPopulationSettings.AddParameterRange(_weightParameterRange); _randomPopulationSettings.AddParameterRange(_ageParameterRange); _randomPopulationSettings.AddParameterRange(_diseaseStateParameterRange); A.CallTo(() => _genderRepository.Female).Returns(new Gender { Id = "Female", Name = "Female" }); A.CallTo(() => _genderRepository.Male).Returns(new Gender { Id = "Male", Name = "Male" }); _project = new PKSimProject(); _snapshotContext = new SnapshotContext(_project, ProjectVersions.Current); return(Task.FromResult(true)); }
private Parameter namedParameterFrom(OriginDataParameter parameter) { return(parameterFrom(parameter, _dimensionRepository.DimensionForUnit(parameter.Unit)).WithName(parameter.Name)); }