Пример #1
0
 protected override void Context()
 {
     _objectBaseFactory = A.Fake <IObjectBaseFactory>();
     _simulationBuildingBlockUpdater = A.Fake <ISimulationBuildingBlockUpdater>();
     _simulationModelCreator         = A.Fake <ISimulationModelCreator>();
     _simulationParametersUpdater    = A.Fake <ISimulationParametersUpdater>();
     _modelPropertiesTask            = A.Fake <IModelPropertiesTask>();
     _cloner = A.Fake <ICloner>();
     _diagramModelFactory = A.Fake <IDiagramModelFactory>();
     _interactionTask     = A.Fake <IInteractionTask>();
     _individual          = A.Fake <Individual>();
     _compounds           = new List <Compound>();
     A.CallTo(() => _individual.BuildingBlockType).Returns(PKSimBuildingBlockType.Individual);
     _population = A.Fake <Population>();
     A.CallTo(() => _population.BuildingBlockType).Returns(PKSimBuildingBlockType.Population);
     _originData                = new OriginData();
     _modelProperties           = A.Fake <ModelProperties>();
     _individualSimulation      = A.Fake <IndividualSimulation>();
     _populationSimulation      = A.Fake <PopulationSimulation>();
     _objectIdResetter          = A.Fake <IObjectIdResetter>();
     _compoundPropertiesUpdater = A.Fake <ICompoundPropertiesUpdater>();
     A.CallTo(() => _objectBaseFactory.Create <IndividualSimulation>()).Returns(_individualSimulation);
     A.CallTo(() => _objectBaseFactory.Create <PopulationSimulation>()).Returns(_populationSimulation);
     _individual.OriginData = _originData;
     A.CallTo(() => _individual.Organism).Returns(A.Fake <Organism>());
     sut = new SimulationFactory(_objectBaseFactory,
                                 _simulationBuildingBlockUpdater, _simulationModelCreator, _objectIdResetter, _compoundPropertiesUpdater, _simulationParametersUpdater,
                                 _modelPropertiesTask, _cloner, _diagramModelFactory, _interactionTask);
 }
Пример #2
0
        protected override void Context()
        {
            _executionContext = A.Fake <IExecutionContext>();
            _simulationBuildingBlockUpdater = A.Fake <ISimulationBuildingBlockUpdater>();
            _buildingBlockInProjectManager  = A.Fake <IBuildingBlockInProjectManager>();
            sut = new MultipleUsedBuildingBlockNodeContextMenuFactory(_buildingBlockInProjectManager, _executionContext);

            _usedBuildingBlocksTreeNode = new List <ITreeNode>();
            _presenter = A.Fake <IPresenterWithContextMenu <IReadOnlyList <ITreeNode> > >();

            _buildingBlock1 = A.Fake <IPKSimBuildingBlock>().WithId("bb1");
            _buildingBlock2 = A.Fake <IPKSimBuildingBlock>().WithId("bb2");
            _buildingBlock3 = A.Fake <IPKSimBuildingBlock>().WithId("bb3");

            _usedIndividual1 = new UsedBuildingBlock("1", PKSimBuildingBlockType.Individual)
            {
                BuildingBlock = _buildingBlock1
            };
            _usedIndividual2 = new UsedBuildingBlock("2", PKSimBuildingBlockType.Individual)
            {
                BuildingBlock = _buildingBlock2
            };
            _usedCompound1 = new UsedBuildingBlock("3", PKSimBuildingBlockType.Compound)
            {
                BuildingBlock = _buildingBlock3
            };
            _command = new CompareObjectsUICommand(A.Fake <IEventPublisher>());
            A.CallTo(() => _container.Resolve <CompareObjectsUICommand>()).Returns(_command);
            A.CallTo(() => _executionContext.Resolve <ISimulationBuildingBlockUpdater>()).Returns(_simulationBuildingBlockUpdater);
        }
Пример #3
0
 public SimulationConstructor(ISimulationFactory simulationFactory, ISimulationBuildingBlockUpdater buildingBlockUpdater,
                              ISimulationModelCreator simulationModelCreator, IRegistrationTask registrationTask)
 {
     _simulationFactory      = simulationFactory;
     _buildingBlockUpdater   = buildingBlockUpdater;
     _simulationModelCreator = simulationModelCreator;
     _registrationTask       = registrationTask;
 }
Пример #4
0
 public SimulationTask(IExecutionContext executionContext, IBuildingBlockTask buildingBlockTask, IApplicationController applicationController,
                       ISimulationBuildingBlockUpdater simulationBuildingBlockUpdater, IConfigureSimulationTask configureSimulationTask,
                       IBuildingBlockParametersToSimulationUpdater blockParametersToSimulationUpdater, ISimulationParametersToBuildingBlockUpdater simulationParametersToBlockUpdater)
     : base(executionContext, buildingBlockTask, applicationController, PKSimBuildingBlockType.Simulation)
 {
     _simulationBuildingBlockUpdater     = simulationBuildingBlockUpdater;
     _configureSimulationTask            = configureSimulationTask;
     _blockParametersToSimulationUpdater = blockParametersToSimulationUpdater;
     _simulationParametersToBlockUpdater = simulationParametersToBlockUpdater;
 }
 protected override void Context()
 {
     _view = A.Fake <ISimulationEventsConfigurationView>();
     _editParameterPresenterTask = A.Fake <IEditParameterPresenterTask>();
     _eventMappingDTOMapper      = A.Fake <IEventMappingToEventMappingDTOMapper>();
     _simBuildingBlockUpdater    = A.Fake <ISimulationBuildingBlockUpdater>();
     _eventTask          = A.Fake <IEventTask>();
     _eventMappingMapper = A.Fake <IEventMappingDTOToEventMappingMapper>();
     sut = new SimulationEventsConfigurationPresenter(_view, _editParameterPresenterTask, _eventMappingDTOMapper, _simBuildingBlockUpdater, _eventTask, _eventMappingMapper);
 }
 public SimulationEventsConfigurationPresenter(ISimulationEventsConfigurationView view, IEditParameterPresenterTask editParameterPresenterTask,
                                               IEventMappingToEventMappingDTOMapper eventMappingDTOMapper,
                                               ISimulationBuildingBlockUpdater simulationBuildingBlockUpdater, IEventTask eventTask,
                                               IEventMappingDTOToEventMappingMapper eventMappingMapper)
     : base(view)
 {
     _editParameterPresenterTask     = editParameterPresenterTask;
     _eventMappingDTOMapper          = eventMappingDTOMapper;
     _simulationBuildingBlockUpdater = simulationBuildingBlockUpdater;
     _eventTask          = eventTask;
     _eventMappingMapper = eventMappingMapper;
 }
 public SimulationCompoundProtocolCollectorPresenter(ISimulationCompoundProtocolCollectorView view, IApplicationController applicationController,
                                                     IConfigurableLayoutPresenter configurableLayoutPresenter, IEventPublisher eventPublisher, IProtocolChartPresenter protocolChartPresenter,
                                                     ISimulationBuildingBlockUpdater simulationBuildingBlockUpdater) : base(view, applicationController, configurableLayoutPresenter, eventPublisher)
 {
     view.ApplicationIcon = ApplicationIcons.Administration;
     view.Caption         = PKSimConstants.UI.SimulationApplicationConfiguration;
     view.AddProtocolChart(protocolChartPresenter.BaseView);
     _protocolChartPresenter = protocolChartPresenter;
     AddSubPresenters(_protocolChartPresenter);
     _simulationBuildingBlockUpdater = simulationBuildingBlockUpdater;
     _hasWarnings = false;
 }
Пример #8
0
 public SimulationObserversConfigurationPresenter(
     ISimulationObserversConfigurationView view,
     IObserverSetMappingToObserverSetMappingDTOMapper observerSetMappingDTOMapper,
     IObserverSetTask observerSetTask,
     ISimulationBuildingBlockUpdater simulationBuildingBlockUpdater,
     IBuildingBlockSelectionDisplayer buildingBlockSelectionDisplayer
     ) : base(view)
 {
     _observerSetMappingDTOMapper     = observerSetMappingDTOMapper;
     _observerSetTask                 = observerSetTask;
     _simulationBuildingBlockUpdater  = simulationBuildingBlockUpdater;
     _buildingBlockSelectionDisplayer = buildingBlockSelectionDisplayer;
 }
Пример #9
0
 public ImportSimulationTask(ISimulationTransferLoader simulationTransferLoader, ISimulationFactory simulationFactory, IEntitiesInContainerRetriever parameterRetriever, ISimulationBuildingBlockUpdater simulationBuildingBlockUpdater,
                             IIndividualPropertiesCacheImporter individualPropertiesCacheImporter, IExecutionContext executionContext, IObjectBaseFactory objectBaseFactory,
                             ISimulationUpdaterAfterDeserialization simulationUpdaterAfterDeserialization, IAdvancedParameterFactory advancedParameterFactory)
 {
     _simulationTransferLoader          = simulationTransferLoader;
     _simulationFactory                 = simulationFactory;
     _parameterRetriever                = parameterRetriever;
     _simulationBuildingBlockUpdater    = simulationBuildingBlockUpdater;
     _individualPropertiesCacheImporter = individualPropertiesCacheImporter;
     _executionContext  = executionContext;
     _objectBaseFactory = objectBaseFactory;
     _simulationUpdaterAfterDeserialization = simulationUpdaterAfterDeserialization;
     _advancedParameterFactory = advancedParameterFactory;
 }
Пример #10
0
 protected override void Context()
 {
     _executionContext                   = A.Fake <IExecutionContext>();
     _configureSimulationTask            = A.Fake <IConfigureSimulationTask>();
     _createSimulationPresenter          = A.Fake <ICreateSimulationPresenter>();
     _buildingBlockTask                  = A.Fake <IBuildingBlockTask>();
     _simulationBuildingBlockUpdater     = A.Fake <ISimulationBuildingBlockUpdater>();
     _applicationController              = A.Fake <IApplicationController>();
     _simulationParametersToBlockUpdater = A.Fake <ISimulationParametersToBuildingBlockUpdater>();
     _blockParametersToSimulationUpdater = A.Fake <IBuildingBlockParametersToSimulationUpdater>();
     A.CallTo(() => _applicationController.Start <ICreateSimulationPresenter>()).Returns(_createSimulationPresenter);
     sut = new SimulationTask(_executionContext, _buildingBlockTask, _applicationController, _simulationBuildingBlockUpdater,
                              _configureSimulationTask, _blockParametersToSimulationUpdater, _simulationParametersToBlockUpdater);
 }
Пример #11
0
 protected override void Context()
 {
     _simulationTransferLoader       = A.Fake <ISimulationTransferLoader>();
     _simulationFactory              = A.Fake <ISimulationFactory>();
     _parameterRetriever             = A.Fake <IEntitiesInContainerRetriever>();
     _simulationBuildingBlockUpdater = A.Fake <ISimulationBuildingBlockUpdater>();
     _executionContext = A.Fake <IExecutionContext>();
     _individualPropertiesCacheImporter = A.Fake <IIndividualPropertiesCacheImporter>();
     _objectBaseFactory = A.Fake <IObjectBaseFactory>();
     _simulationUpdaterAfterDeserialization = A.Fake <ISimulationUpdaterAfterDeserialization>();
     _advancedParameterFactory = A.Fake <IAdvancedParameterFactory>();
     sut = new ImportSimulationTask(_simulationTransferLoader, _simulationFactory, _parameterRetriever,
                                    _simulationBuildingBlockUpdater, _individualPropertiesCacheImporter, _executionContext, _objectBaseFactory,
                                    _simulationUpdaterAfterDeserialization, _advancedParameterFactory);
 }
Пример #12
0
 public SimulationFactory(IObjectBaseFactory objectBaseFactory,
                          ISimulationBuildingBlockUpdater simulationBuildingBlockUpdater, ISimulationModelCreator simulationModelCreator,
                          IObjectIdResetter objectIdResetter, ICompoundPropertiesUpdater compoundPropertiesUpdater,
                          ISimulationParametersUpdater simulationParametersUpdater, IModelPropertiesTask modelPropertiesTask,
                          ICloner cloner, IDiagramModelFactory diagramModelFactory, IInteractionTask interactionTask)
 {
     _objectBaseFactory = objectBaseFactory;
     _simulationBuildingBlockUpdater = simulationBuildingBlockUpdater;
     _simulationModelCreator         = simulationModelCreator;
     _objectIdResetter            = objectIdResetter;
     _compoundPropertiesUpdater   = compoundPropertiesUpdater;
     _simulationParametersUpdater = simulationParametersUpdater;
     _modelPropertiesTask         = modelPropertiesTask;
     _cloner = cloner;
     _diagramModelFactory = diagramModelFactory;
     _interactionTask     = interactionTask;
 }
Пример #13
0
 public SimulationMapper(
     SolverSettingsMapper solverSettingsMapper,
     OutputSchemaMapper outputSchemaMapper,
     OutputSelectionsMapper outputSelectionsMapper,
     CompoundPropertiesMapper compoundPropertiesMapper,
     ParameterMapper parameterMapper,
     AdvancedParameterMapper advancedParameterMapper,
     EventMappingMapper eventMappingMapper,
     ObserverSetMappingMapper observerSetMappingMapper,
     SimulationTimeProfileChartMapper simulationTimeProfileChartMapper,
     PopulationAnalysisChartMapper populationAnalysisChartMapper,
     ProcessMappingMapper processMappingMapper,
     ISimulationFactory simulationFactory,
     IExecutionContext executionContext,
     ISimulationModelCreator simulationModelCreator,
     ISimulationBuildingBlockUpdater simulationBuildingBlockUpdater,
     IModelPropertiesTask modelPropertiesTask,
     ISimulationRunner simulationRunner,
     ISimulationParameterOriginIdUpdater simulationParameterOriginIdUpdater,
     ILogger logger,
     IContainerTask containerTask,
     IEntityPathResolver entityPathResolver
     )
 {
     _solverSettingsMapper               = solverSettingsMapper;
     _outputSchemaMapper                 = outputSchemaMapper;
     _outputSelectionsMapper             = outputSelectionsMapper;
     _compoundPropertiesMapper           = compoundPropertiesMapper;
     _parameterMapper                    = parameterMapper;
     _advancedParameterMapper            = advancedParameterMapper;
     _eventMappingMapper                 = eventMappingMapper;
     _observerSetMappingMapper           = observerSetMappingMapper;
     _simulationTimeProfileChartMapper   = simulationTimeProfileChartMapper;
     _populationAnalysisChartMapper      = populationAnalysisChartMapper;
     _processMappingMapper               = processMappingMapper;
     _simulationFactory                  = simulationFactory;
     _executionContext                   = executionContext;
     _simulationModelCreator             = simulationModelCreator;
     _simulationBuildingBlockUpdater     = simulationBuildingBlockUpdater;
     _modelPropertiesTask                = modelPropertiesTask;
     _simulationRunner                   = simulationRunner;
     _simulationParameterOriginIdUpdater = simulationParameterOriginIdUpdater;
     _logger             = logger;
     _containerTask      = containerTask;
     _entityPathResolver = entityPathResolver;
 }
        protected override void Context()
        {
            _view = A.Fake <ISimulationObserversConfigurationView>();
            _observerSetDTOMapper            = A.Fake <IObserverSetMappingToObserverSetMappingDTOMapper>();
            _observerSetTask                 = A.Fake <IObserverSetTask>();
            _simulationBuildingBlockUpdater  = A.Fake <ISimulationBuildingBlockUpdater>();
            _buildingBlockSelectionDisplayer = A.Fake <IBuildingBlockSelectionDisplayer>();
            sut = new SimulationObserversConfigurationPresenter(_view, _observerSetDTOMapper, _observerSetTask, _simulationBuildingBlockUpdater, _buildingBlockSelectionDisplayer);


            _observerSetMapping = new ObserverSetMapping {
                TemplateObserverSetId = TEMPLATE_OBSERVER_SET_ID_1
            };

            _observerSetProperties = new ObserverSetProperties();
            _observerSetProperties.AddObserverSetMapping(_observerSetMapping);
            _simulation = new IndividualSimulation {
                Properties = new SimulationProperties {
                    ObserverSetProperties = _observerSetProperties
                }
            };

            _observerSetTemplate1 = new ObserverSet().WithName("OBSERVER_SET_1").WithId(TEMPLATE_OBSERVER_SET_ID_1);
            _observerSetTemplate2 = new ObserverSet().WithName("ANOTER_OBSERVER_SET_2").WithId(TEMPLATE_OBSERVER_SET_ID_2);

            A.CallTo(() => _observerSetTask.All()).Returns(new[] { _observerSetTemplate1, _observerSetTemplate2 });

            _observerSetMappingDTO = new ObserverSetMappingDTO(_observerSetMapping)
            {
                ObserverSet = _observerSetTemplate1
            };
            A.CallTo(() => _observerSetDTOMapper.MapFrom(_observerSetMapping, _simulation)).Returns(_observerSetMappingDTO);

            A.CallTo(() => _view.BindTo(A <IEnumerable <ObserverSetMappingDTO> > ._))
            .Invokes(x => _allObserverSetMappingDTO = x.GetArgument <IEnumerable <ObserverSetMappingDTO> >(0));

            sut.EditSimulation(_simulation, CreationMode.New);
        }
        protected override void Context()
        {
            _view = A.Fake <ISimulationCompoundProtocolCollectorView>();
            _applicationController       = A.Fake <IApplicationController>();
            _configurableLayoutPresenter = A.Fake <IConfigurableLayoutPresenter>();
            _eventPublisher                 = A.Fake <IEventPublisher>();
            _protocolChartPresenter         = A.Fake <IProtocolChartPresenter>();
            _simulationBuildingBlockUpdater = A.Fake <ISimulationBuildingBlockUpdater>();

            sut = new SimulationCompoundProtocolCollectorPresenter(_view, _applicationController, _configurableLayoutPresenter,
                                                                   _eventPublisher, _protocolChartPresenter, _simulationBuildingBlockUpdater);

            _simulation = A.Fake <Simulation>();
            _compound1  = A.Fake <Compound>();
            _compound2  = A.Fake <Compound>();

            _subPresenter1 = A.Fake <ISimulationCompoundProtocolPresenter>();
            A.CallTo(() => _subPresenter1.SelectedProtocol).Returns(new SimpleProtocol().WithName("P1"));
            _subPresenter2 = A.Fake <ISimulationCompoundProtocolPresenter>();
            A.CallTo(() => _subPresenter2.SelectedProtocol).Returns(new SimpleProtocol().WithName("P2"));

            A.CallTo(() => _simulation.Compounds).Returns(new[] { _compound1, _compound2 });
            A.CallTo(() => _applicationController.Start <ISimulationCompoundProtocolPresenter>()).ReturnsNextFromSequence(_subPresenter1, _subPresenter2);
        }
Пример #16
0
        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);
        }