protected override void Context() { _dataFactory = A.Fake <IDataFactory>(); _dimensionRepository = A.Fake <IDimensionRepository>(); sut = new DataRepositoryFromResultsCreator(_dimensionRepository, new ObjectPathFactoryForSpecs(), _dataFactory); _simulation = new IndividualSimulation().WithName("S"); _simulation.Model = new OSPSuite.Core.Domain.Model(); var root = new Container().WithContainerType(ContainerType.Simulation).WithName(_simulation.Name); _simulation.Model.Root = root; var liver = new Container().WithName("LIVER"); liver.Add(new Observer().WithName("C")); var kidney = new Container().WithName("KIDNEY"); kidney.Add(new Observer().WithName("C")); root.Add(liver); root.Add(kidney); _simulationResults = new SimulationResults(); _simulation.Results = _simulationResults; _timeValues = new QuantityValues { QuantityPath = "Time", Values = new[] { 1f, 2f, 3f } }; _simulationResults.Time = _timeValues; _individualResults = new IndividualResults(); _individualResults.Add(new QuantityValues { QuantityPath = "LIVER|C", Time = _timeValues, Values = new[] { 10f, 20f, 30f } }); _individualResults.Add(new QuantityValues { QuantityPath = "KIDNEY|C", Time = _timeValues, Values = new[] { 11f, 22f, 33f } }); }
protected override void Context() { base.Context(); var quantityValue1 = new QuantityValues { QuantityPath = "Path1" }; var quantityValue2 = new QuantityValues { QuantityPath = "Path1" }; var individualResults1 = new IndividualResults { IndividualId = 1 }; individualResults1.Add(quantityValue1); var individualResults2 = new IndividualResults { IndividualId = 2 }; individualResults2.Add(quantityValue2); sut.Time = new QuantityValues { QuantityPath = "Time" }; individualResults1.Time = sut.Time; individualResults2.Time = sut.Time; sut.AddRange(new[] { individualResults1, individualResults2 }); }
protected override void Context() { base.Context(); _quantityValue1 = new QuantityValues { QuantityPath = "Path1" }; _quantityValue2 = new QuantityValues { QuantityPath = "Path1" }; _anotherQuantityValue = new QuantityValues { QuantityPath = "Path2" }; var individualResults1 = new IndividualResults { IndividualId = 3 }; individualResults1.Add(_quantityValue1); individualResults1.Add(_anotherQuantityValue); var individualResults2 = new IndividualResults { IndividualId = 2 }; individualResults2.Add(_quantityValue2); sut.Add(individualResults1); sut.Add(individualResults2); //reorder results before accessing them sut.ReorderByIndividualId(); }
protected override void Context() { base.Context(); _quantityPath = "Path"; sut.Results = new SimulationResults(); _qv0 = new QuantityValues { QuantityPath = _quantityPath }; var indResults0 = new IndividualResults { _qv0 }; indResults0.IndividualId = 0; _qv2 = new QuantityValues { QuantityPath = _quantityPath }; var indResults2 = new IndividualResults { _qv2 }; indResults2.IndividualId = 2; sut.Results.Add(indResults0); sut.Results.Add(indResults2); }
private QuantityValues quantityPathFor(IndividualResults individualResult, string path, Cache <QuantityValues, List <float> > cacheQuantitiesValues) { var quantity = individualResult.ValuesFor(path); if (quantity == null) { quantity = new QuantityValues { QuantityPath = path }; cacheQuantitiesValues.Add(quantity, new List <float>()); individualResult.Add(quantity); } return(quantity); }
private static QuantityValues createArray(string path, IDimension dimension, int numberOfPoints) { var quantityValues = new QuantityValues(); quantityValues.ColumnId = ShortGuid.NewGuid(); quantityValues.QuantityPath = path; var values = new float[numberOfPoints]; for (int i = 0; i < values.Length; i++) { values[i] = (float)(_random.NextDouble() * 100); } quantityValues.Values = values; return(quantityValues); }
protected override void Context() { var quantityValue1 = new QuantityValues { QuantityPath = "Path1" }; var quantityValue2 = new QuantityValues { QuantityPath = "Path2" }; sut = new IndividualResults(); sut.Time = new QuantityValues { QuantityPath = "Time" }; sut.Add(quantityValue1); sut.Add(quantityValue2); }
private DataColumn dataColumnFor(QuantityValues quantityValues, Simulation simulation, BaseGrid timeColumn) { var quantityAndPath = quantityAndPathFrom(simulation, quantityValues.PathList); var quantity = quantityAndPath.Item1; if (quantity == null) { return(null); } var dimension = quantity.Dimension ?? _dimensionRepository.MolarConcentration; var column = createDataColumn(dataColumnIdFrom(quantityValues), quantity.Name, quantityAndPath.Item2, quantity, dimension, timeColumn, simulation); column.Values = quantityValues.Values; return(column); }
protected override void Context() { base.Context(); _quantityValue1 = new QuantityValues { QuantityPath = "Path1" }; _quantityValue2 = new QuantityValues { QuantityPath = "Path2" }; var individualResults1 = new IndividualResults { IndividualId = 1 }; individualResults1.Add(_quantityValue1); individualResults1.Add(_quantityValue2); sut.Add(individualResults1); }
private void setSeriesValues(CurveData <TimeProfileXValue, TimeProfileYValue> series, DataRow row) { var statisticalAggregation = row[STATISTICAL_AGGREGATION].DowncastTo <StatisticalAggregation>(); var timeAndAllValues = (Tuple <QuantityValues, FloatMatrix>)row[TIME_AND_VALUES]; QuantityValues time = timeAndAllValues.Item1; FloatMatrix allValues = timeAndAllValues.Item2; var results = getResultsFor(statisticalAggregation, allValues); for (int i = 0; i < time.Length; i++) { var yValue = results[i]; if (yValue.IsValid) { series.Add(new TimeProfileXValue(time[i]), yValue); } } }
public static PivotResult CreateOutputResults(PopulationPivotAnalysis analysis, PopulationAnalysisCovariateField genderField, PopulationAnalysisOutputField outputField1, PopulationAnalysisOutputField outputField2, ObservedDataCollection observedDataCollection = null) { var populationSimulation = A.Fake <IPopulationDataCollector>(); var pivotResultCreator = new PivotResultCreator(new Pivoter(), new PopulationAnalysisFlatTableCreator()); //simulation with 4 time points var time = new QuantityValues { Values = new float[] { 1, 2, 3, 4 } }; var output11 = createValues(time, 10, 20, 30, 40); var output12 = createValues(time, 100, 200, 300, 400); var output13 = createValues(time, 1000, 2000, 3000, 4000); var output21 = createValues(time, 50, 60, 70, 80); var output22 = createValues(time, 500, 600, 700, 800); var output23 = createValues(time, 5000, 6000, 7000, 8000); A.CallTo(() => populationSimulation.NumberOfItems).Returns(3); A.CallTo(() => populationSimulation.AllCovariateValuesFor(CoreConstants.Covariates.GENDER)).Returns(new List <string> { "Male", "Female", "Male" }); A.CallTo(() => populationSimulation.AllOutputValuesFor(outputField1.QuantityPath)).Returns(new List <QuantityValues> { output11, output12, output13 }); A.CallTo(() => populationSimulation.AllOutputValuesFor(outputField2.QuantityPath)).Returns(new List <QuantityValues> { output21, output22, output23 }); A.CallTo(() => populationSimulation.AllSimulationNames).Returns(new List <string> { "Sim", "Sim", "Sim" }); if (observedDataCollection == null) { observedDataCollection = new ObservedDataCollection(); } return(pivotResultCreator.Create(analysis, populationSimulation, observedDataCollection, AggregationFunctions.QuantityAggregation)); }
protected override void Context() { base.Context(); _quantityValue1 = new QuantityValues { QuantityPath = "Path1", Values = new [] { 1f, 2f, 3f } }; _quantityValue2 = new QuantityValues { QuantityPath = "Path1", Values = new[] { 4f, 5f, 6f } }; _anotherQuantityValue = new QuantityValues { QuantityPath = "Path2", Values = new[] { 7f, 8f, 9f } }; _timeValues = new QuantityValues { QuantityPath = "Time", Values = new[] { 10f, 20f, 30f } }; var individualResults1 = new IndividualResults { IndividualId = 3 }; individualResults1.Add(_quantityValue1); individualResults1.Add(_anotherQuantityValue); var individualResults2 = new IndividualResults { IndividualId = 2 }; individualResults2.Add(_quantityValue2); sut.Add(individualResults1); sut.Add(individualResults2); sut.Time = _timeValues; //reorder results before accessing them sut.ReorderByIndividualId(); }
public void should_return_true_for_a_null_reference() { QuantityValues qv = null; qv.IsNull().ShouldBeTrue(); }
public void should_return_false_otherwise() { QuantityValues qv = new QuantityValues(); qv.IsNull().ShouldBeFalse(); }
private static QuantityValues createValues(QuantityValues time, params float[] values) { return(new QuantityValues { Values = values, Time = time }); }
public NullQuantityValues() { Time = new QuantityValues(); }
protected override void Context() { base.Context(); _pkParameter1 = new QuantityPKParameter { QuantityPath = "Output1", Name = "AUC" }; _pkParameter1.SetValue(0, 10); _pkParameter1.SetValue(1, 11); _pkParameter1.SetValue(2, 12); _pkParameter1.SetValue(4, _defaultPK1Value); _pkParameter2 = new QuantityPKParameter { QuantityPath = "Output2", Name = "Cmax" }; _pkParameter2.SetValue(0, 20); _pkParameter2.SetValue(1, 21); _pkParameter2.SetValue(2, 22); _pkParameter2.SetValue(3, 23); _pkParameter2.SetValue(4, _defaultPK2Value); _pkAnalyses.AddPKAnalysis(_pkParameter1); _pkAnalyses.AddPKAnalysis(_pkParameter2); _sensitivityParameter1 = A.Fake <SensitivityParameter>().WithName("SP1"); A.CallTo(() => _sensitivityParameter1.DefaultValue).Returns(10); A.CallTo(() => _sensitivityParameter1.ParameterSelection.Path).Returns("SP1-PATH"); _sensitivityParameter2 = A.Fake <SensitivityParameter>().WithName("SP2"); A.CallTo(() => _sensitivityParameter2.DefaultValue).Returns(20); A.CallTo(() => _sensitivityParameter2.ParameterSelection.Path).Returns("SP2-PATH"); _sensitivityAnalysis.AddSensitivityParameter(_sensitivityParameter1); _sensitivityAnalysis.AddSensitivityParameter(_sensitivityParameter2); var pv11 = new ParameterVariation(parameterName: _sensitivityParameter1.Name, parameterIndex: 0, variationId: 0, variation: new[] { 15d, 200d, 300d }); var pv12 = new ParameterVariation(parameterName: _sensitivityParameter1.Name, parameterIndex: 0, variationId: 1, variation: new[] { 20d, 200d, 300d }); var pv21 = new ParameterVariation(parameterName: _sensitivityParameter2.Name, parameterIndex: 1, variationId: 2, variation: new[] { 100d, 21d, 300d }); var pv22 = new ParameterVariation(parameterName: _sensitivityParameter2.Name, parameterIndex: 1, variationId: 3, variation: new[] { 100d, 31d, 300d }); _variationData.DefaultValues = new[] { 100d, 200d, 300d }; _variationData.AddVariation(pv11); _variationData.AddVariation(pv12); _variationData.AddVariation(pv21); _variationData.AddVariation(pv22); _timeValues = new QuantityValues { QuantityPath = "Time", Values = new[] { 1, 2, 3, 4, 5f } }; _resV11 = new IndividualResults { IndividualId = 0, Time = _timeValues }; _resV11.Add(new QuantityValues { QuantityPath = "Output1", Values = new[] { 111.1f, 211.1f, 311.1f, 411.1f, 511.1f } }); _resV11.Add(new QuantityValues { QuantityPath = "Output2", Values = new[] { 111.2f, 211.2f, 311.2f, 411.2f, 511.2f } }); _resV11.UpdateQuantityTimeReference(); _resV12 = new IndividualResults { IndividualId = 1, Time = _timeValues }; _resV12.Add(new QuantityValues { QuantityPath = "Output1", Values = new[] { 112.1f, 212.1f, 312.1f, 412.1f, 512.1f } }); _resV12.Add(new QuantityValues { QuantityPath = "Output2", Values = new[] { 112.2f, 212.2f, 312.2f, 412.2f, 512.2f } }); _resV12.UpdateQuantityTimeReference(); _resV21 = new IndividualResults { IndividualId = 2, Time = _timeValues }; _resV21.Add(new QuantityValues { QuantityPath = "Output1", Values = new[] { 121.1f, 221.1f, 321.1f, 421.1f, 521.1f } }); _resV21.Add(new QuantityValues { QuantityPath = "Output2", Values = new[] { 121.2f, 221.2f, 321.2f, 421.2f, 521.2f } }); _resV21.UpdateQuantityTimeReference(); _resV22 = new IndividualResults { IndividualId = 3, Time = _timeValues }; _resV22.Add(new QuantityValues { QuantityPath = "Output1", Values = new[] { 122.1f, 222.1f, 322.1f, 422.1f, 522.1f } }); _resV22.Add(new QuantityValues { QuantityPath = "Output2", Values = new[] { 122.2f, 222.2f, 322.2f, 422.2f, 522.2f } }); _resV22.UpdateQuantityTimeReference(); _simulationResults.Add(_resV11); _simulationResults.Add(_resV12); _simulationResults.Add(_resV21); _simulationResults.Add(_resV22); }
private string dataColumnIdFrom(QuantityValues quantityValues) { return(quantityValues.ColumnId ?? ShortGuid.NewGuid()); }
private OutputParameterSensitivity calculateOutputParameterSensitivity(QuantityValues outputValue, ParameterVariation variationData, string parameterPath) { return(new OutputParameterSensitivity(variationData.ParameterName, parameterPath, variationData.ParameterValue, outputValue.QuantityPath, outputValue.Values, outputValue.Time.Values)); }