protected override void Context() { base.Context(); _valueOrigin1 = new ValueOrigin { Method = ValueOriginDeterminationMethods.Assumption }; _valueOrigin2 = new ValueOrigin { Method = ValueOriginDeterminationMethods.Other }; _distributionFormula = A.Fake <IDistributionFormula>(); _parameter = A.Fake <IDistributedParameter>(); _subParameter = A.Fake <IParameter>(); _originData = new OriginData { Age = new OriginDataParameter(40) }; _distributions.Add(new ParameterDistributionMetaData { DistributionType = CoreConstants.Distribution.Normal, Age = 20, ValueOrigin = _valueOrigin1 }); _distributions.Add(new ParameterDistributionMetaData { DistributionType = CoreConstants.Distribution.Normal, Age = 50, ValueOrigin = _valueOrigin2 }); A.CallTo(() => _formulaFactory.DistributionFor(A <IEnumerable <ParameterDistributionMetaData> > ._, _parameter, _originData)).Returns(_distributionFormula); A.CallTo(() => _objectBaseFactory.CreateDistributedParameter()).Returns(_parameter); A.CallTo(() => _objectBaseFactory.CreateParameter()).Returns(_subParameter); A.CallTo(() => _objectBaseFactory.Create <ExplicitFormula>()).Returns(new ExplicitFormula()); A.CallTo(() => _dimensionRepository.DimensionByName(A <string> .Ignored)).Returns(_dimension); }
protected override void Context() { base.Context(); _dp = CreateObject <DistributedParameter>().WithName("Diana").WithDimension(DimensionLength); ConstantFormula dpMeanFormula = CreateObject <ConstantFormula>().WithValue(3.0); IParameter dpMean = CreateObject <Parameter>().WithName("Mean").WithFormula(dpMeanFormula); ConstantFormula dpDeviationFormula = CreateObject <ConstantFormula>().WithValue(1.0); IParameter dpDeviation = CreateObject <Parameter>().WithName("Deviation").WithFormula(dpDeviationFormula); ConstantFormula dpPercentileFormula = CreateObject <ConstantFormula>().WithValue(0.5); IParameter dpPercentile = CreateObject <Parameter>().WithName("Percentile").WithFormula(dpPercentileFormula); _dp.Add(dpMean); _dp.Add(dpDeviation); _dp.Add(dpPercentile); IDistributionFormula noDiFo = CreateObject <NormalDistributionFormula>().WithDimension(DimensionLength); noDiFo.AddObjectPath(new FormulaUsablePath(new[] { Constants.Distribution.MEAN }) { Alias = Constants.Distribution.MEAN, Dimension = DimensionLength }); noDiFo.AddObjectPath(new FormulaUsablePath(new[] { Constants.Distribution.DEVIATION }) { Alias = Constants.Distribution.DEVIATION, Dimension = DimensionLength }); noDiFo.AddObjectPath(new FormulaUsablePath(new[] { Constants.Distribution.PERCENTILE }) { Alias = Constants.Distribution.PERCENTILE, Dimension = DimensionLength }); _dp.Formula = noDiFo; _dp.Formula.ResolveObjectPathsFor(_dp); _dp.RHSFormula = CreateObject <ConstantFormula>().WithDimension(DimensionLength).WithValue(23.4); }
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; }
public static DistributionType DistributionType(this IDistributionFormula formula) { if (formula.IsAnImplementationOf <NormalDistributionFormula>()) { return(DistributionTypes.Normal); } if (formula.IsAnImplementationOf <LogNormalDistributionFormula>()) { return(DistributionTypes.LogNormal); } if (formula.IsAnImplementationOf <UniformDistributionFormula>()) { return(DistributionTypes.Uniform); } if (formula.IsAnImplementationOf <DiscreteDistributionFormula>()) { return(DistributionTypes.Discrete); } if (formula.IsAnImplementationOf <UnknownDistributionFormula>()) { return(DistributionTypes.Unknown); } throw new ArgumentException(PKSimConstants.Error.DistributionUnknown(formula.ToString())); }
protected override void Context() { base.Context(); _formula = A.Fake <IDistributionFormula>(); A.CallTo(() => _distributionSpecFactory.IsSatisfiedBy(A <IEnumerable <ParameterDistributionMetaData> > ._)).Returns(true); A.CallTo(() => _distributionSpecFactory.CreateFor(A <IEnumerable <ParameterDistributionMetaData> > ._, _parameter, _originData)).Returns(_formula); }
public UpdateDistributedFormulaCommand(IDistributedParameter parameter, IDistributionFormula newFormula, string formulaType, IBuildingBlock buildingBlock) : base(buildingBlock) { _parameter = parameter; _parameterId = parameter.Id; _newFormula = newFormula; _oldFormula = _parameter.Formula; Description = AppConstants.Commands.UpdateDistributedFormulaCommandDescription(parameter.EntityPath(), formulaType); ObjectType = ObjectTypes.DistributedParameter; CommandType = Command.CommandTypeEdit; }
protected override void Context() { _buildingBlock = A.Fake <IBuildingBlock>(); _parameter = new DistributedParameter(); _parameter.Formula = new DiscreteDistributionFormula(); _newFormula = new LogNormalDistributionFormula(); _formulaType = "XX"; sut = new UpdateDistributedFormulaCommand(_parameter, _newFormula, _formulaType, _buildingBlock); _context = A.Fake <IMoBiContext>(); }
private void addObjectPathToDistributionFormula(IDistributionFormula distribution, IDistributedParameter distributedParameter, IParameter usedParameter, string alias) { var usedParameterPath = _objectPathFactory.CreateRelativeFormulaUsablePath(distributedParameter, usedParameter); usedParameterPath.Alias = alias; usedParameterPath.Dimension = usedParameter.Dimension; distribution.AddObjectPath(usedParameterPath); }
protected override void Context() { base.Context(); _distributionFormula = A.Fake <IDistributionFormula>(); _parameter = A.Fake <IDistributedParameter>(); _subParameter = A.Fake <IParameter>(); _originData = new OriginData(); _distributions.Add(new ParameterDistributionMetaData { DistributionType = CoreConstants.Distribution.Normal }); A.CallTo(() => _formulaFactory.DistributionFor(A <IEnumerable <ParameterDistributionMetaData> > ._, _parameter, _originData)).Returns(_distributionFormula); A.CallTo(() => _objectBaseFactory.CreateDistributedParameter()).Returns(_parameter); A.CallTo(() => _objectBaseFactory.CreateParameter()).Returns(_subParameter); A.CallTo(() => _objectBaseFactory.Create <ExplicitFormula>()).Returns(new ExplicitFormula()); A.CallTo(() => _dimensionRepository.DimensionByName(A <string> .Ignored)).Returns(_dimension); }
protected override void Because() { _resultingDistribution = sut.CreateFor(_normalDistributions, _parameter, _originData); }
protected override void ClearReferences() { base.ClearReferences(); _parameter = null; _newFormula = null; }
protected override void Context() { _normalDistributionFormula = A.Fake <NormalDistributionFormula>(); _logNormalDistributionFormula = A.Fake <LogNormalDistributionFormula>(); _uniformDistributionFormula = A.Fake <UniformDistributionFormula>(); }
public IMoBiCommand UpdateDistributedFormula(IDistributedParameter distributedParameter, IDistributionFormula newDistributedFormula, string formulaType, IBuildingBlock buildingBlock) { _context.Register(newDistributedFormula); _context.Register(distributedParameter.Formula); var command = new UpdateDistributedFormulaCommand(distributedParameter, newDistributedFormula, formulaType, buildingBlock).Run(_context); return(withUpdatedDefaultStateAndValueOrigin(command, newDistributedFormula, buildingBlock)); }
private void updateDistributedFormula(IDistributionFormula newFormula) { AddCommand(_formulaTask.UpdateDistributedFormula(_distributedParameter, newFormula, DisplayFormulaTypeFor(_distributedParameterDTO.FormulaType), BuildingBlock)); }
protected override void Because() { _result = sut.CreateFor(_distributionDefList, _parameter, _originData); }
public DistributionFormulaTextBox(string caption, IDistributionFormula formula) { _caption = caption; _formula = formula; }