Ejemplo n.º 1
0
        public void TestToggleModes()
        {
            var viewModel = new TimeFiltersViewModel(_timeFilter);

            viewModel.SelectEverything.Should().BeTrue();
            viewModel.SelectBySpecialInterval.Should().BeFalse();
            viewModel.SelectByInterval.Should().BeFalse();
            _timeFilter.Mode.Should().Be(TimeFilterMode.Everything);

            viewModel.SelectBySpecialInterval = true;
            viewModel.SelectBySpecialInterval.Should().BeTrue();
            viewModel.SelectEverything.Should().BeFalse();
            viewModel.SelectByInterval.Should().BeFalse();
            _timeFilter.Mode.Should().Be(TimeFilterMode.SpecialInterval);

            viewModel.SelectByInterval = true;
            viewModel.SelectByInterval.Should().BeTrue();
            viewModel.SelectEverything.Should().BeFalse();
            viewModel.SelectBySpecialInterval.Should().BeFalse();
            _timeFilter.Mode.Should().Be(TimeFilterMode.Interval);

            viewModel.SelectEverything = true;
            viewModel.SelectEverything.Should().BeTrue();
            viewModel.SelectBySpecialInterval.Should().BeFalse();
            viewModel.SelectByInterval.Should().BeFalse();
            _timeFilter.Mode.Should().Be(TimeFilterMode.Everything);
        }
Ejemplo n.º 2
0
        public void TestConstruction1()
        {
            var viewModel = new TimeFiltersViewModel(_timeFilter);

            viewModel.SelectEverything.Should().BeTrue();
            viewModel.SelectBySpecialInterval.Should().BeFalse();
            viewModel.SelectByInterval.Should().BeFalse();
            viewModel.Description.Should().Be("Select: Everything");
        }
Ejemplo n.º 3
0
        public void TestDescription()
        {
            var viewModel = new TimeFiltersViewModel(_timeFilter);

            viewModel.SelectBySpecialInterval = true;
            viewModel.SelectedSpecialInterval = new SpecialTimeRangeViewModel(SpecialDateTimeInterval.ThisWeek);

            viewModel.Description.Should().Be("Select: This week");
        }
Ejemplo n.º 4
0
        public void TestChangeSelectedFilter([ValueSource(nameof(Ranges))] SpecialDateTimeInterval interval)
        {
            var viewModel = new TimeFiltersViewModel(_timeFilter);
            var tmp       = viewModel.AvailableSpecialRanges.First(x => x.Interval == interval);

            viewModel.SelectBySpecialInterval = true;
            viewModel.SelectedSpecialInterval = tmp;

            _timeFilter.SpecialInterval.Should().Be(interval);
            _timeFilter.Mode.Should().Be(TimeFilterMode.SpecialInterval);
        }
Ejemplo n.º 5
0
        public void TestChangeMinimumAndMaximum()
        {
            var viewModel = new TimeFiltersViewModel(_timeFilter);

            viewModel.SelectByInterval = true;
            viewModel.Minimum          = new DateTime(2018, 8, 13, 23, 25, 0);
            viewModel.Maximum          = new DateTime(2018, 8, 14, 00, 30, 0);
            _timeFilter.Minimum.Should().Be(new DateTime(2018, 8, 13, 23, 25, 0));
            _timeFilter.Maximum.Should().Be(new DateTime(2018, 8, 14, 00, 30, 0));
            viewModel.Description.Should().Be("Select from 8/13/2018 11:25:00 PM to 8/14/2018 12:30:00 AM");
        }
Ejemplo n.º 6
0
        public void TestChangeMode([ValueSource(nameof(Ranges))] SpecialDateTimeInterval interval)
        {
            var viewModel = new TimeFiltersViewModel(_timeFilter);

            viewModel.SelectBySpecialInterval = true;
            viewModel.SelectedSpecialInterval = new SpecialTimeRangeViewModel(interval);

            viewModel.SelectEverything        = true;
            viewModel.SelectBySpecialInterval = true;
            viewModel.SelectedSpecialInterval.Should().NotBeNull();
            viewModel.SelectedSpecialInterval.Interval.Should().Be(interval);
        }
Ejemplo n.º 7
0
        public void TestChangeMaximum()
        {
            var viewModel = new TimeFiltersViewModel(_timeFilter);

            viewModel.SelectByInterval = true;
            viewModel.MonitorEvents();

            viewModel.Maximum = new DateTime(2018, 8, 13, 23, 25, 0);
            _timeFilter.Maximum.Should().Be(new DateTime(2018, 8, 13, 23, 25, 0));
            viewModel.Description.Should().Be("Select until 8/13/2018 11:25:00 PM");
            viewModel.ShouldRaise(nameof(TimeFiltersViewModel.OnFiltersChanged));
        }
Ejemplo n.º 8
0
        public void TestConstruction2([ValueSource(nameof(Ranges))] SpecialDateTimeInterval range)
        {
            _timeFilter.SpecialInterval = range;
            _timeFilter.Mode            = TimeFilterMode.SpecialInterval;

            var viewModel = new TimeFiltersViewModel(_timeFilter);

            viewModel.SelectEverything.Should().BeFalse();
            viewModel.SelectBySpecialInterval.Should().BeTrue();
            viewModel.SelectedSpecialInterval.Should().NotBeNull();
            viewModel.SelectedSpecialInterval.Should().BeOfType <SpecialTimeRangeViewModel>();
            viewModel.SelectedSpecialInterval.Interval.Should().Be(range);
        }
Ejemplo n.º 9
0
        public void TestChangeMinimum()
        {
            var viewModel = new TimeFiltersViewModel(_timeFilter);

            viewModel.SelectByInterval = true;
            using (var monitor = viewModel.Monitor())
            {
                viewModel.Minimum = new DateTime(2018, 8, 13, 23, 25, 0);
                _timeFilter.Minimum.Should().Be(new DateTime(2018, 8, 13, 23, 25, 0));
                viewModel.Description.Should().Be("Select from 8/13/2018 11:25:00 PM");
                monitor.Should().Raise(nameof(TimeFiltersViewModel.OnFiltersChanged));
            }
        }
Ejemplo n.º 10
0
        public QuickFiltersSidePanelViewModel(IApplicationSettings settings, IQuickFilters quickFilters)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (quickFilters == null)
            {
                throw new ArgumentNullException(nameof(quickFilters));
            }

            _settings = settings;
            _filters  = new QuickFiltersViewModel(quickFilters);
            _filters.OnFilterAdded    += QuickFiltersOnOnFilterAdded;
            _filters.OnFilterRemoved  += QuickFiltersOnOnFilterRemoved;
            _filters.OnFiltersChanged += OnOnFiltersChanged;

            _timeFilters = new TimeFiltersViewModel(quickFilters.TimeFilter);
            _timeFilters.OnFiltersChanged += OnOnFiltersChanged;

            UpdateTooltip();
            PropertyChanged += OnPropertyChanged;
        }