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); }
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" }; }
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); }
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); }
protected override void Context() { base.Context(); _parameter = new DistributedParameter().WithDimension(_dimension); }