public void TestSearch1()
        {
            var viewModel = new QuickNavigationViewModel(_dataSources.Object);

            _sources.Add(CreateSingleDataSource("Tailviewer.log"));

            viewModel.Suggestions.Should().BeNullOrEmpty();
            viewModel.SearchTerm = "TAIL";
            viewModel.Suggestions.Should().HaveCount(1);
        }
        public void TestSearch5()
        {
            var viewModel = new QuickNavigationViewModel(_dataSources.Object);

            _sources.Add(CreateMergedDataSource("Foobar"));
            _sources.Add(CreateSingleDataSource("Foo"));

            viewModel.SearchTerm = "Foo";
            viewModel.Suggestions.Should().HaveCount(2);
        }
        public void TestSearch4()
        {
            var viewModel = new QuickNavigationViewModel(_dataSources.Object);

            _sources.Add(CreateSingleDataSource("A"));
            _sources.Add(CreateSingleDataSource("AA"));

            viewModel.SearchTerm = "A";
            viewModel.Suggestions.Should().HaveCount(2);
            viewModel.SelectedSuggestion.Should().Be(viewModel.Suggestions[0]);
        }
        public void TestSearch3()
        {
            var viewModel = new QuickNavigationViewModel(_dataSources.Object);

            _sources.Add(CreateSingleDataSource("A"));
            _sources.Add(CreateSingleDataSource("AA"));

            viewModel.SearchTerm = "B";
            viewModel.Suggestions.Should().BeNullOrEmpty();
            viewModel.SelectedSuggestion.Should().BeNull();
        }
        public void TestSearch2()
        {
            var viewModel = new QuickNavigationViewModel(_dataSources.Object);

            _sources.Add(CreateSingleDataSource("Tailviewer.log"));

            viewModel.SearchTerm = "AIL";
            var suggestion = viewModel.Suggestions[0];

            suggestion.Should().NotBeNull();
            suggestion.Prefix.Should().Be("T");
            suggestion.Midfix.Should().Be("ail");
            suggestion.Postfix.Should().Be("viewer.log");
        }
        public LogViewMainPanelViewModel(IServiceContainer services,
                                         IActionCenter actionCenter,
                                         IDataSources dataSources,
                                         IQuickFilters quickFilters,
                                         IHighlighters highlighters,
                                         IApplicationSettings applicationSettings)
            : base(applicationSettings)
        {
            if (actionCenter == null)
            {
                throw new ArgumentNullException(nameof(actionCenter));
            }

            _applicationSettings = applicationSettings;
            _actionCenter        = actionCenter;

            _dataSources = new DataSourcesViewModel(applicationSettings, dataSources, _actionCenter);
            _dataSources.PropertyChanged += DataSourcesOnPropertyChanged;
            _quickFilters = new QuickFiltersSidePanelViewModel(applicationSettings, quickFilters);
            _quickFilters.OnFiltersChanged += OnFiltersChanged;

            _highlighters = new HighlightersSidePanelViewModel(highlighters);

            _goToLine = new GoToLineViewModel();
            _goToLine.LineNumberChosen += GoToLineOnLineNumberChosen;

            _quickNavigation = new QuickNavigationViewModel(dataSources);
            _quickNavigation.DataSourceChosen += QuickNavigationOnDataSourceChosen;

            _bookmarks = new BookmarksViewModel(dataSources, OnNavigateToBookmark);
            _outline   = new OutlineSidePanelViewModel(services);
            _issues    = new IssuesSidePanelViewModel(services);

            _sidePanels = new ISidePanelViewModel[]
            {
                _dataSources,
                _quickFilters,
                //_highlighters,
                _bookmarks,
                _outline,
                _issues
            };

            SelectedSidePanel = _sidePanels.FirstOrDefault(x => x.Id == _applicationSettings.MainWindow?.SelectedSidePanel);

            PropertyChanged += OnPropertyChanged;
            ChangeDataSource(CurrentDataSource);
        }
Beispiel #7
0
        public void TestChooseSuggestion()
        {
            var viewModel = new QuickNavigationViewModel(_dataSources.Object);

            _sources.Add(CreateSingleDataSource("A"));
            _sources.Add(CreateSingleDataSource("AA"));

            viewModel.SearchTerm = "AA";
            viewModel.Suggestions.Should().HaveCount(1);
            var suggestion = viewModel.Suggestions[0];

            viewModel.ChooseDataSourceCommand.CanExecute(suggestion).Should().BeTrue();

            viewModel.MonitorEvents();
            viewModel.ChooseDataSourceCommand.Execute(suggestion);
            viewModel.ShouldRaise(nameof(QuickNavigationViewModel.DataSourceChosen));
        }