protected override async Task Context() { await base.Context(); _project = new PKSimProject(); _newIndividual = new Individual { OriginData = new OriginData() }; _newAgeRange = new ParameterRange { ParameterName = CoreConstants.Parameters.AGE }; _newWeightRange = new ParameterRange { ParameterName = CoreConstants.Parameters.MEAN_WEIGHT }; _snapshot = await sut.MapToSnapshot(_randomPopulationSettings); _snapshot.ProportionOfFemales = _proportionOfFemale; A.CallTo(() => _parameterRangeMapper.MapToModel(_snapshot.Age, A <ParameterRangeSnapshotContext> .That.Matches(x => x.ParameterRange == _newAgeRange))).Returns(_newAgeRange); A.CallTo(() => _parameterRangeMapper.MapToModel(_snapshot.Weight, A <ParameterRangeSnapshotContext> .That.Matches(x => x.ParameterRange == _newWeightRange))).Returns(_newWeightRange); A.CallTo(() => _individualMapper.MapToModel(_snapshotIndividual, _snapshotContext)).Returns(_newIndividual); _newDiseaseStateParameterRange = new ConstrainedParameterRange { ParameterName = _diseaseStateParameter.Name }; _mappedSettings = new RandomPopulationSettings { BaseIndividual = _newIndividual }; _mappedSettings.AddParameterRange(_newDiseaseStateParameterRange); A.CallTo(() => _populationSettingsMapper.MapFrom(_newIndividual)).Returns(_mappedSettings); }
public virtual ParameterRange Clone() { var clone = new ParameterRange(); clone.UpdatePropertiesFrom(this, null); return(clone); }
private static bool maxGreaterThanMin(ParameterRange param, double?maxValueInDisplayUnit) { if (doesNotNeedCheck(param.MinValue, maxValueInDisplayUnit)) { return(true); } return(param.baseValueFrom(maxValueInDisplayUnit) >= param.MinValue); }
private static bool minLessThanDbMax(ParameterRange param, double?minValueInDisplayUnit) { if (doesNotNeedCheck(param.DbMaxValue, minValueInDisplayUnit)) { return(true); } return(param.baseValueFrom(minValueInDisplayUnit) <= param.DbMaxValue); }
private double tryCreateRandomValueFor(ParameterRange parameterRange, IParameter baseParameter, out bool success) { try { success = true; if (parameterRange.IsConstant) { return(parameterRange.MinValue.Value); } return(baseParameter.RandomDeviateIn(_randomGenerator, parameterRange.MinValue, parameterRange.MaxValue)); } catch (DistributionException) { success = false; return(baseParameter.Value); } }
protected override Task Context() { _individualMapper = A.Fake <IndividualMapper>(); _parameterRangeMapper = A.Fake <ParameterRangeMapper>(); _genderRepository = A.Fake <IGenderRepository>(); _populationSettingsMapper = A.Fake <IIndividualToPopulationSettingsMapper>(); sut = new RandomPopulationSettingsMapper(_parameterRangeMapper, _individualMapper, _populationSettingsMapper, _genderRepository); _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(); _snapshotIndividual = new Snapshots.Individual(); A.CallTo(() => _individualMapper.MapToSnapshot(_baseIndividual)).Returns(_snapshotIndividual); _randomPopulationSettings = new RandomPopulationSettings { NumberOfIndividuals = 10, BaseIndividual = _baseIndividual }; _randomPopulationSettings.AddParameterRange(_weightParameterRange); _randomPopulationSettings.AddParameterRange(_ageParameterRange); A.CallTo(() => _genderRepository.Female).Returns(new Gender { Id = "Female", Name = "Female" }); A.CallTo(() => _genderRepository.Male).Returns(new Gender { Id = "Male", Name = "Male" }); return(Task.FromResult(true)); }
protected override async Task Context() { await base.Context(); _newIndividual = new Individual(); _newAgeRange = new ParameterRange { ParameterName = CoreConstants.Parameters.AGE }; _newWeightRange = new ParameterRange { ParameterName = CoreConstants.Parameters.MEAN_WEIGHT }; _snapshot = await sut.MapToSnapshot(_randomPopulationSettings); _snapshot.ProportionOfFemales = _proportionOfFemale; A.CallTo(() => _parameterRangeMapper.MapToModel(_snapshot.Age, A <ParameterRangeSnapshotContext> .That.Matches(x => x.ParameterRange == _newAgeRange))).Returns(_newAgeRange); A.CallTo(() => _parameterRangeMapper.MapToModel(_snapshot.Weight, A <ParameterRangeSnapshotContext> .That.Matches(x => x.ParameterRange == _newWeightRange))).Returns(_newWeightRange); A.CallTo(() => _individualMapper.MapToModel(_snapshotIndividual, _snapshotContext)).Returns(_newIndividual); _mappedSettings = new RandomPopulationSettings(); A.CallTo(() => _populationSettingsMapper.MapFrom(_newIndividual)).Returns(_mappedSettings); _mappedSettings.AddParameterRange(_newAgeRange); _mappedSettings.AddParameterRange(_newWeightRange); _maleRatio = new GenderRatio { Gender = _genderRepository.Male, Ratio = 50 }; _femaleRatio = new GenderRatio { Gender = _genderRepository.Female, Ratio = 50 }; _mappedSettings.AddGenderRatio(_maleRatio); _mappedSettings.AddGenderRatio(_femaleRatio); _snapshot.DiseaseStateParameters = null; }
public void AddParameterRange(ParameterRange parameterRange) => _parameterRanges.Add(parameterRange);
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)); }