protected override void Context() { base.Context(); _curve = new Curve(); _curve.SetxData(A.Fake <DataColumn>(), A.Fake <IDimensionFactory>()); _chartEditorPresenter = A.Fake <IChartEditorPresenter>(); _simulations = A.Fake <IReadOnlyCollection <IndividualSimulation> >(); var individualSimulation = new IndividualSimulation { SimulationSettings = new SimulationSettings() }; _simulations = new List <IndividualSimulation> { individualSimulation }; var simulationConcentrationChart = new SimulationTimeProfileChart(); individualSimulation.AddAnalysis(simulationConcentrationChart); var dataRepository = generateDataRepository(); individualSimulation.AddUsedObservedData(dataRepository); simulationConcentrationChart.AddObservedData(dataRepository); simulationConcentrationChart.AddCurve(_curve); A.CallTo(() => _projectRetriever.CurrentProject.ObservedDataBy(dataRepository.Id)).Returns(dataRepository); _chartEditorPresenter.Edit(new CurveChart()); }
protected override void Context() { base.Context(); _simulation = new IndividualSimulation(); _chart = new SimulationTimeProfileChart(); A.CallTo(() => _chartFactory.CreateChartFor(_simulation)).Returns(_chart); _chart1 = new SimulationTimeProfileChart { Name = "Results 1" }; _chart2 = new SimulationTimeProfileChart { Name = "My Results" }; _simulation.AddAnalysis(_chart1); _simulation.AddAnalysis(_chart2); A.CallTo(_containerTask).WithReturnType <string>().Returns("Results 3"); A.CallTo(() => _executionContext.PublishEvent(A <SimulationAnalysisCreatedEvent> .Ignored)).Invokes( x => _plotEvent = x.GetArgument <SimulationAnalysisCreatedEvent>(0)); }
private void cloneIndividualSimulationResults(IndividualSimulation sourceSimulation, IndividualSimulation targetSimulation) { if (sourceSimulation.DataRepository.IsNull()) { return; } //Step 1 - update the results targetSimulation.Results = _simulationResultsCreator.CreateResultsFrom(_cloner.Clone(sourceSimulation.DataRepository)); //Step 2 - update the data repository based on the results created above targetSimulation.DataRepository = _dataRepositoryCreator.CreateResultsFor(targetSimulation); sourceSimulation.SimulationCharts.Each(c => targetSimulation.AddAnalysis(_chartTemplatingTask.CloneChart(c, targetSimulation))); }
protected override void Context() { base.Context(); _chart = A.Fake <ISimulationAnalysis>(); _simulationToConfigure = new IndividualSimulation().WithId("oldSim"); _newSimulation = new IndividualSimulation().WithId("newSim"); _simulationToConfigure.AddUsedBuildingBlock(new UsedBuildingBlock("C1", PKSimBuildingBlockType.Compound) { BuildingBlock = new Compound().WithName("C1") }); _newSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("C2", PKSimBuildingBlockType.Compound) { BuildingBlock = new Compound().WithName("C2") }); _oldResults = new DataRepository("oldResult"); _simulationToConfigure.DataRepository = _oldResults; _simulationToConfigure.ResultsVersion = _resultVersion; _simulationToConfigure.AddAnalysis(_chart); }
public void Visit(IndividualSimulation individualSimulation) { convertSimulation(individualSimulation); if (!_simulationChartElementCache.Any()) { return; } //load results is required so that charts can be loaded on the fly _simulationResultsLoader.LoadResultsFor(individualSimulation); var serializerRepository = _container.Resolve <IPKSimXmlSerializerRepository>(); var serializer = serializerRepository.SerializerFor <SimulationTimeProfileChart>(); using (var serializationContext = SerializationTransaction.Create(dimensionFactory: _dimensionFactory)) { var context = serializationContext; serializationContext.AddRepository(individualSimulation.DataRepository); _simulationChartElementCache.Each(e => individualSimulation.AddAnalysis(serializer.Deserialize <SimulationTimeProfileChart>(e, context))); } _simulationChartElementCache.Clear(); }
protected override Task Context() { _solverSettingsMapper = A.Fake <SolverSettingsMapper>(); _outputSchemaMapper = A.Fake <OutputSchemaMapper>(); _outputSelectionMapper = A.Fake <OutputSelectionsMapper>(); _parameterMapper = A.Fake <ParameterMapper>(); _compoundPropertiesMapper = A.Fake <CompoundPropertiesMapper>(); _advancedParameterMapper = A.Fake <AdvancedParameterMapper>(); _eventMappingMapper = A.Fake <EventMappingMapper>(); _observerSetMappingMapper = A.Fake <ObserverSetMappingMapper>(); _curveChartMapper = A.Fake <SimulationTimeProfileChartMapper>(); _processMappingMapper = A.Fake <ProcessMappingMapper>(); _simulationFactory = A.Fake <ISimulationFactory>(); _executionContext = A.Fake <IExecutionContext>(); _simulationModelCreator = A.Fake <ISimulationModelCreator>(); _simulationBuildingBlockUpdater = A.Fake <ISimulationBuildingBlockUpdater>(); _modelPropertiesTask = A.Fake <IModelPropertiesTask>(); _simulationRunner = A.Fake <ISimulationRunner>(); _populationAnalysisChartMapper = A.Fake <PopulationAnalysisChartMapper>(); _simulationParameterOriginIdUpdater = A.Fake <ISimulationParameterOriginIdUpdater>(); _logger = A.Fake <ILogger>(); _containerTask = A.Fake <IContainerTask>(); _entityPathResolver = A.Fake <IEntityPathResolver>(); sut = new SimulationMapper(_solverSettingsMapper, _outputSchemaMapper, _outputSelectionMapper, _compoundPropertiesMapper, _parameterMapper, _advancedParameterMapper, _eventMappingMapper, _observerSetMappingMapper, _curveChartMapper, _populationAnalysisChartMapper, _processMappingMapper, _simulationFactory, _executionContext, _simulationModelCreator, _simulationBuildingBlockUpdater, _modelPropertiesTask, _simulationRunner, _simulationParameterOriginIdUpdater, _logger, _containerTask, _entityPathResolver ); _project = new PKSimProject(); _individual = new Individual { Name = "IND", Id = "IND" }; _compound = new Compound { Name = "COMP", Id = "COMP" }; _observerSet = new ObserverSet { Name = "OBS_SET", Id = "OBS_SET" }; _protocol = new SimpleProtocol { Name = "PROT", Id = "PROT" }; _inductionProcess = new InductionProcess().WithName("Interaction process"); _compound.AddProcess(_inductionProcess); _event = new PKSimEvent { Name = "Event" }; _population = new RandomPopulation() { Name = "POP" }; _observedData = new DataRepository("OBS_ID").WithName("OBS"); _project.AddBuildingBlock(_individual); _project.AddBuildingBlock(_compound); _project.AddBuildingBlock(_event); _project.AddBuildingBlock(_population); _project.AddBuildingBlock(_observerSet); _project.AddObservedData(_observedData); _simulationProperties = new SimulationProperties { ModelProperties = new ModelProperties { ModelConfiguration = new ModelConfiguration { ModelName = "4Comp" } } }; _interactionSelection = new InteractionSelection { ProcessName = _inductionProcess.Name }; _noInteractionSelection = new InteractionSelection { MoleculeName = "CYP2D6" }; _simulationProperties.InteractionProperties.AddInteraction(_interactionSelection); _simulationProperties.InteractionProperties.AddInteraction(_noInteractionSelection); _settings = new SimulationSettings(); _rootContainer = new Container().WithName("Sim"); _model = new OSPSuite.Core.Domain.Model { Root = _rootContainer }; _individualSimulation = new IndividualSimulation { Name = "S1", Properties = _simulationProperties, SimulationSettings = _settings, Description = "Simulation Description", Model = _model }; _simulationTimeProfile = new SimulationTimeProfileChart(); _snapshotSimulationTimeProfile = new CurveChart(); _individualSimulation.AddAnalysis(_simulationTimeProfile); A.CallTo(() => _curveChartMapper.MapToSnapshot(_simulationTimeProfile)).Returns(_snapshotSimulationTimeProfile); _populationSimulation = new PopulationSimulation { Properties = _simulationProperties, SimulationSettings = _settings, Model = _model }; _advancedParameterCollection = new AdvancedParameterCollection(); _populationSimulationAnalysisChart = new BoxWhiskerAnalysisChart(); _populationSimulation.SetAdvancedParameters(_advancedParameterCollection); _populationSimulation.AddAnalysis(_populationSimulationAnalysisChart); _populationSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("IndTemplateId", PKSimBuildingBlockType.Individual) { BuildingBlock = _individual }); _snapshotPopulationAnalysisChart = new Snapshots.PopulationAnalysisChart(); A.CallTo(() => _populationAnalysisChartMapper.MapToSnapshot(_populationSimulationAnalysisChart)).Returns(_snapshotPopulationAnalysisChart); _snapshotInteraction = new CompoundProcessSelection(); A.CallTo(() => _processMappingMapper.MapToSnapshot(_interactionSelection)).Returns(_snapshotInteraction); _snapshotInteraction.CompoundName = _compound.Name; _snapshotInteraction.Name = _inductionProcess.Name; _noSelectionSnapshotInteraction = new CompoundProcessSelection(); A.CallTo(() => _processMappingMapper.MapToSnapshot(_noInteractionSelection)).Returns(_noSelectionSnapshotInteraction); _noSelectionSnapshotInteraction.MoleculeName = _noInteractionSelection.MoleculeName; _compoundProperties = new CompoundProperties(); _snapshotCompoundProperties = new Snapshots.CompoundProperties { Name = _compound.Name }; _individualSimulation.Properties.AddCompoundProperties(_compoundProperties); _eventMapping = new EventMapping(); _individualSimulation.EventProperties.AddEventMapping(_eventMapping); _observerSetMapping = new ObserverSetMapping(); _individualSimulation.ObserverSetProperties.AddObserverSetMapping(_observerSetMapping); A.CallTo(() => _compoundPropertiesMapper.MapToSnapshot(_compoundProperties, _project)).Returns(_snapshotCompoundProperties); _eventSelection = new EventSelection { Name = _event.Name, }; _observerSetSelection = new ObserverSetSelection { Name = _observerSet.Name, }; _individualSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("IndTemplateId", PKSimBuildingBlockType.Individual) { BuildingBlock = _individual, Altered = true }); _individualSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("CompTemplateId", PKSimBuildingBlockType.Compound) { BuildingBlock = _compound }); _individualSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("ProtTemplateId", PKSimBuildingBlockType.Protocol) { BuildingBlock = _protocol }); _individualSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("ObserveSetTemplateId", PKSimBuildingBlockType.ObserverSet) { BuildingBlock = _observerSet }); _populationSimulation.AddUsedBuildingBlock(new UsedBuildingBlock("PopTemplateId", PKSimBuildingBlockType.Population) { BuildingBlock = _population }); _individualSimulation.AddUsedObservedData(_observedData); A.CallTo(() => _eventMappingMapper.MapToSnapshot(_eventMapping, _project)).Returns(_eventSelection); A.CallTo(() => _observerSetMappingMapper.MapToSnapshot(_observerSetMapping, _project)).Returns(_observerSetSelection); _outputSelectionSnapshot = new OutputSelections(); A.CallTo(() => _outputSelectionMapper.MapToSnapshot(_individualSimulation.OutputSelections)).Returns(_outputSelectionSnapshot); A.CallTo(() => _processMappingMapper.MapToModel(_snapshotInteraction, _inductionProcess)).Returns(_interactionSelection); return(_completed); }