public void Import_Changed_UnrelatedImport_DoesNothing() { // Arrange var documentTracker = new DefaultVisualStudioDocumentTracker(Dispatcher, FilePath, ProjectPath, ProjectManager, WorkspaceEditorSettings, Workspace, TextBuffer, ImportDocumentManager); documentTracker.ContextChanged += (sender, args) => { throw new InvalidOperationException(); }; var importChangedArgs = new ImportChangedEventArgs("path/to/import", FileChangeKind.Changed, new[] { "path/to/differentfile" }); // Act & Assert (Does not throw) documentTracker.Import_Changed(null, importChangedArgs); }
public void Import_Changed_ImportAssociatedWithDocument_TriggersContextChanged() { // Arrange var documentTracker = new DefaultVisualStudioDocumentTracker(Dispatcher, FilePath, ProjectPath, ProjectManager, WorkspaceEditorSettings, Workspace, TextBuffer, ImportDocumentManager); var called = false; documentTracker.ContextChanged += (sender, args) => { Assert.Equal(ContextChangeKind.ImportsChanged, args.Kind); called = true; }; var importChangedArgs = new ImportChangedEventArgs("path/to/import", FileChangeKind.Changed, new[] { FilePath }); // Act documentTracker.Import_Changed(null, importChangedArgs); // Assert Assert.True(called); }