Example #1
0
        public async Task Run(ParameterIdentification parameterIdentification)
        {
            if (!_entityValidationTask.Validate(parameterIdentification))
            {
                return;
            }

            try
            {
                if (IsRunning)
                {
                    throw new OSPSuiteException(Error.CannotStartTwoConcurrentParameterIdentifications);
                }

                using (_parameterIdentificationEngine = _parameterIdentificationEngineFactory.Create())
                {
                    var begin = SystemTime.UtcNow();
                    await _parameterIdentificationEngine.StartAsync(parameterIdentification);

                    var end       = SystemTime.UtcNow();
                    var timeSpent = end - begin;
                    _dialogCreator.MessageBoxInfo(Captions.ParameterIdentification.ParameterIdentificationFinished(timeSpent.ToDisplay()));
                }
            }
            catch (OperationCanceledException)
            {
                _dialogCreator.MessageBoxInfo(Captions.ParameterIdentification.ParameterIdentificationCanceled);
            }
            finally
            {
                _executionContext.ProjectChanged();
                _parameterIdentificationEngine = null;
            }
        }
        protected override Task Context()
        {
            _parameterIdentificationEngineFactory         = A.Fake <IParameterIdentificationEngineFactory>();
            _transferOptimizedParametersToSimulationsTask = A.Fake <ITransferOptimizedParametersToSimulationsTask>();
            _logger = A.Fake <ILogger>();
            sut     = new RunParameterIdentificationQualificationStepRunner(_parameterIdentificationEngineFactory, _transferOptimizedParametersToSimulationsTask, _logger);

            _parameterIdentification        = new ParameterIdentification();
            _runParameterIdentificationStep = new RunParameterIdentificationQualificationStep
            {
                ParameterIdentification = _parameterIdentification
            };

            _parameterIdentificationEngine = A.Fake <IParameterIdentificationEngine>();
            A.CallTo(() => _parameterIdentificationEngineFactory.Create()).Returns(_parameterIdentificationEngine);
            return(_completed);
        }