public void Set_HasPreviousItems_HasSomeNewItems_CollectionChangedAndEventRaised() { var testSubject = CreateTestSubject(); var issueViz1 = Mock.Of <IAnalysisIssueVisualization>(); var issueViz2 = Mock.Of <IAnalysisIssueVisualization>(); var issueViz3 = Mock.Of <IAnalysisIssueVisualization>(); var oldItems = new[] { issueViz1, issueViz2 }; testSubject.Set(oldItems, null); var callCount = 0; IssuesChangedEventArgs suppliedArgs = null; testSubject.IssuesChanged += (sender, args) => { callCount++; suppliedArgs = args; }; var newItems = new[] { issueViz2, issueViz3 }; testSubject.Set(newItems, null); testSubject.GetAll().Should().BeEquivalentTo(newItems); callCount.Should().Be(1); suppliedArgs.RemovedIssues.Should().BeEquivalentTo(issueViz1); suppliedArgs.AddedIssues.Should().BeEquivalentTo(issueViz3); }
public void GetOrAdd_HasSubscribersToIssuesChanged_SubscribersNotified() { var testSubject = CreateTestSubject(); var callCount = 0; IssuesChangedEventArgs suppliedArgs = null; testSubject.IssuesChanged += (sender, args) => { callCount++; suppliedArgs = args; }; var addedIssueViz = testSubject.GetOrAdd(CreateIssueViz(hotspotKey: "some hotspot")); callCount.Should().Be(1); suppliedArgs.RemovedIssues.Should().BeEmpty(); suppliedArgs.AddedIssues.Should().BeEquivalentTo(addedIssueViz); }
public void RefreshErrorList_HasListener_EventRaised() { var testSubject = CreateTestSubject(); var factory = CreateFactoryAndSnapshotWithSpecifiedFiles("file1.txt", "file2.txt"); testSubject.AddFactory(factory); IssuesChangedEventArgs suppliedArgs = null; var eventCount = 0; testSubject.IssuesChanged += (sender, args) => { suppliedArgs = args; eventCount++; }; testSubject.RefreshErrorList(factory); eventCount.Should().Be(1); suppliedArgs.Should().NotBeNull(); suppliedArgs.AnalyzedFiles.Should().BeEquivalentTo("file1.txt", "file2.txt"); }
private void LocationStoreAggregator_IssuesChanged(object sender, IssuesChangedEventArgs e) { if (selectionService.SelectedIssue == null) { return; } var issuesChangedInSelectedFile = e.AnalyzedFiles.Any(x => PathHelper.IsMatchingPath(x, selectionService.SelectedIssue.CurrentFilePath)); if (issuesChangedInSelectedFile) { var selectedIssueNoLongerExists = !locationStoreAggregator.Contains(selectionService.SelectedIssue); if (selectedIssueNoLongerExists) { selectionService.SelectedIssue = null; } } }
public void Set_HasPreviousItems_NoNewItems_CollectionChangedAndEventRaised() { var testSubject = CreateTestSubject(); var oldItems = new[] { Mock.Of <IAnalysisIssueVisualization>(), Mock.Of <IAnalysisIssueVisualization>() }; testSubject.Set(oldItems, null); var callCount = 0; IssuesChangedEventArgs suppliedArgs = null; testSubject.IssuesChanged += (sender, args) => { callCount++; suppliedArgs = args; }; testSubject.Set(Enumerable.Empty <IAnalysisIssueVisualization>(), null); testSubject.GetAll().Should().BeEmpty(); callCount.Should().Be(1); suppliedArgs.RemovedIssues.Should().BeEquivalentTo(oldItems); suppliedArgs.AddedIssues.Should().BeEmpty(); }
private void NotifyIssuesChanged(IssuesChangedEventArgs args) { IssuesChanged?.Invoke(this, args); }