public static IDistributedParameter NormalDistributedParameter(double defaultMean = 0, double defaultDeviation = 1, double defaultPercentile = 0.5) { var parameter = new PKSimDistributedParameter().WithId("P1"); var pathFactory = new ObjectPathFactoryForSpecs(); var meanParameter = new PKSimParameter { Name = Constants.Distribution.MEAN }.WithFormula(new ConstantFormula(defaultMean).WithId("MeanFormula")).WithId("Mean"); addDimensionTo(meanParameter); var stdParameter = new PKSimParameter { Name = Constants.Distribution.DEVIATION }.WithFormula(new ConstantFormula(defaultDeviation).WithId("DeviationFormula")).WithId("Deviation"); addDimensionTo(stdParameter); var percentileParameter = new PKSimParameter { Name = Constants.Distribution.PERCENTILE }.WithFormula(new ConstantFormula(defaultPercentile).WithId("PercentileFormula")).WithId("Percentile"); addDimensionTo(percentileParameter); parameter.Add(meanParameter); parameter.Add(stdParameter); parameter.Add(percentileParameter); parameter.Formula = new NormalDistributionFormula().WithId("NormalDistributionFormula"); parameter.Formula.AddObjectPath(pathFactory.CreateRelativeFormulaUsablePath(parameter, meanParameter)); parameter.Formula.AddObjectPath(pathFactory.CreateRelativeFormulaUsablePath(parameter, stdParameter)); addDimensionTo(parameter); return(parameter); }
protected override void Context() { _randomGenerator = new RandomGenerator(); sut = new PKSimDistributedParameter().WithName("P"); _minValue = 5; _maxValue = 10; sut.Info.MinValue = _minValue; sut.Info.MaxValue = _maxValue; _pathFactory = new ObjectPathFactoryForSpecs(); _minimumParameter = new PKSimParameter { Name = Constants.Distribution.MINIMUM }.WithFormula(new ExplicitFormula("0")); _maximumParameter = new PKSimParameter { Name = Constants.Distribution.MAXIMUM }.WithFormula(new ExplicitFormula("1")); _percentileParameter = new PKSimParameter { Name = Constants.Distribution.PERCENTILE }.WithFormula(new ExplicitFormula("0.5")); sut.Add(_minimumParameter); sut.Add(_maximumParameter); sut.Add(_percentileParameter); _distributedFormula = new UniformDistributionFormula(); _distributedFormula.AddObjectPath(_pathFactory.CreateRelativeFormulaUsablePath(sut, _minimumParameter).WithAlias(Constants.Distribution.MINIMUM)); _distributedFormula.AddObjectPath(_pathFactory.CreateRelativeFormulaUsablePath(sut, _maximumParameter).WithAlias(Constants.Distribution.MAXIMUM)); sut.Formula = _distributedFormula; }
protected override void Context() { base.Context(); _distribuedParamterDTO = A.Fake <ParameterDTO>(); A.CallTo(() => _distribuedParamterDTO.Parameter).Returns(new PKSimDistributedParameter().WithFormula(new LogNormalDistributionFormula())); _nonDistibuedParameterDTO = A.Fake <ParameterDTO>(); A.CallTo(() => _nonDistibuedParameterDTO.Parameter).Returns(A.Fake <IParameter>()); _disrecteDistributedParameterDTO = A.Fake <ParameterDTO>(); var discretedDistributedParameter = new PKSimDistributedParameter().WithFormula(new DiscreteDistributionFormula()); A.CallTo(() => _disrecteDistributedParameterDTO.Parameter).Returns(discretedDistributedParameter); }
protected override void Context() { sut = new PKSimDistributedParameter(); _pathFactory = new ObjectPathFactoryForSpecs(); _meanParameter = new PKSimParameter { Name = Constants.Distribution.MEAN }.WithFormula(new ExplicitFormula("10")); _stdParameter = new PKSimParameter { Name = Constants.Distribution.DEVIATION }.WithFormula(new ExplicitFormula("10")); _percentileParameter = new PKSimParameter { Name = Constants.Distribution.PERCENTILE }.WithFormula(new ExplicitFormula("0.5")); sut.Add(_meanParameter); sut.Add(_stdParameter); sut.Add(_percentileParameter); sut.Formula = new NormalDistributionFormula(); sut.Formula.AddObjectPath(_pathFactory.CreateRelativeFormulaUsablePath(sut, _meanParameter)); sut.Formula.AddObjectPath(_pathFactory.CreateRelativeFormulaUsablePath(sut, _stdParameter)); }