protected override void Context()
        {
            base.Context();
            var distributedFormulaFactory = IoC.Resolve <IDistributionFormulaFactory>();
            var c1 = new Container {
                Name = "O"
            };
            var p11 = new DistributedParameter()
            {
                Name = "P1"
            }.WithParentContainer(c1);
            var meanP11      = new Parameter().WithFormula(new ConstantFormula(1)).WithName(Constants.Distribution.MEAN).WithParentContainer(p11);
            var devP11       = new Parameter().WithFormula(new ConstantFormula(2)).WithName(Constants.Distribution.DEVIATION).WithParentContainer(p11);
            var percentile11 = new Parameter().WithFormula(new ConstantFormula(0.5)).WithName(Constants.Distribution.PERCENTILE).WithParentContainer(p11);

            p11.Formula = distributedFormulaFactory.CreateNormalDistributionFormulaFor(p11, meanP11, devP11);

            var c2 = new Container {
                Name = "O"
            };
            var p21 = new DistributedParameter()
            {
                Name = "P1"
            }.WithParentContainer(c2);
            var meanP21      = new Parameter().WithFormula(new ConstantFormula(1)).WithName(Constants.Distribution.MEAN).WithParentContainer(p21);
            var devP21       = new Parameter().WithFormula(new ConstantFormula(2)).WithName(Constants.Distribution.GEOMETRIC_DEVIATION).WithParentContainer(p21);
            var percentile21 = new Parameter().WithFormula(new ConstantFormula(0.5)).WithName(Constants.Distribution.PERCENTILE).WithParentContainer(p21);

            p21.Formula = distributedFormulaFactory.CreateLogNormalDistributionFormulaFor(p21, meanP21, devP21);

            _object1 = c1;
            _object2 = c2;
        }
        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);
        }
        public static IDistributedParameter NormalDistributedParameter(double defaultMean = 0, double defaultDeviation = 1, double defaultPercentile = 0.5, bool isDefault = false, bool distributionParameterIsDefault = true)
        {
            var parameter = new DistributedParameter().WithId("P1");

            parameter.IsDefault = isDefault;
            var pathFactory = new ObjectPathFactoryForSpecs();
            var meanParameter = new Parameter {
                Name = Constants.Distribution.MEAN
            }.WithFormula(new ConstantFormula(defaultMean).WithId("MeanFormula")).WithId("Mean");

            meanParameter.IsDefault = distributionParameterIsDefault;
            addDimensionTo(meanParameter);
            var stdParameter = new Parameter {
                Name = Constants.Distribution.DEVIATION
            }.WithFormula(new ConstantFormula(defaultDeviation).WithId("DeviationFormula")).WithId("Deviation");

            stdParameter.IsDefault = distributionParameterIsDefault;
            addDimensionTo(stdParameter);
            var percentileParameter = new Parameter {
                Name = Constants.Distribution.PERCENTILE
            }.WithFormula(new ConstantFormula(defaultPercentile).WithId("PercentileFormula")).WithId("Percentile");

            percentileParameter.IsDefault = distributionParameterIsDefault;
            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);
        }
Esempio n. 4
0
        protected override void Context()
        {
            base.Context();
            _container = new Container();
            var childContainer1      = new Container().WithId("childContainer1").WithName("childContainer1");
            var childChildContainer1 = new Container().WithId("childChildContainer1").WithName("childChildContainer1");

            childChildContainer1.Add(new Parameter().WithId("parameterInChildChildContainer1").WithName("parameterInChildChildContainer1"));
            var childContainer2 = new Container().WithId("childContainer2").WithName("childContainer2");

            childContainer2.Add(new Parameter().WithId("parameterInchildContainer2").WithName("parameterInchildContainer2"));
            var childContainer3      = new Container().WithId("_childContainer3").WithName("_childContainer3");
            var distrubutedParameter = new DistributedParameter().WithId("DistributedParameter").WithName("DistributedParameter");

            childContainer1.Add(childChildContainer1);
            _container.Add(childContainer1);
            _container.Add(childContainer2);
            _container.Add(childContainer3);
            childChildContainer1.Add(distrubutedParameter);
            _availableInfo = new RepresentationInfo {
                DisplayName = "tralal", IconName = "Stop"
            };
            A.CallTo(() => _representationInfoRepository.InfoFor(_container)).Returns(_availableInfo);
            A.CallTo(() => _representationInfoRepository.InfoFor(childChildContainer1)).Returns(new RepresentationInfo());
            A.CallTo(() => _representationInfoRepository.InfoFor(childContainer2)).Returns(new RepresentationInfo());
            A.CallTo(() => _representationInfoRepository.InfoFor(childContainer1)).Returns(new RepresentationInfo());
            A.CallTo(() => _representationInfoRepository.InfoFor(childContainer3)).Returns(new RepresentationInfo());
            A.CallTo(() => _representationInfoRepository.InfoFor(distrubutedParameter)).Returns(new RepresentationInfo());
        }
        protected override void Context()
        {
            base.Context();

            _rootContainer = new ARootContainer().WithName("ROOT");
            var organism  = CreateContainer(_rootContainer, "Organism", ContainerType.Organism);
            var liver     = CreateContainer(organism, "Liver");
            var parameter = new DistributedParameter().WithName("Volume").WithParentContainer(liver);

            _path = new List <string> {
                "Organism", "Liver", "Volume"
            };
        }
Esempio n. 6
0
        protected override void Context()
        {
            var dim            = A.Fake <IDimension>();
            var meanParam      = new Parameter().WithName("Mean_xy").WithDimension(dim).WithValue(2.2);
            var deviationParam = new Parameter().WithName("Std_xy").WithDimension(dim).WithValue(3.5);

            _distributedParam = new DistributedParameter().WithName("P1").WithDimension(dim);
            _distributedParam.Add(meanParam);
            _distributedParam.Add(deviationParam);
            var noDimension      = A.Fake <IDimension>();
            var dimensionFactory = A.Fake <IDimensionFactory>();

            A.CallTo(() => dimensionFactory.NoDimension).Returns(noDimension);

            sut = new DistributionFormulaFactory(new ObjectPathFactory(new AliasCreator()), new ObjectBaseFactory(A.Fake <IContainer>(), dimensionFactory, new IdGenerator(), A.Fake <ICreationMetaDataFactory>())).CreateNormalDistributionFormulaFor(_distributedParam, meanParam, deviationParam);
        }
Esempio n. 7
0
        protected override void Context()
        {
            sut = new DistributedParameter();
            var pathFactory = new ObjectPathFactory(new AliasCreator());

            _meanParameter = new Parameter {
                Name = Constants.Distribution.MEAN
            }.WithFormula(new ExplicitFormula("0"));
            _stdParameter = new Parameter {
                Name = Constants.Distribution.DEVIATION
            }.WithFormula(new ExplicitFormula("1"));
            _percentileParameter = new Parameter {
                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));
            sut.Formula.ResolveObjectPathsFor(sut);
        }
Esempio n. 8
0
 protected override void Context()
 {
     base.Context();
     _parameter = new DistributedParameter().WithDimension(_dimension);
 }