Ejemplo n.º 1
0
        public void GivenMaxTargetNotCountTopped_WhenAddingAdditionalTarget_ThenItAppendsIt()
        {
            List <MonitoringTarget> updatedTargets        = null;
            MonitoringTarget        expectedFirstTarget   = _currentTargets.ElementAt(0);
            MonitoringTarget        notCurrentlyMonitored = _allTargets.Except(_currentTargets).FirstOrDefault();

            Mock <IEventAggregator>                eventManager = new Mock <IEventAggregator>();
            Mock <OnWatchdogTargetChangedEvent>    watchdogTargetChangedEvent = new Mock <OnWatchdogTargetChangedEvent>();
            Mock <OnMonitoringTargetsChangedEvent> monTargetChangedEvent      = new Mock <OnMonitoringTargetsChangedEvent>();

            monTargetChangedEvent.Setup(e => e.Publish(It.IsAny <List <MonitoringTarget> >())).Verifiable();
            monTargetChangedEvent.Setup(e => e.Publish(It.IsAny <List <MonitoringTarget> >())).Callback <List <MonitoringTarget> >(lru => updatedTargets = lru);
            ComputerMonitoringTestHelper.SetupEventAggMockBehaviour(eventManager, watchdogTargetChangedEvent.Object, monTargetChangedEvent.Object);
            Mock <IAppManager> appManagerMock = GivenAppManagerMock();

            HardwareSettingsViewModel hardwareSettingsVm = new HardwareSettingsViewModel(eventManager.Object, appManagerMock.Object, Mock.Of <IUiSettings>());

            hardwareSettingsVm.MaxAllowedMonTargets++;
            MonitoringTargetViewModel elementToAdd = hardwareSettingsVm.MonitoringOptionsCollection.SingleOrDefault(mo => mo.Type == notCurrentlyMonitored);

            elementToAdd.IsSelected = true;

            elementToAdd.PublishMonitoringOptionStatusCommand.Execute(new KeyValuePair <MonitoringTarget, bool>(elementToAdd.Type, elementToAdd.IsSelected));

            Assert.Equal(expectedFirstTarget, updatedTargets.FirstOrDefault());
            monTargetChangedEvent.Verify(e => e.Publish(It.IsAny <List <MonitoringTarget> >()), Times.Exactly(2));
        }
Ejemplo n.º 2
0
        public void GivenMonitoredTarget_WhenMonitoringStatusChanged_ThenProperEventIsRaised()
        {
            KeyValuePair <MonitoringTarget, bool> eventResult   = new KeyValuePair <MonitoringTarget, bool>(MonitoringTarget.RAM_Usage, false);
            MonitoringTargetViewModel             targetSubject = new MonitoringTargetViewModel(MonitoringTarget.CPU_Load);

            targetSubject.IsSelected  = true;
            targetSubject.DisplayName = "TEST";
            SelectionChanged selectionChangedTestHandler = new SelectionChanged((arg) => eventResult = arg);

            targetSubject.SelectionChangedEvent += selectionChangedTestHandler;
            targetSubject.PublishMonitoringOptionStatusCommand.Execute(null);

            Assert.Equal(new KeyValuePair <MonitoringTarget, bool>(MonitoringTarget.CPU_Load, true), eventResult);

            targetSubject.SelectionChangedEvent -= selectionChangedTestHandler;
        }
Ejemplo n.º 3
0
        public void GivenCurrentlyMonitoredTargets_WhenRemoveSingleTarget_ThenItDoesNotPublishNewCollection()
        {
            List <MonitoringTarget>                updatedTargets             = null;
            Mock <IEventAggregator>                eventManager               = new Mock <IEventAggregator>();
            Mock <OnWatchdogTargetChangedEvent>    watchdogTargetChangedEvent = new Mock <OnWatchdogTargetChangedEvent>();
            Mock <OnMonitoringTargetsChangedEvent> monTargetChangedEvent      = new Mock <OnMonitoringTargetsChangedEvent>();

            monTargetChangedEvent.Setup(e => e.Publish(It.IsAny <List <MonitoringTarget> >())).Verifiable();
            monTargetChangedEvent.Setup(e => e.Publish(It.IsAny <List <MonitoringTarget> >())).Callback <List <MonitoringTarget> >(lru => updatedTargets = lru);
            ComputerMonitoringTestHelper.SetupEventAggMockBehaviour(eventManager, watchdogTargetChangedEvent.Object, monTargetChangedEvent.Object);
            Mock <IAppManager> appManagerMock = GivenAppManagerMock();

            HardwareSettingsViewModel hardwareSettingsVm = new HardwareSettingsViewModel(eventManager.Object, appManagerMock.Object, Mock.Of <IUiSettings>());

            updatedTargets = null;
            MonitoringTargetViewModel elementToUpdate = hardwareSettingsVm.MonitoringOptionsCollection.SingleOrDefault(mo => mo.Type == _currentTargets.LastOrDefault());

            elementToUpdate.IsSelected = false;

            elementToUpdate.PublishMonitoringOptionStatusCommand.Execute(new KeyValuePair <MonitoringTarget, bool>(elementToUpdate.Type, elementToUpdate.IsSelected));

            Assert.Null(updatedTargets);
            monTargetChangedEvent.Verify(e => e.Publish(It.IsAny <List <MonitoringTarget> >()), Times.Once);
        }