public static PivotResult CreatePivotResult(PopulationPivotAnalysis pivotAnalysis, Aggregate aggregate, PopulationAnalysisCovariateField genderFielder, PopulationAnalysisCovariateField raceField, PopulationAnalysisParameterField bmiField, PopulationAnalysisPKParameterField cmaxField) { var pivotResultCreator = new PivotResultCreator(new Pivoter(), new PopulationAnalysisFlatTableCreator()); var populationSimulation = A.Fake <IPopulationDataCollector>(); A.CallTo(() => populationSimulation.NumberOfItems).Returns(3); //thin, thin, big A.CallTo(() => populationSimulation.AllValuesFor(bmiField.ParameterPath)).Returns(new List <double> { 10, 20, 30 }); A.CallTo(() => populationSimulation.AllCovariateValuesFor(genderFielder.Covariate)).Returns(new List <string> { "Male", "Female", "Male" }); A.CallTo(() => populationSimulation.AllCovariateValuesFor(raceField.Covariate)).Returns(new List <string> { "US", "EU", "EU" }); A.CallTo(() => populationSimulation.AllPKParameterValuesFor(cmaxField.QuantityPath, cmaxField.PKParameter)).Returns(new List <double> { 900, 600, 1000 }); A.CallTo(() => populationSimulation.AllSimulationNames).Returns(new List <string> { "Sim", "Sim", "Sim" }); return(pivotResultCreator.Create(pivotAnalysis, populationSimulation, new ObservedDataCollection(), aggregate)); }
private QuantityPKParameter pkParameterFrom(PopulationAnalysisPKParameterField populationAnalysisPKParameterField) { if (populationAnalysisPKParameterField == null) { return(null); } return(PopulationDataCollector.PKParameterFor(populationAnalysisPKParameterField.QuantityPath, populationAnalysisPKParameterField.PKParameter)); }
protected override void Context() { base.Context(); _pkParameter = new QuantityPKParameter(); _populationPivotAnalysis = new PopulationPivotAnalysis(); _populationDataCollector = A.Fake <IPopulationDataCollector>(); _field = A.Fake <PopulationAnalysisPKParameterField>(); sut.StartAnalysis(_populationDataCollector, _populationPivotAnalysis); }
protected override void Context() { base.Context(); _displayUnit = A.Fake <Unit>(); _mergedDimension = A.Fake <IDimension>(); _pkParameterDimension = A.Fake <IDimension>(); _pkParameter = new QuantityPKParameter().WithName("AUC").WithDimension(_pkParameterDimension); _pkParameterField = new PopulationAnalysisPKParameterField().WithDimension(_pkParameterDimension); _pkParameterField.DisplayUnit = _displayUnit; A.CallTo(() => _dimensionRepository.MergedDimensionFor(A <NumericFieldContext> ._)) .Invokes(x => _numericFieldContect = x.GetArgument <NumericFieldContext>(0)) .Returns(_mergedDimension); }
public override void GlobalContext() { base.GlobalContext(); _populationPivotAnalysis = new PopulationPivotAnalysis(); _pkParameterField = new PopulationAnalysisPKParameterField().WithName("PKParam"); _pkParameterField.PKParameter = "AUC"; _pkParameterField.QuantityPath = "A|B|C"; _parameterField = new PopulationAnalysisParameterField().WithName("Param"); _parameterField.ParameterPath = "A|B|C|D"; _populationPivotAnalysis.Add(_pkParameterField); _populationPivotAnalysis.Add(_parameterField); _populationPivotAnalysis.SetPosition(_parameterField, PivotArea.DataArea, 1); _populationPivotAnalysis.SetPosition(_pkParameterField, PivotArea.RowArea, 2); }
protected override async Task Context() { await base.Context(); _populationDataCollector = A.Fake <IPopulationDataCollector>(); _templatePopulationAnalysis = new PopulationPivotAnalysis(); _pkParameterFound = new PopulationAnalysisPKParameterField { QuantityType = QuantityType.Drug, PKParameter = "AUC", QuantityPath = "P1" }; _quantityNotFound = new PopulationAnalysisPKParameterField { QuantityType = QuantityType.Drug, PKParameter = "AUC", QuantityPath = "P2" }; _pkParameterNotFound = new PopulationAnalysisPKParameterField { QuantityType = QuantityType.Metabolite, PKParameter = "AUC", QuantityPath = "P3" }; _templatePopulationAnalysis.Add(_pkParameterFound); _templatePopulationAnalysis.Add(_quantityNotFound); _templatePopulationAnalysis.Add(_pkParameterNotFound); _cache = new PathCacheForSpecs <IQuantity> { { "P1", new MoleculeAmount { QuantityType = QuantityType.Drug } }, { "Q2", new MoleculeAmount { QuantityType = QuantityType.Drug } }, { "P3", new MoleculeAmount { QuantityType = QuantityType.Metabolite } } }; A.CallTo(() => _populationDataCollector.HasPKParameterFor("P1", "AUC")).Returns(true); A.CallTo(() => _populationDataCollector.HasPKParameterFor("P2", "AUC")).Returns(false); A.CallTo(() => _populationDataCollector.HasPKParameterFor("P3", "AUC")).Returns(false); A.CallTo(_templateTask).WithReturnType <Task <PopulationAnalysis> >().Returns(_templatePopulationAnalysis); A.CallTo(() => _entitiesInContainerRetriever.OutputsFrom(_populationDataCollector)).Returns(_cache); A.CallTo(_dialogCreator).WithReturnType <ViewResult>().Returns(ViewResult.Yes); A.CallTo(() => _keyPathMapper.MapFrom(_pkParameterFound.QuantityPath, QuantityType.Drug, true)).Returns(new KeyPathMap("P1")); A.CallTo(() => _keyPathMapper.MapFrom(_quantityNotFound.QuantityPath, QuantityType.Drug, true)).Returns(new KeyPathMap("QUANTITY NOT FOUND")); A.CallTo(() => _keyPathMapper.MapFrom(_pkParameterNotFound.QuantityPath, QuantityType.Metabolite, true)).Returns(new KeyPathMap("P3")); }
protected override void Context() { sut = new PopulationPivotAnalysis(); _pkField1 = new PopulationAnalysisPKParameterField { PKParameter = "P1" }.WithName("Field1"); _pkField2 = new PopulationAnalysisPKParameterField { PKParameter = "P2" }.WithName("Field2"); _paraField1 = new PopulationAnalysisParameterField { ParameterPath = "Path3" }.WithName("Field3"); _paraField2 = new PopulationAnalysisParameterField { ParameterPath = "Path4" }.WithName("Field4"); _derivedField1 = A.Fake <PopulationAnalysisDerivedField>().WithName("Field5"); sut.Add(_paraField1); sut.Add(_paraField2); sut.Add(_pkField1); sut.Add(_pkField2); sut.Add(_derivedField1); }
private void mapPKParameterFieldToModel(PopulationAnalysisField snapshot, PopulationAnalysisPKParameterField field) { mapQuantityFieldToModel(snapshot, field); field.PKParameter = snapshot.PKParameter; }
public void Plot(IPopulationDataCollector populationDataCollector, QuantityPKParameter pkParameter, PopulationAnalysisPKParameterField pkParameterField) { plotContinousData(populationDataCollector, pkParameter, pkParameterField, x => x.Plot); }
protected override Task Context() { _groupingDefinitionMapper = A.Fake <GroupingDefinitionMapper>(); _dimension = DomainHelperForSpecs.ConcentrationDimensionForSpecs(); _mergedDimension = DomainHelperForSpecs.TimeDimensionForSpecs(); _unit = _mergedDimension.Unit("h"); // this unit is defined in the merged dimension but not in the field dimension _dimensionRepository = A.Fake <IDimensionRepository>(); sut = new PopulationAnalysisFieldMapper(_groupingDefinitionMapper, _dimensionRepository); _groupingItem1 = new GroupingItem(); _parameterField = new PopulationAnalysisParameterField { Name = "P", ParameterPath = "A|B", Scaling = Scalings.Linear, Dimension = _dimension, DisplayUnit = _unit }; _pkParameterField = new PopulationAnalysisPKParameterField { Name = "PK", Dimension = _dimension, DisplayUnit = _unit, PKParameter = "AUC", QuantityPath = "A|B|C", QuantityType = QuantityType.Observer | QuantityType.Drug }; _outputField = new PopulationAnalysisOutputField { Name = "Output", Dimension = _dimension, DisplayUnit = _unit, QuantityType = QuantityType.BaseGrid, QuantityPath = "A|B|C", Color = Color.AntiqueWhite }; _groupingDefinition = new FixedLimitsGroupingDefinition("AA"); _groupingField = new PopulationAnalysisGroupingField(_groupingDefinition) { Name = "Grouping", }; _covariateField = new PopulationAnalysisCovariateField { Name = "Gender", Covariate = "Gender", }; _covariateField.AddGroupingItem(_groupingItem1); _snapshotGroupingDefinition = new Snapshots.GroupingDefinition(); A.CallTo(() => _groupingDefinitionMapper.MapToSnapshot(_groupingDefinition)).Returns(_snapshotGroupingDefinition); A.CallTo(() => _dimensionRepository.DimensionByName(_dimension.Name)).Returns(_dimension); A.CallTo(() => _dimensionRepository.MergedDimensionFor(A <INumericValueField> ._)).Returns(_mergedDimension); return(_completed); }
protected override async Task Because() { _newPKParameterField = await sut.MapToModel(_snapshot, new SnapshotContext()) as PopulationAnalysisPKParameterField; }
protected override void Because() { _result = sut.CreateFor(_pkParameter, QuantityType.Metabolite, "quantityPath"); }
public PKParameterFieldSelectedEventArgs(QuantityPKParameter pkParameter, PopulationAnalysisPKParameterField pkParameterField) : base(pkParameter) { PKParameterField = pkParameterField; }
private void drawDistributionFor(QuantityPKParameter pkParameter, PopulationAnalysisPKParameterField populationAnalysisPKParameterField) { _populationAnalysisFieldDistributionPresenter.Plot(_populationDataCollector, pkParameter, populationAnalysisPKParameterField); }
public override void GlobalContext() { base.GlobalContext(); _populationAnalysis = new PopulationPivotAnalysis(); _pkParameterField = new PopulationAnalysisPKParameterField().WithName("PKParam"); _pkParameterField.PKParameter = "AUC"; _pkParameterField.QuantityPath = "A|B|C"; _pkParameterField.QuantityType = QuantityType.Drug; _pkParameterField.Dimension = _dimensionRepository.MassConcentration; _parameterField = new PopulationAnalysisParameterField().WithName("Param"); _parameterField.ParameterPath = "A|B|C|D"; _parameterField.Dimension = _dimensionRepository.Auc; _outputField = new PopulationAnalysisOutputField().WithName("Output"); _outputField.QuantityPath = "A|B|C"; _outputField.Dimension = _dimensionRepository.Auc; _outputField.Color = Color.Aquamarine; _genderField = new PopulationAnalysisCovariateField { Covariate = "Gender" }.WithName("Gender"); var numberOfBinsGroupingDefinition = new NumberOfBinsGroupingDefinition(_parameterField.Name) { NumberOfBins = 2 }; numberOfBinsGroupingDefinition.NamingPattern = "AA"; numberOfBinsGroupingDefinition.StartColor = Color.AliceBlue; numberOfBinsGroupingDefinition.EndColor = Color.RoyalBlue; numberOfBinsGroupingDefinition.Strategy = LabelGenerationStrategies.Roman; numberOfBinsGroupingDefinition.AddItems(PopulationAnalysisHelperForSpecs.BMIGroups); _numberOfBinsDerivedField = new PopulationAnalysisGroupingField(numberOfBinsGroupingDefinition).WithName("NumberOfBins"); var fixedLimitsGroupingDefinition = new FixedLimitsGroupingDefinition(_pkParameterField.Name); fixedLimitsGroupingDefinition.AddItems(PopulationAnalysisHelperForSpecs.AgeGroups); _fixedLimitsGroupingDefinitionField = new PopulationAnalysisGroupingField(fixedLimitsGroupingDefinition) .WithName("FixedLimits"); fixedLimitsGroupingDefinition.SetLimits(new[] { 1d, 2d }.OrderBy(x => x)); _derivedFieldWithFixedExpression = new PopulationAnalysisExpressionField("A+B") .WithName("FixedExpression"); var valueMappingGroupingDefinition = new ValueMappingGroupingDefinition(_genderField.Name); valueMappingGroupingDefinition.AddValueLabel("Male", PopulationAnalysisHelperForSpecs.GroupingItemMale); valueMappingGroupingDefinition.AddValueLabel("Female", PopulationAnalysisHelperForSpecs.GroupingItemFemale); var valueMappingGroupingDefinitionField = new PopulationAnalysisGroupingField(valueMappingGroupingDefinition).WithName("ValueMapping"); _populationAnalysis.Add(_pkParameterField); _populationAnalysis.Add(_parameterField); _populationAnalysis.Add(_genderField); _populationAnalysis.Add(_numberOfBinsDerivedField); _populationAnalysis.Add(_fixedLimitsGroupingDefinitionField); _populationAnalysis.Add(_derivedFieldWithFixedExpression); _populationAnalysis.Add(valueMappingGroupingDefinitionField); _populationAnalysis.Add(_outputField); }
protected override void Context() { base.Context(); _populationSimulation = new PopulationSimulation { SimulationSettings = new SimulationSettings { OutputSelections = new OutputSelections() } }; var liverCellsDrugConc = "Liver|Cells|Drug|Conc"; _populationSimulation.OutputSelections.AddOutput(new QuantitySelection(liverCellsDrugConc, QuantityType.Drug)); _populationSimulation.OutputSelections.AddOutput(new QuantitySelection("Liver|Plasma|Drug|Conc", QuantityType.Drug)); _populationStatisticalAnalysis = new PopulationStatisticalAnalysis(); _timeProfileAnalysis = new TimeProfileAnalysisChart { PopulationAnalysis = _populationStatisticalAnalysis }; _outputField1 = new PopulationAnalysisOutputField { QuantityPath = "Kidney|Cell|Drug|Conc", Name = "outputField1" }; _derivedField1 = new PopulationAnalysisGroupingField(new NumberOfBinsGroupingDefinition(_outputField1.Name)) { Name = "derivedField1" }; _outputField2 = new PopulationAnalysisOutputField { QuantityPath = liverCellsDrugConc, Name = "outputField2" }; _derivedField2 = new PopulationAnalysisGroupingField(new NumberOfBinsGroupingDefinition(_outputField2.Name)) { Name = "derivedField2" }; _pkField1 = new PopulationAnalysisPKParameterField { QuantityPath = "Kidney|Cell|Drug|Conc", Name = "pkField1" }; _pkDerivedField1 = new PopulationAnalysisGroupingField(new NumberOfBinsGroupingDefinition(_pkField1.Name)) { Name = "pkDerivedField1" }; _pkField2 = new PopulationAnalysisPKParameterField { QuantityPath = liverCellsDrugConc, Name = "pkField2" }; _pkDerivedField2 = new PopulationAnalysisGroupingField(new NumberOfBinsGroupingDefinition(_pkField2.Name)) { Name = "pkDerivedField2" }; _populationStatisticalAnalysis.Add(_outputField1); _populationStatisticalAnalysis.Add(_outputField2); _populationStatisticalAnalysis.Add(_derivedField1); _populationStatisticalAnalysis.Add(_derivedField2); _populationStatisticalAnalysis.Add(_pkField1); _populationStatisticalAnalysis.Add(_pkField2); _populationStatisticalAnalysis.Add(_pkDerivedField1); _populationStatisticalAnalysis.Add(_pkDerivedField2); _populationSimulation.AddAnalysis(_timeProfileAnalysis); }