예제 #1
0
        private void CreateAnalysis()
        {
            var viewModel = _analysesSidePanel.CreateNewAnalysis();

            viewModel.OnRemove += AnalysisViewModelOnOnRemove;
            SelectedAnalysis    = viewModel;
        }
예제 #2
0
        public void TestRemoveAnalysis1()
        {
            var sidePanel = new AnalysesSidePanel(_dispatcher, _taskScheduler, _analysisStorage.Object, _pluginRegistry);
            var viewModel = sidePanel.CreateNewAnalysis();

            sidePanel.Active.Should().HaveCount(1);

            viewModel.RemoveCommand.Execute(null);
            sidePanel.Active.Should().BeEmpty("because we've just removed the only analysis");
        }
예제 #3
0
        public void TestCreateNew()
        {
            var sidePanel = new AnalysesSidePanel(_dispatcher, _taskScheduler, _analysisStorage.Object, _pluginRegistry);

            sidePanel.HasActiveAnalyses.Should().BeFalse();
            sidePanel.Active.Should().BeEmpty();
            sidePanel.CreateNewAnalysis();
            sidePanel.HasActiveAnalyses.Should().BeTrue();
            sidePanel.Active.Should().HaveCount(1);
        }
예제 #4
0
        public void TestRemoveAnalysis2()
        {
            var sidePanel = new AnalysesSidePanel(_dispatcher, _taskScheduler, _analysisStorage.Object, _pluginRegistry);
            var viewModel = sidePanel.CreateNewAnalysis();

            sidePanel.Active.Should().HaveCount(1);

            _analysisStorage.Verify(x => x.Remove(It.IsAny <AnalysisId>()), Times.Never);
            viewModel.RemoveCommand.Execute(null);
            _analysisStorage.Verify(x => x.Remove(It.Is <AnalysisId>(y => y == viewModel.Id)), Times.Once,
                                    "because the view model is responsible for removing the analysis (so it doesn't continue to run in the background)");
        }