protected override void Context()
        {
            _view       = A.Fake <IParameterIdentificationParametersFeedbackView>();
            _exportTask = A.Fake <IParameterIdentificationExportTask>();
            sut         = new ParameterIdentificationParametersFeedbackPresenter(_view, _exportTask);

            _paramterIdentification           = new ParameterIdentification();
            _identificationParameter1         = createIdentificationParameter("P1", 10, 0, 20);
            _identificationParameter2         = createIdentificationParameter("P2", 20, 5, 40);
            _identificationParameter3         = createIdentificationParameter("P3", 20, 5, 40);
            _identificationParameter3.IsFixed = true;

            _paramterIdentification.AddIdentificationParameter(_identificationParameter1);
            _paramterIdentification.AddIdentificationParameter(_identificationParameter2);
            _paramterIdentification.AddIdentificationParameter(_identificationParameter3);

            A.CallTo(() => _view.BindTo(A <IEnumerable <ParameterFeedbackDTO> > ._, A <IEnumerable <IRunPropertyDTO> > ._))
            .Invokes(x =>
            {
                _allParameterFeedbackDTO = x.GetArgument <IEnumerable <ParameterFeedbackDTO> >(0).ToList();
                _allPropertiesDTO        = x.GetArgument <IEnumerable <IRunPropertyDTO> >(1).ToList();
            });

            sut.EditParameterIdentification(_paramterIdentification);
        }
Beispiel #2
0
        protected override void Context()
        {
            _parameterTask           = A.Fake <ISetParameterTask>();
            _dialogCreator           = A.Fake <IDialogCreator>();
            _parameterIdentification = new ParameterIdentification();
            _runResult = new ParameterIdentificationRunResult();

            _runResult.BestResult.AddValue(new OptimizedParameterValue("P1", 10, 20));
            _runResult.BestResult.AddValue(new OptimizedParameterValue("P2", 4, 5));

            _identificationParameter1 = new IdentificationParameter {
                Name = "P1"
            };
            _identificationParameter2 = new IdentificationParameter {
                Name = "P2", UseAsFactor = true
            };
            _identificationParameter3 = new IdentificationParameter {
                Name = "P3", IsFixed = true,
            };
            _identificationParameter3.Add(DomainHelperForSpecs.ConstantParameterWithValue(25).WithName(Constants.Parameters.START_VALUE));

            _linkedParameter1 = A.Fake <ParameterSelection>();
            A.CallTo(() => _linkedParameter1.Parameter).Returns(DomainHelperForSpecs.ConstantParameterWithValue(2));

            _linkedParameter2 = A.Fake <ParameterSelection>();
            A.CallTo(() => _linkedParameter2.Parameter).Returns(DomainHelperForSpecs.ConstantParameterWithValue(3));
            A.CallTo(() => _linkedParameter2.Dimension).Returns(Constants.Dimension.NO_DIMENSION);

            _linkedParameter3 = A.Fake <ParameterSelection>();
            A.CallTo(() => _linkedParameter3.Parameter).Returns(DomainHelperForSpecs.ConstantParameterWithValue(4));
            A.CallTo(() => _linkedParameter3.Dimension).Returns(Constants.Dimension.NO_DIMENSION);

            _linkedParameter4 = A.Fake <ParameterSelection>();
            A.CallTo(() => _linkedParameter4.Parameter).Returns(DomainHelperForSpecs.ConstantParameterWithValue(5));
            A.CallTo(() => _linkedParameter4.Dimension).Returns(Constants.Dimension.NO_DIMENSION);


            _identificationParameter1.AddLinkedParameter(_linkedParameter1);
            _identificationParameter2.AddLinkedParameter(_linkedParameter2);
            _identificationParameter2.AddLinkedParameter(_linkedParameter3);
            _identificationParameter3.AddLinkedParameter(_linkedParameter4);

            _parameterIdentification.AddIdentificationParameter(_identificationParameter1);
            _parameterIdentification.AddIdentificationParameter(_identificationParameter2);
            _parameterIdentification.AddIdentificationParameter(_identificationParameter3);

            _context = A.Fake <IOSPSuiteExecutionContext>();
            sut      = new TestTransferOptimizedParametersToSimulationsTask(_parameterTask, _dialogCreator, _context);

            _allValueOriginCommands = new List <ICommand>();

            A.CallTo(() => _parameterTask.SetParameterValue(A <IParameter> ._, A <double> ._, A <ISimulation> ._)).ReturnsLazily(x => A.Fake <IOSPSuiteCommmand <IOSPSuiteExecutionContext> >());

            A.CallTo(() => _parameterTask.UpdateParameterValueOrigin(A <IParameter> ._, A <ValueOrigin> ._, A <ISimulation> ._)).ReturnsLazily(x =>
            {
                var command = A.Fake <IOSPSuiteCommmand <IOSPSuiteExecutionContext> >();
                _allValueOriginCommands.Add(command);
                return(command);
            });
        }
Beispiel #3
0
 protected override void Context()
 {
     base.Context();
     _parameterIdentification = new ParameterIdentification();
     _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("XX");
     _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter());
 }
        protected override void Context()
        {
            _cloneManager               = A.Fake <ICloneManagerForModel>();
            _simulationFactory          = A.Fake <ICoreSimulationFactory>();
            _parameterIdentificationRun = A.Fake <IParameterIdentificationRun>();
            _coreUserSettings           = A.Fake <ICoreUserSettings>();
            _descriptionCreator         = A.Fake <ICategorialParameterIdentificationDescriptionCreator>();
            _container = A.Fake <Utility.Container.IContainer>();
            A.CallTo(() => _container.Resolve <ICoreSimulationFactory>()).Returns(_simulationFactory);
            _coreUserSettings.MaximumNumberOfCoresToUse = 1;
            sut = new CategorialParameterIdentificationRunInitializer(_cloneManager, _parameterIdentificationRun, _container, _descriptionCreator, _coreUserSettings);

            _parameterIdentification = new ParameterIdentification();
            _parameterIdentification.Configuration.RunMode = new CategorialParameterIdentificationRunMode();

            _simulation       = A.Fake <ISimulation>();
            _clonedSimulation = A.Fake <ISimulation>();

            A.CallTo(() => _simulationFactory.CreateWithCalculationMethodsFrom(_simulation, A <IEnumerable <CalculationMethodWithCompoundName> > ._)).Returns(_clonedSimulation);
            A.CallTo(() => _cloneManager.Clone(_parameterIdentification)).ReturnsLazily(() =>
            {
                var pi = new ParameterIdentification();
                pi.AddSimulation(_simulation);
                var identificationParameter = new IdentificationParameter();
                identificationParameter.AddLinkedParameter(new ParameterSelection(_simulation, A.Fake <QuantitySelection>()));
                pi.AddIdentificationParameter(identificationParameter);
                pi.AddOutputMapping(new OutputMapping
                {
                    OutputSelection = new SimulationQuantitySelection(_simulation, A.Fake <QuantitySelection>())
                });
                pi.Configuration.RunMode = new CategorialParameterIdentificationRunMode();
                return(pi);
            });
        }
Beispiel #5
0
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            var outputMapping = A.Fake <OutputMapping>();

            ConfigureOutputMapping(outputMapping);
            _parameterIdentification.AddOutputMapping(outputMapping);
            _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter());
        }
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            var outputMapping = A.Fake <OutputMapping>();

            _parameterIdentification.AddOutputMapping(outputMapping);
            _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter(min: 10, max: 20, startValue: 30));
            _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("XX");
        }
Beispiel #7
0
        protected override void Context()
        {
            _rangeImageCreator = A.Fake <IOptimizedParameterRangeImageCreator>();
            sut = new ParameterIdentificationRunResultToRunResultDTOMapper(_rangeImageCreator);

            _parameterIdentification = new ParameterIdentification();
            _runResult             = A.Fake <ParameterIdentificationRunResult>().WithDescription("Desc");
            _runResult.Index       = 5;
            _optimizationRunResult = new OptimizationRunResult();
            _runResult.BestResult  = _optimizationRunResult;
            A.CallTo(() => _runResult.NumberOfEvaluations).Returns(10);
            A.CallTo(() => _runResult.TotalError).Returns(5);

            _identificationParameter1 = new IdentificationParameter().WithName("P1");
            _identificationParameter1.Add(parameterNamed(1, Constants.Parameters.MIN_VALUE));
            _identificationParameter1.Add(parameterNamed(2, Constants.Parameters.START_VALUE));
            _identificationParameter1.Add(parameterNamed(3, Constants.Parameters.MAX_VALUE));

            _identificationParameter2 = new IdentificationParameter().WithName("P2");
            _identificationParameter2.Add(parameterNamed(4, Constants.Parameters.MIN_VALUE));
            _identificationParameter2.Add(parameterNamed(5, Constants.Parameters.START_VALUE));
            _identificationParameter2.Add(parameterNamed(6, Constants.Parameters.MAX_VALUE));

            _identificationParameter3 = new IdentificationParameter().WithName("P3");
            _identificationParameter3.Add(parameterNamed(7, Constants.Parameters.MIN_VALUE));
            _identificationParameter3.Add(parameterNamed(8, Constants.Parameters.START_VALUE));
            _identificationParameter3.Add(parameterNamed(9, Constants.Parameters.MAX_VALUE));
            _identificationParameter3.IsFixed = true;

            _parameterIdentification.AddIdentificationParameter(_identificationParameter1);
            _parameterIdentification.AddIdentificationParameter(_identificationParameter2);
            _parameterIdentification.AddIdentificationParameter(_identificationParameter3);

            _optimizedParameterValue1 = new OptimizedParameterValue("P1", 2.5, 2.1);
            _optimizationRunResult.AddValue(_optimizedParameterValue1);
            _optimizedParameterValue2 = new OptimizedParameterValue("P2", 5.5, 5.2);
            _optimizationRunResult.AddValue(_optimizedParameterValue2);
            //does not exist in PI anymore
            _optimizationRunResult.AddValue(new OptimizedParameterValue("P DOES NOT EXIST", 50, 60));

            A.CallTo(_rangeImageCreator).WithReturnType <Image>().Returns(ApplicationIcons.OK);
        }
Beispiel #8
0
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            _parameterIdentification.Configuration.RunMode = new MultipleParameterIdentificationRunMode {
                NumberOfRuns = 3
            };
            A.CallTo(() => _cloneManager.Clone(_parameterIdentification)).ReturnsLazily(x =>
            {
                var clone = new ParameterIdentification();
                var ip    = DomainHelperForSpecs.IdentificationParameter(min: 10, max: 20, startValue: 15).WithName("PARA1");
                clone.AddIdentificationParameter(ip);

                var fixedIp = DomainHelperForSpecs.IdentificationParameter(min: 20, max: 40, startValue: 30, isFixed: true).WithName("PARA2");
                clone.AddIdentificationParameter(fixedIp);
                return(clone);
            });

            sut.Initialize(_parameterIdentification, 2, new RandomGenerator());
        }
Beispiel #9
0
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            var outputMapping = A.Fake <OutputMapping>();

            ConfigureOutputMapping(outputMapping);
            A.CallTo(() => outputMapping.IsValid).Returns(false);
            _parameterIdentification.AddOutputMapping(outputMapping);
            _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("XX");
            _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter());
        }
Beispiel #10
0
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            var outputMapping = A.Fake <OutputMapping>();

            ConfigureOutputMapping(outputMapping);

            _parameterIdentification.AddOutputMapping(outputMapping);
            _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter());
            _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("XX");
            outputMapping.Output.Dimension = DomainHelperForSpecs.FractionDimensionForSpecs();
        }
        protected override void Context()
        {
            base.Context();
            _sourceParameterIdentification  = new ParameterIdentification();
            _identificationParameter        = new IdentificationParameter();
            _cloneOfIdentificationParameter = new IdentificationParameter();
            _sourceParameterIdentification.AddSimulation(_simulation);
            _sourceParameterIdentification.AddOutputMapping(_outputMapping);
            _sourceParameterIdentification.AddIdentificationParameter(_identificationParameter);

            _cloneManager = A.Fake <ICloneManager>();
            A.CallTo(() => _cloneManager.Clone(_identificationParameter)).Returns(_cloneOfIdentificationParameter);
        }
        private void addParameterSelectionToParameterIdentification(ParameterIdentification parameterIdentification, ParameterSelection parameterSelection)
        {
            var identificationParameter = parameterIdentification.IdentificationParameterByLinkedPath(parameterSelection.Path);

            if (identificationParameter != null)
            {
                identificationParameter.AddLinkedParameter(parameterSelection);
            }
            else
            {
                parameterIdentification.AddIdentificationParameter(_identificationParameterFactory.CreateFor(parameterSelection, parameterIdentification));
            }
        }
Beispiel #13
0
        public override void AddParameters(IReadOnlyList <ParameterSelection> parameters)
        {
            var identificationParameter = _identificationParameterFactory.CreateFor(parameters, _parameterIdentification);

            if (identificationParameter == null)
            {
                return;
            }

            _parameterIdentification.AddIdentificationParameter(identificationParameter);
            updateView();
            selectIdentificationParameter(identificationParameter);
            ViewChanged();
        }
Beispiel #14
0
        protected override void Context()
        {
            base.Context();
            _simulation              = A.Fake <ISimulation>().WithName("Sim");
            _simulation2             = A.Fake <ISimulation>().WithName("Sim2");
            _parameterIdentification = new ParameterIdentification();
            _parameter = A.Fake <IParameter>();
            _parameter.Origin.SimulationId = "Sim";
            A.CallTo(() => _withIdRepository.Get <ISimulation>("Sim")).Returns(_simulation);
            A.CallTo(() => _entityPathResolver.PathFor(_parameter)).Returns("Path");
            _identificationParameter = new IdentificationParameter();
            _identificationParameter.AddLinkedParameter(new ParameterSelection(_simulation2, "Path"));
            _parameterIdentification.AddIdentificationParameter(_identificationParameter);

            A.CallTo(() => _parameterAnalysableParameterSelector.CanUseParameter(_parameter)).Returns(true);
        }
        protected override void Context()
        {
            base.Context();
            _optimizedParameterValue = new OptimizedParameterValue("PARAM", 10, 20, 0, 0, Scalings.Linear);

            _parameterIdentification         = new ParameterIdentification();
            _identificationParameter         = DomainHelperForSpecs.IdentificationParameter("PARAM", 0.1, 100, 20);
            _identificationParameter.Scaling = Scalings.Log;


            _parameterIdentification.AddIdentificationParameter(_identificationParameter);
            var runResult = new ParameterIdentificationRunResult();

            runResult.BestResult.AddValue(_optimizedParameterValue);
            _parameterIdentification.AddResult(runResult);
        }
Beispiel #16
0
        protected override void Context()
        {
            _identificationParameterDTOMapper = A.Fake <IIdentificationParameterToIdentificationParameterDTOMapper>();
            _view = A.Fake <IParameterIdentificationIdentificationParametersView>();
            _identificationParameterFactory = A.Fake <IIdentificationParameterFactory>();
            _identificationParameterTask    = A.Fake <IIdentificationParameterTask>();

            sut = new ParameterIdentificationIdentificationParametersPresenter(_view, _identificationParameterFactory, _identificationParameterDTOMapper, _identificationParameterTask);

            _parameterIdentification = new ParameterIdentification();
            _identificationParameter = new IdentificationParameter();
            _parameterIdentification.AddIdentificationParameter(_identificationParameter);
            _identificationParameterDTO = new IdentificationParameterDTO(_identificationParameter);
            A.CallTo(() => _identificationParameterDTOMapper.MapFrom(_identificationParameter)).Returns(_identificationParameterDTO);

            A.CallTo(() => _view.BindTo(A <IEnumerable <IdentificationParameterDTO> > ._))
            .Invokes(x => _allIdentificationParameterDTO = x.GetArgument <IEnumerable <IdentificationParameterDTO> >(0).ToList());
        }
Beispiel #17
0
        protected override void Context()
        {
            base.Context();
            _project = A.Fake <IProject>();
            _parameterIdentification = new ParameterIdentification();

            A.CallTo(() => _executionContext.Project).Returns(_project);
            A.CallTo(() => _project.AllParameterIdentifications).Returns(new List <ParameterIdentification> {
                _parameterIdentification
            });

            _simulation = A.Fake <ISimulation>();

            _sensitivityAnalysis = new SensitivityAnalysis {
                Simulation = _simulation, IsLoaded = true
            };
            _sensitivityAnalysis.AddSensitivityParameter(new SensitivityParameter());
            A.CallTo(() => _project.AllSensitivityAnalyses).Returns(new List <SensitivityAnalysis> {
                _sensitivityAnalysis
            });
            _secondSimulation = A.Fake <ISimulation>();
            _parameterIdentification.AddSimulation(_simulation);
            _parameterIdentification.AddSimulation(_secondSimulation);

            _outputMapping = new OutputMapping {
                OutputSelection = new ParameterSelection(_simulation, "a|path")
            };
            _secondOutputMapping = new OutputMapping {
                OutputSelection = new ParameterSelection(_secondSimulation, "a|path")
            };
            _identificationParameter = new IdentificationParameter();
            _linkedParameter         = new ParameterSelection(_simulation, "a|path");
            _secondLinkedParameter   = new ParameterSelection(_secondSimulation, "a|path");

            _identificationParameter.AddLinkedParameter(_linkedParameter);
            _identificationParameter.AddLinkedParameter(_secondLinkedParameter);
            _parameterIdentification.AddIdentificationParameter(_identificationParameter);
            _parameterIdentification.AddOutputMapping(_outputMapping);
            _parameterIdentification.AddOutputMapping(_secondOutputMapping);
            _parameterIdentification.IsLoaded = true;
        }
        protected override void Context()
        {
            _modelCoreSimulationMapper   = A.Fake <ISimulationToModelCoreSimulationMapper>();
            _residualCalculatorFactory   = A.Fake <IResidualCalculatorFactory>();
            _timeGridUpdater             = A.Fake <ITimeGridUpdater>();
            _simModelBatchFactory        = A.Fake <ISimModelBatchFactory>();
            _optimizationAlgorithmMapper = A.Fake <IParameterIdentificationAlgorithmToOptmizationAlgorithmMapper>();
            _outputSelectionUpdater      = A.Fake <IOutputSelectionUpdater>();
            _coreUserSettings            = A.Fake <ICoreUserSettings>();
            _jacobianMatrixCalculator    = A.Fake <IJacobianMatrixCalculator>();

            _coreUserSettings.MaximumNumberOfCoresToUse = 2;
            sut = new ParameterIdentificationRun(_residualCalculatorFactory, _timeGridUpdater, _simModelBatchFactory, _modelCoreSimulationMapper,
                                                 _optimizationAlgorithmMapper, _outputSelectionUpdater, _coreUserSettings, _jacobianMatrixCalculator);

            _simulation           = A.Fake <ISimulation>();
            _parameter1           = A.Fake <IParameter>();
            _parameter1.Dimension = DomainHelperForSpecs.ConcentrationDimensionForSpecs();
            _parameter1.Value     = 15;
            _parameter2           = A.Fake <IParameter>();
            _parameter2.Value     = 35;
            _parameter2.Dimension = DomainHelperForSpecs.ConcentrationDimensionForSpecs();

            _parameterIdentification = new ParameterIdentification();
            _parameterIdentification.Configuration.LLOQMode       = LLOQModes.OnlyObservedData;
            _parameterIdentification.Configuration.RemoveLLOQMode = RemoveLLOQModes.NoTrailing;

            _parameterIdentification.AddSimulation(_simulation);

            _parameterSelection1 = ParameterSelectionFor(_parameter1, "ParameterPath1");
            _parameterSelection2 = ParameterSelectionFor(_parameter2, "ParameterPath2");

            _identificationParameter = DomainHelperForSpecs.IdentificationParameter("IdParam", min: 10, max: 20, startValue: 15);

            _identificationParameter.AddLinkedParameter(_parameterSelection1);
            _identificationParameter.AddLinkedParameter(_parameterSelection2);

            _modelCoreSimulation = A.Fake <IModelCoreSimulation>();

            A.CallTo(() => _modelCoreSimulationMapper.MapFrom(_simulation, true)).Returns(_modelCoreSimulation);

            _outputMapping = A.Fake <OutputMapping>();
            A.CallTo(() => _outputMapping.UsesSimulation(_simulation)).Returns(true);
            A.CallTo(() => _outputMapping.WeightedObservedData.ObservedData).Returns(DomainHelperForSpecs.ObservedData());
            _parameterIdentification.AddOutputMapping(_outputMapping);

            _simModelBatch = A.Fake <ISimModelBatch>();
            A.CallTo(() => _simModelBatchFactory.Create()).Returns(_simModelBatch);

            _parameterIdentification.AddIdentificationParameter(_identificationParameter);

            _residualCalculator = A.Fake <IResidualCalculator>();
            A.CallTo(_residualCalculatorFactory).WithReturnType <IResidualCalculator>().Returns(_residualCalculator);

            _algorithm = A.Fake <IOptimizationAlgorithm>();
            A.CallTo(() => _optimizationAlgorithmMapper.MapFrom(_parameterIdentification.AlgorithmProperties)).Returns(_algorithm);

            _cancellationTokenSource = new CancellationTokenSource();
            _cancellationToken       = _cancellationTokenSource.Token;

            _runInitializer = A.Fake <IParameterIdentifcationRunInitializer>();
            A.CallTo(() => _runInitializer.InitializeRun()).ReturnsAsync(_parameterIdentification);

            PerformExtraInitializationSteps();
            sut.InitializeWith(_runInitializer);
        }