public void SetSelectedHotspot_HotspotSet()
        {
            var testSubject = CreateTestSubject();

            var selection = new HotspotViewModel(Mock.Of <IAnalysisIssueVisualization>());

            testSubject.SelectedHotspot = selection;

            testSubject.SelectedHotspot.Should().Be(selection);
        }
        public void SetSelectedHotspot_ValueIsTheSame_SelectionServiceNotCalled()
        {
            var selectionService = new Mock <IIssueSelectionService>();
            var testSubject      = CreateTestSubject(selectionService: selectionService.Object);

            var selection = new HotspotViewModel(Mock.Of <IAnalysisIssueVisualization>());

            testSubject.SelectedHotspot = selection;

            selectionService.Reset();

            testSubject.SelectedHotspot = selection;

            selectionService.VerifyNoOtherCalls();
        }
        public void SelectionChanged_SelectedHotspotIsNotInList_SelectionSetToNull(bool isSelectedNull)
        {
            var selectionService = new Mock <IIssueSelectionService>();

            var testSubject = CreateTestSubject(selectionService: selectionService.Object);

            var oldSelection = new HotspotViewModel(Mock.Of <IAnalysisIssueVisualization>());

            testSubject.SelectedHotspot = oldSelection;
            testSubject.SelectedHotspot.Should().Be(oldSelection);

            var selectedIssue = isSelectedNull ? null : Mock.Of <IAnalysisIssueVisualization>();

            RaiseSelectionChangedEvent(selectionService, selectedIssue);

            testSubject.SelectedHotspot.Should().BeNull();
        }