Exemplo n.º 1
0
        public async Task EvaluateUserPromptResult_GetResponseWithoutResetAndContinue_ShouldReturnProperResponseAsync()
        {
            FlatWizardFilterSettingsWrapper wrapper = new FlatWizardFilterSettingsWrapper(new FilterInfo("Test", 0, 0), new FlatWizardFilterSettings()
            {
                HistogramMeanTarget = 0.5,
                HistogramTolerance  = 0.1
            }, 8);

            DispatcherFrame frame = new DispatcherFrame();

            windowServiceMock.Setup(m => m.ShowDialog(It.IsAny <FlatWizardUserPromptVM>(), It.IsAny <string>(), System.Windows.ResizeMode.NoResize, System.Windows.WindowStyle.ToolWindow,
                                                      It.IsAny <ICommand>()))
            .Returns(Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, new Action <object>((f) => { ((DispatcherFrame)f).Continue = false; }), frame))
            .Callback <FlatWizardUserPromptVM, object, object, object, object>((f, f1, f2, f3, f4) => {
                f.Continue = true;
                f.Reset    = false;
            });

            var statMock = new Mock <IImageStatistics>();

            statMock.Setup(m => m.Mean).Returns(500);
            var imageDataMock = new Mock <IImageData>();

            imageDataMock.Setup(m => m.Statistics).Returns(new Nito.AsyncEx.AsyncLazy <IImageStatistics>(() => Task.FromResult(statMock.Object)));

            var resultTask = _sut.EvaluateUserPromptResultAsync(imageDataMock.Object, 10, "", wrapper);

            Dispatcher.PushFrame(frame);
            var result = await resultTask;

            result.Continue.Should().BeTrue();
            result.NextExposureTime.Should().Be(10);
        }