public void TestCtor2()
        {
            _settings = new ApplicationSettings("foobar");
            var group = new DataSource {
                Id = DataSourceId.CreateNew()
            };
            var source = new DataSource("foo")
            {
                Id = DataSourceId.CreateNew(), ParentId = DataSourceId.CreateNew()
            };

            _settings.DataSources.Add(group);
            _settings.DataSources.Add(source);
            _dataSources            = new DataSources(_logFileFactory, _scheduler, _settings.DataSources);
            new Action(() => _model = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object)).ShouldNotThrow();
            _model.Observable.Count.Should().Be(2);
            var viewModel = _model.Observable[0];

            viewModel.Should().NotBeNull();
            viewModel.Should().BeOfType <MergedDataSourceViewModel>();
            viewModel.DataSource.Id.Should().Be(group.Id);
            var merged = (MergedDataSourceViewModel)viewModel;

            merged.Observable.Should().BeEmpty();

            viewModel = _model.Observable[1];
            viewModel.Should().NotBeNull();
            viewModel.Should().BeOfType <SingleDataSourceViewModel>();
        }
 public void SetUp()
 {
     _settingsMock = new Mock <IApplicationSettings>();
     _settingsMock.Setup(x => x.DataSources).Returns(new Tailviewer.Settings.DataSources());
     _settings    = _settingsMock.Object;
     _dataSources = new DataSources(_logFileFactory, _scheduler, _settings.DataSources);
     _model       = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object);
 }
示例#3
0
        public void TestConstructionPinned()
        {
            _settings.DataSources.IsPinned = true;
            var model = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object);

            model.IsPinned.Should().BeTrue();
            model.IsChecked.Should().BeTrue();
        }
示例#4
0
 public void SetUp()
 {
     _settingsMock = new Mock <IApplicationSettings>();
     _settingsMock.Setup(x => x.DataSources).Returns(new DataSourceSettings());
     _settings    = _settingsMock.Object;
     _bookmarks   = new Mock <IBookmarks>();
     _dataSources = new DataSources(_logSourceFactory, _scheduler, _filesystem, _settings.DataSources, _bookmarks.Object);
     _model       = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object);
 }
示例#5
0
        public void TestConstruction()
        {
            _settings.DataSources.IsPinned = false;
            var model = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object);

            model.IsPinned.Should().BeFalse();
            model.IsChecked.Should().BeFalse();
            model.DataSources.Should().BeEmpty();
            model.RemoveCurrentDataSourceCommand.CanExecute(null).Should().BeFalse("because there's no data source to remove");
            model.RemoveAllDataSourcesCommand.CanExecute(null).Should().BeFalse("because there's no data source to remove");
        }
        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);
        }
        public void TestRemove3()
        {
            var source = new DataSource("foo")
            {
                Id = DataSourceId.CreateNew()
            };

            _settings.DataSources.Add(source);
            _dataSources = new DataSources(_logFileFactory, _scheduler, _settings.DataSources);
            _model       = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object);
            var viewModel = _model.Observable[0];

            _settingsMock.ResetCalls();

            viewModel.RemoveCommand.Execute(null);

            _settingsMock.Verify(x => x.SaveAsync(), Times.Once);
        }
        public void TestRemove1()
        {
            _settings = new ApplicationSettings("foobar");
            var source = new DataSource("foo")
            {
                Id = DataSourceId.CreateNew()
            };

            _settings.DataSources.Add(source);
            _dataSources = new DataSources(_logFileFactory, _scheduler, _settings.DataSources);
            _model       = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object);
            var viewModel = _model.Observable[0];

            viewModel.RemoveCommand.Execute(null);

            _model.Observable.Should().BeEmpty();
            _dataSources.Sources.Should().BeEmpty();
            _settings.DataSources.Should().BeEmpty();
        }
        public void TestCtor1()
        {
            _settings = new ApplicationSettings("foobar");
            var group = new DataSource {
                Id = DataSourceId.CreateNew()
            };
            var source1 = new DataSource("foo")
            {
                Id = DataSourceId.CreateNew(), ParentId = group.Id
            };
            var source2 = new DataSource("bar")
            {
                Id = DataSourceId.CreateNew(), ParentId = group.Id
            };
            var source3 = new DataSource("clondyke")
            {
                Id = DataSourceId.CreateNew()
            };

            _settings.DataSources.Add(group);
            _settings.DataSources.Add(source1);
            _settings.DataSources.Add(source2);
            _settings.DataSources.Add(source3);
            _dataSources = new DataSources(_logFileFactory, _scheduler, _settings.DataSources);
            _model       = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object);
            _model.Observable.Count.Should().Be(2);
            var viewModel = _model.Observable[0];

            viewModel.Should().NotBeNull();
            viewModel.Should().BeOfType <MergedDataSourceViewModel>();
            viewModel.DataSource.Id.Should().Be(group.Id);
            var merged = (MergedDataSourceViewModel)viewModel;

            merged.Observable.Count().Should().Be(2);
            merged.Observable.ElementAt(0).DataSource.Id.Should().Be(source1.Id);
            merged.Observable.ElementAt(1).DataSource.Id.Should().Be(source2.Id);

            viewModel = _model.Observable[1];
            viewModel.Should().NotBeNull();
            viewModel.Should().BeOfType <SingleDataSourceViewModel>();
            viewModel.DataSource.Id.Should().Be(source3.Id);
        }
        public void TestRemove2()
        {
            _settings = new ApplicationSettings("foobar");
            var group = new DataSource {
                Id = DataSourceId.CreateNew()
            };
            var source1 = new DataSource("foo")
            {
                Id = DataSourceId.CreateNew(), ParentId = group.Id
            };
            var source2 = new DataSource("bar")
            {
                Id = DataSourceId.CreateNew(), ParentId = group.Id
            };
            var source3 = new DataSource("clondyke")
            {
                Id = DataSourceId.CreateNew(), ParentId = group.Id
            };

            _settings.DataSources.Add(source1);
            _settings.DataSources.Add(source2);
            _settings.DataSources.Add(source3);
            _settings.DataSources.Add(group);
            _dataSources = new DataSources(_logFileFactory, _scheduler, _settings.DataSources);
            _model       = new DataSourcesViewModel(_settings, _dataSources, _actionCenter.Object);
            var merged     = (MergedDataSourceViewModel)_model.Observable[0];
            var viewModel1 = merged.Observable.ElementAt(0);
            var viewModel2 = merged.Observable.ElementAt(1);
            var viewModel3 = merged.Observable.ElementAt(2);

            viewModel1.RemoveCommand.Execute(null);

            merged.ChildCount.Should().Be(2);
            merged.Observable.Should().NotContain(viewModel1);
            _model.Observable.Should().Equal(new object[] { merged });
            _dataSources.Sources.Should().Equal(new object[] { viewModel2.DataSource, viewModel3.DataSource, merged.DataSource });
            _settings.DataSources.Should().Equal(new object[] { source2, source3, group });
        }