Пример #1
0
        protected override void Context()
        {
            base.Context();
            _templateStartValues = new ParameterStartValuesBuildingBlock();

            _containerPath = new ObjectPath("the", "container", "path");

            _parameterStartValueBuildingBlock.Add(
                new ParameterStartValue {
                StartValue = 0.1, ContainerPath = _containerPath.Clone <IObjectPath>(), Name = "ConstantStartValue"
            });

            _parameterStartValue = new ParameterStartValue {
                ContainerPath = _containerPath.Clone <IObjectPath>(), Name = "FormulaStartValue", StartValue = 4
            };
            _clonedStartValue = new ParameterStartValue {
                ContainerPath = _containerPath.Clone <IObjectPath>(), Name = "FormulaStartValue", StartValue = 4
            };

            _templateStartValues.Add(_parameterStartValue);
            _templateStartValues.Add(new ParameterStartValue {
                StartValue = 0.4, ContainerPath = _containerPath.Clone <IObjectPath>(), Name = "ConstantStartValue"
            });

            A.CallTo(() => _cloneManagerForBuildingBlock.Clone(_parameterStartValue, A <IFormulaCache> .Ignored)).Returns(_clonedStartValue);
        }
Пример #2
0
        private void convertSpecialParametersIn(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock)
        {
            var inversedLength = _dimensionFactory.Dimension(AppConstants.DimensionNames.INVERSED_LENGTH);

            convertSpecialParameter(parameterStartValuesBuildingBlock, "Organism|Surface/Volume ratio (blood cells)", 10, inversedLength);
            convertSpecialParameter(parameterStartValuesBuildingBlock, "Organism|SA proportionality factor", 1.0 / 100, inversedLength);
        }
Пример #3
0
        protected override void Context()
        {
            CreateDimensionFactory();

            sut = new DataTableToImportQuantityDTOMapperForParameters(_dimensionFactory);
            _startValuesBuildingBlock = new ParameterStartValuesBuildingBlock();
        }
Пример #4
0
        private void convertSpecialParameter(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, string parameterPath, double conversionFactor, IDimension newDimension)
        {
            var surfaceVolumeRatioParameter =
                parameterStartValuesBuildingBlock.Where(p => p.Path.PathAsString.Equals(parameterPath));

            surfaceVolumeRatioParameter.Each(p => convertSpecial(p, conversionFactor, newDimension));
        }
        public IParameterStartValuesBuildingBlock CreateFor(IBuildConfiguration buildConfiguration, Simulation simulation)
        {
            try
            {
                //default default parameter start values matrix
                _spatialStructure   = buildConfiguration.SpatialStructure;
                _defaultStartValues = _parameterStartValuesCreator.CreateFrom(_spatialStructure, buildConfiguration.Molecules);
                _formulaCache       = _defaultStartValues.FormulaCache;
                var individual = simulation.Individual;

                //set the relative expression values for each protein defined in individual
                foreach (var protein in individual.AllMolecules <IndividualProtein>())
                {
                    updateProteinParametersValues(protein);
                }

                foreach (var transporter in individual.AllMolecules <IndividualTransporter>())
                {
                    updateTransporterParameterValues(transporter);
                }

                updateSimulationParameters(simulation);

                return(_defaultStartValues.WithName(simulation.Name));
            }
            finally
            {
                _spatialStructure   = null;
                _defaultStartValues = null;
                _formulaCache       = null;
            }
        }
Пример #6
0
        private void addParameterToParameterStartValues(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, IParameter parameter)
        {
            var path = _objectPathFactory.CreateAbsoluteObjectPath(parameter);
            var psv  = _parameterStartValuesCreator.CreateParameterStartValue(path, parameter);

            parameterStartValuesBuildingBlock[psv.Path] = psv;
        }
Пример #7
0
 private void addMoleculeParameterValues(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock,
                                         ISpatialStructure spatialStructure, IEnumerable <IMoleculeBuilder> moleculeBuilderCollection)
 {
     foreach (var paramValue in moleculeBuilderCollection.SelectMany(moleculeBuilder => getMoleculeParameterValues(spatialStructure, moleculeBuilder)))
     {
         parameterStartValuesBuildingBlock.Add(paramValue);
     }
 }
        public void TestComplexParameterStartValuesBuildingBlock()
        {
            ParameterStartValuesBuildingBlock x1 = _buildConfiguration.ParameterStartValues as ParameterStartValuesBuildingBlock;

            Assert.IsNotNull(x1);
            IParameterStartValuesBuildingBlock x2 = SerializeAndDeserialize(x1);

            AssertForSpecs.AreEqualParameterStartValuesBuildingBlock(x2, x1);
        }
        protected override void Because()
        {
            var compoundName = _simulation.CompoundNames.First();
            var parameter    = _simulation.Model.Root.EntityAt <IParameter>(compoundName, CoreConstantsForSpecs.Parameter.BLOOD_PLASMA_CONCENTRATION_RATIO);

            parameter.Value = 10;
            _parameterPath  = _entityPathResolver.ObjectPathFor(parameter);
            _psv            = _buildConfigurationTask.CreateFor(_simulation, shouldValidate: true, createAgingDataInSimulation: false).ParameterStartValues;
        }
Пример #10
0
 protected override void Context()
 {
     base.Context();
     _buildingBlock      = new ParameterStartValuesBuildingBlock();
     _simulation         = A.Fake <IMoBiSimulation>();
     _buildConfiguration = new BuildConfiguration {
         ParameterStartValues = A.Fake <IParameterStartValuesBuildingBlock>()
     };
     A.CallTo(() => _simulation.BuildConfiguration).Returns(_buildConfiguration);
 }
 public void Visit(IParameterStartValuesBuildingBlock parameterStartValuesBuilding)
 {
     foreach (var parameterStartValue in parameterStartValuesBuilding.OfType <ParameterStartValue>().ToList())
     {
         //psv stored as a cache using path as key
         parameterStartValuesBuilding.Remove(parameterStartValue);
         parameterStartValue.Path = parameterStartValue.ContainerPath;
         parameterStartValuesBuilding.Add(parameterStartValue);
     }
 }
 protected override void Context()
 {
     base.Context();
     _context             = A.Fake <IMoBiContext>();
     _buildingBlock       = new ParameterStartValuesBuildingBlock();
     _parameterStartValue = new ParameterStartValue();
     _path = new ObjectPath("A", "B");
     _parameterStartValue.ContainerPath = _path;
     _parameterStartValue.Name          = "Name";
     _buildingBlock.Add(_parameterStartValue);
 }
        protected override void Context()
        {
            _context       = A.Fake <IMoBiContext>();
            _buildingBlock = new ParameterStartValuesBuildingBlock();

            _psv = new ParameterStartValue {
                Path = new ObjectPath("path1"), StartValue = -1, DisplayUnit = new Unit("Dimensionless", 1.0, 1)
            };
            sut = new AddParameterStartValueToBuildingBlockCommand(_buildingBlock, _psv);
            A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IParameterStartValue> >(A <string> ._)).Returns(_buildingBlock);
        }
Пример #14
0
        private void addGlobalMoleculeParameterValues(IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, IContainer globalMoleculeDependentProperties, IMoleculeBuildingBlock moleculeBuildingBlock)
        {
            var globalParameter = globalMoleculeDependentProperties.GetChildren <IParameter>(parameterValueShouldBeSet);

            foreach (var parameter in globalParameter)
            {
                foreach (var moleculeBuilder in moleculeBuildingBlock)
                {
                    parameterStartValuesBuildingBlock.Add(globalMoleculeParameterValueFor(moleculeBuilder, parameter));
                }
            }
        }
Пример #15
0
        private bool usesParameterStartValuesBB(IMoBiSimulation moBiSimulation, IParameterStartValuesBuildingBlock parameterStartValueBuildingBlock)
        {
            var templateBuildingBlock = moBiSimulation.MoBiBuildConfiguration.ParameterStartValuesInfo.TemplateBuildingBlock;

            if (Equals(templateBuildingBlock, parameterStartValueBuildingBlock))
            {
                return(true);
            }

            var parameterStartValuesBuildingBlock = moBiSimulation.MoBiBuildConfiguration.ParameterStartValues;

            return(parameterStartValuesBuildingBlock.Equals(parameterStartValueBuildingBlock) || parameterStartValuesBuildingBlock.Name.Equals(parameterStartValueBuildingBlock.Name));
        }
Пример #16
0
        protected override void Context()
        {
            _context       = A.Fake <IMoBiContext>();
            _buildingBlock = new ParameterStartValuesBuildingBlock();

            _path = new ObjectPath(new[] { string.Format("path{0}", 1) });
            _buildingBlock.Add(new ParameterStartValue {
                Path = _path, StartValue = -1, DisplayUnit = new Unit("Dimensionless", 1.0, 1)
            });

            sut = new UpdateParameterStartValueInBuildingBlockCommand(_buildingBlock, _path, 1.0);
            A.CallTo(() => _context.Get <IParameterStartValuesBuildingBlock>(_buildingBlock.Id)).Returns(_buildingBlock);
        }
 protected override void Context()
 {
     _spatialStructureFactory      = A.Fake <IPKSimSpatialStructureFactory>();
     _modelObserverQuery           = A.Fake <IModelObserverQuery>();
     _modelPassiveTransportQuery   = A.Fake <IModelPassiveTransportQuery>();
     _parameterStartValueCreator   = A.Fake <IPKSimParameterStartValuesCreator>();
     _moleculesAndReactionsCreator = A.Fake <IMoleculesAndReactionsCreator>();
     _eventBuildingBlockCreator    = A.Fake <IEventBuildingBlockCreator>();
     _moleculeStartValueCreator    = A.Fake <IPKSimMoleculeStartValuesCreator>();
     _moleculeCalculationRetriever = A.Fake <IMoleculeCalculationRetriever>();
     _distributedTableConverter    = A.Fake <IDistributedParameterToTableParameterConverter>();
     _parameterDefaultStateUpdater = A.Fake <IParameterDefaultStateUpdater>();
     _cm1        = new CoreCalculationMethod();
     _cm2        = new CoreCalculationMethod();
     _simulation = new IndividualSimulation {
         Properties = new SimulationProperties()
     };
     _simulation.SimulationSettings = new SimulationSettings();
     _simulation.ModelConfiguration = new ModelConfiguration();
     _individual                      = new Individual().WithName("MyIndividuyal");
     _compound                        = A.Fake <Compound>().WithName("MyCompound");
     _protocol                        = new SimpleProtocol().WithName("MyProtocol");
     _spatialStructure                = A.Fake <ISpatialStructure>();
     _passiveTransportBuilingBlock    = A.Fake <IPassiveTransportBuildingBlock>();
     _observerBuildingBlock           = A.Fake <IObserverBuildingBlock>();
     _eventBuildingBlock              = A.Fake <IEventGroupBuildingBlock>();
     _parameterValuesBuildingBlock    = A.Fake <IParameterStartValuesBuildingBlock>();
     _moleculeStartValueBuildingBlock = A.Fake <IMoleculeStartValuesBuildingBlock>();
     _simulation.AddUsedBuildingBlock(new UsedBuildingBlock("Individual", PKSimBuildingBlockType.Individual)
     {
         BuildingBlock = _individual
     });
     _simulation.AddUsedBuildingBlock(new UsedBuildingBlock("Compound", PKSimBuildingBlockType.Compound)
     {
         BuildingBlock = _compound
     });
     _simulation.AddUsedBuildingBlock(new UsedBuildingBlock("Protocol", PKSimBuildingBlockType.Protocol)
     {
         BuildingBlock = _protocol
     });
     A.CallTo(() => _moleculeCalculationRetriever.AllMoleculeCalculationMethodsUsedBy(_simulation)).Returns(new[] { _cm1, _cm2 });
     A.CallTo(() => _spatialStructureFactory.CreateFor(_individual, _simulation)).Returns(_spatialStructure);
     A.CallTo(() => _modelPassiveTransportQuery.AllPassiveTransportsFor(_simulation)).Returns(_passiveTransportBuilingBlock);
     A.CallTo(() => _modelObserverQuery.AllObserversFor(A <IMoleculeBuildingBlock> .Ignored, _simulation)).Returns(_observerBuildingBlock);
     A.CallTo(() => _eventBuildingBlockCreator.CreateFor(_simulation)).Returns(_eventBuildingBlock);
     A.CallTo(() => _parameterStartValueCreator.CreateFor(A <IBuildConfiguration> .Ignored, A <Simulation> .Ignored)).Returns(_parameterValuesBuildingBlock);
     A.CallTo(() => _moleculeStartValueCreator.CreateFor(A <IBuildConfiguration> .Ignored, A <Simulation> .Ignored)).Returns(_moleculeStartValueBuildingBlock);
     sut = new BuildConfigurationTask(_spatialStructureFactory, _modelObserverQuery, _modelPassiveTransportQuery, _parameterStartValueCreator,
                                      _moleculesAndReactionsCreator, _eventBuildingBlockCreator, _moleculeStartValueCreator, _moleculeCalculationRetriever,
                                      _distributedTableConverter, _parameterDefaultStateUpdater);
 }
        protected override void Context()
        {
            _context       = A.Fake <IMoBiContext>();
            _buildingBlock = new ParameterStartValuesBuildingBlock();

            _psv = new ParameterStartValue {
                Path = new ObjectPath("path1"), StartValue = -1, DisplayUnit = new Unit("Dimensionless", 1.0, 1)
            };
            _buildingBlock.Add(_psv);
            sut = new RemoveParameterStartValueFromBuildingBlockCommand(_buildingBlock, _psv.Path);

            A.CallTo(() => _context.Deserialize <IParameterStartValue>(A <byte[]> ._)).Returns(_psv);
            A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IParameterStartValue> >(_buildingBlock.Id)).Returns(_buildingBlock);
        }
Пример #19
0
        public IDimension GetDimensionFor(IParameterStartValue psv, IParameterStartValuesBuildingBlock parameterStartValuesBuildingBlock, IMoBiProject project)
        {
            if (project == null)
            {
                return(null);
            }

            var parameter =
                searchParameterInSimulations(psv, parameterStartValuesBuildingBlock, project) ??
                searchParamterInSpatialStructures(psv, parameterStartValuesBuildingBlock, project) ??
                searchParameterInMolecules(psv, parameterStartValuesBuildingBlock, project);

            return(parameter == null ? null : parameter.Dimension);
        }
 protected override void Context()
 {
     base.Context();
     _parameterStartValuesBuildingBlock      = new ParameterStartValuesBuildingBlock();
     _parameterStartValuesBuildingBlock.Name = _changedName;
     _parameterStartValue = new ParameterStartValue();
     _path = new ObjectPath(new[] { "A", "B", _changedName });
     _parameterStartValue.Path = _path;
     _parameterStartValuesBuildingBlock.Add(_parameterStartValue);
     _parameterStartValue2 = new ParameterStartValue();
     _path = new ObjectPath(new[] { "A", _changedName, "B" });
     _parameterStartValue2.Path = _path;
     _parameterStartValuesBuildingBlock.Add(_parameterStartValue2);
     _project.AddBuildingBlock(_parameterStartValuesBuildingBlock);
 }
Пример #21
0
        private IParameter searchParameterInSimulations(IParameterStartValue psv, IParameterStartValuesBuildingBlock parent, IMoBiProject project)
        {
            IParameter parameter   = null;
            var        simulations = project.Simulations.Where(sim => usesParameterStartValuesBB(sim, parent));

            foreach (var simulation in simulations)
            {
                parameter = psv.Path.Resolve <IParameter>(simulation.Model.Root);
                if (parameter != null)
                {
                    break;
                }
            }
            return(parameter);
        }
        protected override void Context()
        {
            _context = A.Fake <IMoBiContext>();
            A.CallTo(() => _context.HistoryManager).Returns(A.Fake <IMoBiHistoryManager>());
            _startValuesTask = A.Fake <IParameterStartValuesTask>();
            _view            = A.Fake <IImportQuantityView>();
            _dialogCreator   = A.Fake <IDialogCreator>();
            _dataTableToImportParameterQuantityDTOMapperForMolecules = A.Fake <IDataTableToImportQuantityDTOMapperForParameters>();
            _buildingBlock = A.Fake <IParameterStartValuesBuildingBlock>();
            _excelTask     = A.Fake <IImportFromExcelTask>();
            sut            = new ImportParameterStartValuesPresenter(_view, _dialogCreator, _context, _excelTask, _startValuesTask, _dataTableToImportParameterQuantityDTOMapperForMolecules);
            sut.Initialize();

            A.CallTo(() => _view.BindTo(A <ImportExcelSheetSelectionDTO> ._))
            .Invokes(x => _importExcelSheetDTO = x.GetArgument <ImportExcelSheetSelectionDTO>(0));
        }
        protected override void Context()
        {
            _parameterStartValueBuildingBlock = new ParameterStartValuesBuildingBlock().WithId("PSVBB");
            _objectPath = new ObjectPath("A", "B", "P");
            _parameter  = A.Fake <IParameter>().WithName("P").WithId("P");
            sut         = new AddParameterStartValueFromQuantityInSimulationCommand(_parameter, _parameterStartValueBuildingBlock);

            _context = A.Fake <IMoBiContext>();
            _parameterStartValuesCreator = A.Fake <IParameterStartValuesCreator>();
            _entityPathResolver          = A.Fake <IEntityPathResolver>();
            A.CallTo(() => _context.Resolve <IEntityPathResolver>()).Returns(_entityPathResolver);
            A.CallTo(() => _context.Resolve <IParameterStartValuesCreator>()).Returns(_parameterStartValuesCreator);
            A.CallTo(() => _context.Get <IParameter>(_parameter.Id)).Returns(_parameter);
            A.CallTo(() => _context.Get <IStartValuesBuildingBlock <IParameterStartValue> >(_parameterStartValueBuildingBlock.Id)).Returns(_parameterStartValueBuildingBlock);

            A.CallTo(() => _entityPathResolver.ObjectPathFor(_parameter, false)).Returns(_objectPath);
        }
        protected override void Context()
        {
            _buildingBlock  = new ParameterStartValuesBuildingBlock();
            _context        = A.Fake <IMoBiContext>();
            _newDimension   = DimensionFactoryForSpecs.Factory.Dimension(DimensionFactoryForSpecs.DimensionNames.Mass);
            _newDisplayUnit = _newDimension.DefaultUnit;

            _oldDimension   = DimensionFactoryForSpecs.Factory.Dimension(DimensionFactoryForSpecs.DimensionNames.Concentration);
            _oldDisplayUnit = _oldDimension.DefaultUnit;

            _startValue = new ParameterStartValue {
                Dimension = _oldDimension, StartValue = 1.0, DisplayUnit = _oldDisplayUnit
            };


            sut = new UpdateDimensionInStartValueCommand <IParameterStartValue>(_startValue, _newDimension, _newDisplayUnit, _buildingBlock);
        }
 protected override void Context()
 {
     _psv = new ParameterStartValue {
         StartValue = _oldValue, Dimension = _dimension
     };
     _dimension             = A.Fake <IDimension>();
     _newUnit               = new Unit("Neu", 2, 0);
     _buildingBlock         = A.Fake <IParameterStartValuesBuildingBlock>();
     _buildingBlock.Version = 1;
     A.CallTo(() => _dimension.Unit("Neu")).Returns(_newUnit);
     _oldUnit         = new Unit("Old", 1, 0);
     _psv.DisplayUnit = _oldUnit;
     _psv.Dimension   = _dimension;
     A.CallTo(() => _dimension.BaseUnitValueToUnitValue(_oldUnit, _oldValue)).Returns(_oldValue);
     A.CallTo(() => _dimension.UnitValueToBaseUnitValue(_newUnit, _newValue)).Returns(_newValue);
     sut = new SetParameterStartValueWithUnitCommand(_psv, _newValue, _newUnit, _buildingBlock);
 }
Пример #26
0
        protected override void Context()
        {
            _context               = A.Fake <IMoBiContext>();
            _liver                 = new Container().WithName("LIVER");
            _simulation            = A.Fake <IMoBiSimulation>();
            _simulation.Model.Root = new Container().WithContainerType(ContainerType.Simulation);
            _simulation.Model.Root.Add(_liver);
            _parameterStartValues = new ParameterStartValuesBuildingBlock();
            _simulation.BuildConfiguration.ParameterStartValues = _parameterStartValues;
            sut = new ResetParamterValuesToDefaultFromStartValuesInSimulationCommand(_simulation);

            _formulaTask          = A.Fake <IMoBiFormulaTask>();
            _entityPathResolver   = new EntityPathResolver(new ObjectPathFactory(new AliasCreator()));
            _cloneManagerForModel = A.Fake <ICloneManagerForModel>();

            A.CallTo(_formulaTask).WithReturnType <ConstantFormula>().Returns(new ConstantFormula());
            A.CallTo(() => _context.Resolve <IMoBiFormulaTask>()).Returns(_formulaTask);
            A.CallTo(() => _context.Resolve <IEntityPathResolver>()).Returns(_entityPathResolver);
            A.CallTo(() => _context.Resolve <ICloneManagerForModel>()).Returns(_cloneManagerForModel);
        }
Пример #27
0
        private IParameter searchParameterInMolecules(IParameterStartValue psv, IParameterStartValuesBuildingBlock parent, IMoBiProject project)
        {
            var parameterName = psv.Path.Last();
            var tmpPath       = psv.Path.Clone <IObjectPath>();

            tmpPath.Remove(tmpPath.Last());
            var moleculeName = tmpPath.Last();

            var parameter = searchParameterInMoleculeBuildingBlock(project.MoleculeBlockCollection.FirstOrDefault(mb => mb.Id.Equals(parent.MoleculeBuildingBlockId)), moleculeName, parameterName);

            foreach (var moleculeBuildingBlock in project.MoleculeBlockCollection)
            {
                parameter = searchParameterInMoleculeBuildingBlock(moleculeBuildingBlock, moleculeName, parameterName);
                if (parameter != null)
                {
                    break;
                }
            }
            return(parameter);
        }
Пример #28
0
        public IParameterStartValuesBuildingBlock CreateFor(IBuildConfiguration buildConfiguration, Simulation simulation)
        {
            try
            {
                //default default parameter start values matrix
                var spatialStructure = buildConfiguration.SpatialStructure;
                var molecules        = buildConfiguration.Molecules;
                _defaultStartValues = _parameterStartValuesCreator.CreateFrom(spatialStructure, molecules);
                var individual = simulation.Individual;

                //set the relative expression values for each molecule defined in individual
                individual.AllMolecules().Each(molecule => updateMoleculeParametersValues(molecule, individual, simulation));

                updateSimulationParameters(simulation);

                return(_defaultStartValues.WithName(simulation.Name));
            }
            finally
            {
                _defaultStartValues = null;
            }
        }
        protected override void Context()
        {
            _buildConfiguration           = new MoBiBuildConfiguration();
            _moleculeBuidingBlock         = new MoleculeBuildingBlock().WithName("M");
            _buildConfiguration.Molecules = _moleculeBuidingBlock;

            _reactionBuildingBlock = new MoBiReactionBuildingBlock().WithName("R");
            _reactionBuildingBlock.Add(new ReactionBuilder().WithName("R1"));
            _buildConfiguration.Reactions = _reactionBuildingBlock;

            _passiveTransportBuildingBlock = new PassiveTransportBuildingBlock().WithName("PT");
            _passiveTransportBuildingBlock.Add(new TransportBuilder().WithName("PT2"));
            _passiveTransportBuildingBlock.Add(new TransportBuilder().WithName("PT1"));
            _buildConfiguration.PassiveTransports = _passiveTransportBuildingBlock;

            _eventGroupBuildingBlock        = new EventGroupBuildingBlock().WithName("EG");
            _buildConfiguration.EventGroups = _eventGroupBuildingBlock;

            _msvBuildingBlock = new MoleculeStartValuesBuildingBlock().WithName("MSV");
            _buildConfiguration.MoleculeStartValues = _msvBuildingBlock;

            _psvBuildingBlock = new ParameterStartValuesBuildingBlock().WithName("PSV");
            _buildConfiguration.ParameterStartValues = _psvBuildingBlock;

            _spatialStructure = new MoBiSpatialStructure().WithName("SPST");
            _buildConfiguration.SpatialStructure = _spatialStructure;

            _observerBuildingBlock        = new ObserverBuildingBlock().WithName("O");
            _buildConfiguration.Observers = _observerBuildingBlock;

            _objectPathFactory  = new ObjectPathFactory(new AliasCreator());
            _entityPathResolver = new EntityPathResolver(_objectPathFactory);
            sut = new AffectedBuildingBlockRetriever(_entityPathResolver);

            //common setup
            _simulation = new MoBiSimulation {
                BuildConfiguration = _buildConfiguration
            };
        }
 protected override void Context()
 {
     base.Context();
     _project                  = A.Fake <IMoBiProject>();
     _startValue               = A.Fake <IParameterStartValue>();
     _parameterPath            = A.Fake <IObjectPath>();
     _parentBuidlidingBlock    = A.Fake <IParameterStartValuesBuildingBlock>();
     _parentBuidlidingBlock.Id = "Parent";
     _para = A.Fake <IParameter>().WithName("Para").WithDimension(A.Fake <IDimension>());
     A.CallTo(() => _startValue.Path).Returns(_parameterPath);
     _simulation = A.Fake <IMoBiSimulation>();
     A.CallTo(() => _project.Simulations).Returns(new[] { _simulation, });
     _buildConfiguration = A.Fake <IMoBiBuildConfiguration>();
     _buildConfiguration.ParameterStartValuesInfo = new ParameterStartValuesBuildingBlockInfo();
     _buildConfiguration.ParameterStartValuesInfo.TemplateBuildingBlock = _parentBuidlidingBlock;
     _model = A.Fake <IModel>();
     _root  = A.Fake <IContainer>();
     A.CallTo(() => _simulation.MoBiBuildConfiguration).Returns(_buildConfiguration);
     A.CallTo(() => _simulation.Model).Returns(_model);
     A.CallTo(() => _parameterPath.Resolve <IParameter>(_root)).Returns(_para);
     _model.Root = _root;
     A.CallTo(() => _context.CurrentProject).Returns(_project);
 }