示例#1
0
        public void AreNotificationsEnabled_Raises_PropertyChanged()
        {
            var model   = new NotificationIndicatorViewModel();
            var monitor = model.Monitor();

            model.AreNotificationsEnabled = true;

            model.AreNotificationsEnabled.Should().BeTrue();
            monitor.Should().RaisePropertyChangeFor(x => x.AreNotificationsEnabled);
        }
示例#2
0
        public void IsToolTipVisible_Raises_PropertyChanged()
        {
            var model   = new NotificationIndicatorViewModel();
            var monitor = model.Monitor();

            model.IsToolTipVisible = true;

            model.IsToolTipVisible.Should().BeTrue();
            monitor.Should().RaisePropertyChangeFor(x => x.IsToolTipVisible);
        }
示例#3
0
        public void Text_Raises_PropertyChanged()
        {
            var model   = new NotificationIndicatorViewModel();
            var monitor = model.Monitor();

            model.ToolTipText = "test";

            model.ToolTipText.Should().Be("test");
            monitor.Should().RaisePropertyChangeFor(x => x.ToolTipText);
        }
示例#4
0
        public void HasUnreadEvents_Raises_PropertyChanged()
        {
            var model   = new NotificationIndicatorViewModel();
            var monitor = model.Monitor();

            model.HasUnreadEvents = true;

            model.HasUnreadEvents.Should().BeTrue();
            monitor.Should().RaisePropertyChangeFor(x => x.HasUnreadEvents);
        }
        public void IsIconVisible_Raises_PropertyChanged()
        {
            var model = new NotificationIndicatorViewModel();

            model.MonitorEvents();

            model.IsIconVisible = true;

            model.IsIconVisible.Should().BeTrue();
            model.ShouldRaisePropertyChangeFor(x => x.IsIconVisible);
        }
示例#6
0
        public void HasUnreadEvents_WithNo_Events_UpdatesTooltipText()
        {
            var model   = new NotificationIndicatorViewModel();
            var monitor = model.Monitor();

            model.IsIconVisible           = true;
            model.AreNotificationsEnabled = true;
            model.IsToolTipVisible        = true;
            monitor.Should().RaisePropertyChangeFor(x => x.IsToolTipVisible);

            model.ToolTipText.Should().Be("You have no unread events.");
        }
        private NotificationIndicatorViewModel SetupModelWithNotifications(bool areEnabled,
                                                                           bool areVisible, SonarQubeNotification[] events)
        {
            var timerMock = new Mock <ITimer>();
            var model     = new NotificationIndicatorViewModel(a => a(), timerMock.Object);

            model.AreNotificationsEnabled = areEnabled;
            model.IsIconVisible           = areVisible;
            model.SetNotificationEvents(events);

            return(model);
        }
        public void IsToolTipVisible_False_Stops_Timer()
        {
            // Arrange
            var timerMock = new Mock <ITimer>();

            var model = new NotificationIndicatorViewModel(a => a(), timerMock.Object);

            model.IsToolTipVisible = true;

            // Act
            model.IsToolTipVisible = false;

            timerMock.Verify(x => x.Stop(), Times.Once);
        }
示例#9
0
        public void HasUnreadEvents_WithEvents_UpdatesTooltipText()
        {
            var timerMock = new Mock <ITimer>();
            var model     = new NotificationIndicatorViewModel(a => a(), timerMock.Object);
            var monitor   = model.Monitor();

            model.IsIconVisible           = true;
            model.AreNotificationsEnabled = true;
            model.IsToolTipVisible        = true;
            model.SetNotificationEvents(testEvents);

            monitor.Should().RaisePropertyChangeFor(x => x.IsToolTipVisible);

            model.ToolTipText.Should().Be("You have 1 unread event.");
        }