public void Execute_ServiceCalled() { var logger = new TestLogger(logToConsole: true); var toolwindowServiceMock = new Mock <IToolWindowService>(); var testSubject = new ShowToolWindowCommand(ValidCommandId, ValidToolWindowId, toolwindowServiceMock.Object, Mock.Of <IMenuCommandService>(), logger); // Act testSubject.Execute(null, null); toolwindowServiceMock.Verify(x => x.Show(ValidToolWindowId), Times.Once); logger.AssertNoOutputMessages(); }
public void Execute_NonCriticalException_IsSuppressed() { var logger = new TestLogger(logToConsole: true); var toolwindowServiceMock = new Mock <IToolWindowService>(); toolwindowServiceMock.Setup(x => x.Show(ValidToolWindowId)).Throws(new InvalidOperationException("thrown by test")); var testSubject = new ShowToolWindowCommand(ValidCommandId, ValidToolWindowId, toolwindowServiceMock.Object, Mock.Of <IMenuCommandService>(), logger); // Act testSubject.Execute(null, null); toolwindowServiceMock.Verify(x => x.Show(ValidToolWindowId), Times.Once); logger.AssertPartialOutputStringExists(ValidToolWindowId.ToString(), "thrown by test"); }
public void Execute_CriticalException_IsNotSuppressed() { var logger = new TestLogger(logToConsole: true); var toolwindowServiceMock = new Mock <IToolWindowService>(); toolwindowServiceMock.Setup(x => x.Show(ValidToolWindowId)).Throws(new StackOverflowException("thrown by test")); var testSubject = new ShowToolWindowCommand(ValidCommandId, ValidToolWindowId, toolwindowServiceMock.Object, Mock.Of <IMenuCommandService>(), logger); // Act Action act = () => testSubject.Execute(null, null); act.Should().ThrowExactly <StackOverflowException>().And.Message.Should().Be("thrown by test"); logger.AssertNoOutputMessages(); }