public void ProjectManager_Changed_DocumentAdded_InvokesGetOrCreateDocument() { // Arrange var changedOnDisk = new EventHandler((o, args) => { }); var changedInEditor = new EventHandler((o, args) => { }); var opened = new EventHandler((o, args) => { }); var closed = new EventHandler((o, args) => { }); var editorDocumentManger = new Mock <EditorDocumentManager>(MockBehavior.Strict); editorDocumentManger .Setup(e => e.GetOrCreateDocument(It.IsAny <DocumentKey>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>())) .Returns(GetEditorDocument()) .Callback <DocumentKey, EventHandler, EventHandler, EventHandler, EventHandler>((key, onChangedOnDisk, onChangedInEditor, onOpened, onClosed) => { Assert.Same(changedOnDisk, onChangedOnDisk); Assert.Same(changedInEditor, onChangedInEditor); Assert.Same(opened, onOpened); Assert.Same(closed, onClosed); }); var listener = new EditorDocumentManagerListener( Dispatcher, JoinableTaskFactory.Context, editorDocumentManger.Object, changedOnDisk, changedInEditor, opened, closed); var project = Mock.Of <ProjectSnapshot>(p => p.FilePath == "/Path/to/project.csproj", MockBehavior.Strict); // Act & Assert listener.ProjectManager_Changed(null, new ProjectChangeEventArgs(project, project, ProjectChangeKind.DocumentAdded)); }
public void ProjectManager_Changed_OpenDocumentAdded_InvokesOnOpened() { // Arrange var called = false; var opened = new EventHandler((o, args) => { called = true; }); var editorDocumentManger = new Mock <EditorDocumentManager>(MockBehavior.Strict); editorDocumentManger .Setup(e => e.GetOrCreateDocument(It.IsAny <DocumentKey>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>())) .Returns(GetEditorDocument(isOpen: true)); var listener = new EditorDocumentManagerListener(editorDocumentManger.Object, onChangedOnDisk: null, onChangedInEditor: null, onOpened: opened, onClosed: null); // Act listener.ProjectManager_Changed(null, new ProjectChangeEventArgs("/Path/to/project.csproj", ProjectChangeKind.DocumentAdded)); // Assert Assert.True(called); }
public void ProjectManager_Changed_OpenDocumentAdded_InvokesOnOpened() { // Arrange var called = false; var opened = new EventHandler((o, args) => called = true); var editorDocumentManger = new Mock <EditorDocumentManager>(MockBehavior.Strict); editorDocumentManger .Setup(e => e.GetOrCreateDocument(It.IsAny <DocumentKey>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>(), It.IsAny <EventHandler>())) .Returns(GetEditorDocument(isOpen: true)); var listener = new EditorDocumentManagerListener( Dispatcher, JoinableTaskFactory.Context, editorDocumentManger.Object, onChangedOnDisk: null, onChangedInEditor: null, onOpened: opened, onClosed: null); var project = Mock.Of <ProjectSnapshot>(p => p.FilePath == "/Path/to/project.csproj", MockBehavior.Strict); // Act listener.ProjectManager_Changed(null, new ProjectChangeEventArgs(project, project, ProjectChangeKind.DocumentAdded)); // Assert Assert.True(called); }