Example #1
0
        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()));
        }
Example #5
0
 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;
 }
Example #7
0
 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);
        }
Example #9
0
 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>();
 }
Example #13
0
        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));
 }
Example #15
0
 protected override void Because()
 {
     _result = sut.CreateFor(_distributionDefList, _parameter, _originData);
 }
Example #16
0
 public DistributionFormulaTextBox(string caption, IDistributionFormula formula)
 {
     _caption = caption;
     _formula = formula;
 }