public async Task TryInitializeToolWindowAsync_ViewModelInitializationSucceeds_Async() { // Arrange var project = new SqlProject("a", "b", "c"); var vsaMock = new Mock <IVisualStudioAccess>(); vsaMock.Setup(m => m.GetSelectedSqlProject()).Returns(project); var loggerMock = Mock.Of <ILogger>(); var spMock = Mock.Of <IServiceProvider>(); var cs = new OleMenuCommandService(spMock); var dr = new DependencyResolver(vsaMock.Object, loggerMock, cs); var twi = new ToolWindowInitializer(vsaMock.Object, dr); var viewMock = new Mock <IView>(); var windowMock = new Mock <IVisualStudioToolWindow>(); windowMock.SetupGet(m => m.Content).Returns(viewMock.Object); // Act var(success, fullProjectPath) = await twi.TryInitializeToolWindowAsync <ViewModelBaseTestImplementationWithSuccessfulInitialization>(windowMock.Object); // Assert Assert.IsTrue(success); Assert.AreEqual("b", fullProjectPath); viewMock.Verify(m => m.SetDataContext(It.Is <IViewModel>(model => model != null && model.GetType() == typeof(ViewModelBaseTestImplementationWithSuccessfulInitialization)))); }
public ConfigurationWindowCommand(SSDTLifecycleExtensionPackage package, OleMenuCommandService commandService, ICommandAvailabilityService commandAvailabilityService, ToolWindowInitializer toolWindowInitializer) : base(package, commandService, commandAvailabilityService, CommandId, CommandSet, toolWindowInitializer) { }
public void TryInitializeToolWindowAsync_ArgumentNullException_Window() { // Arrange var vsaMock = Mock.Of <IVisualStudioAccess>(); var loggerMock = Mock.Of <ILogger>(); var spMock = Mock.Of <IServiceProvider>(); var cs = new OleMenuCommandService(spMock); var dr = new DependencyResolver(vsaMock, loggerMock, cs); var twi = new ToolWindowInitializer(vsaMock, dr); // Act & Assert // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => twi.TryInitializeToolWindowAsync <ViewModelBaseTestImplementationWithSuccessfulInitialization>(null)); }
protected WindowBaseCommand(SSDTLifecycleExtensionPackage package, OleMenuCommandService commandService, ICommandAvailabilityService commandAvailabilityService, int commandId, Guid commandSet, ToolWindowInitializer toolWindowInitializer) : base(commandService, commandAvailabilityService, commandId, commandSet) { _package = package ?? throw new ArgumentNullException(nameof(package)); _toolWindowInitializer = toolWindowInitializer ?? throw new ArgumentNullException(nameof(toolWindowInitializer)); }
public async Task TryInitializeToolWindowAsync_NoProjectSelected_Async() { // Arrange var vsaMock = new Mock <IVisualStudioAccess>(); vsaMock.Setup(m => m.GetSelectedSqlProject()).Returns(null as SqlProject); var loggerMock = Mock.Of <ILogger>(); var spMock = Mock.Of <IServiceProvider>(); var cs = new OleMenuCommandService(spMock); var dr = new DependencyResolver(vsaMock.Object, loggerMock, cs); var twi = new ToolWindowInitializer(vsaMock.Object, dr); var windowMock = Mock.Of <IVisualStudioToolWindow>(); // Act var(success, fullProjectPath) = await twi.TryInitializeToolWindowAsync <ViewModelBaseTestImplementationWithSuccessfulInitialization>(windowMock); // Assert Assert.IsFalse(success); Assert.IsNull(fullProjectPath); }
public async Task TryInitializeToolWindowAsync_WindowContentIsNoView_Async() { // Arrange var project = new SqlProject("a", "b", "c"); var vsaMock = new Mock <IVisualStudioAccess>(); vsaMock.Setup(m => m.GetSelectedSqlProject()).Returns(project); var loggerMock = Mock.Of <ILogger>(); var spMock = Mock.Of <IServiceProvider>(); var cs = new OleMenuCommandService(spMock); var dr = new DependencyResolver(vsaMock.Object, loggerMock, cs); var twi = new ToolWindowInitializer(vsaMock.Object, dr); var windowMock = new Mock <IVisualStudioToolWindow>(); windowMock.SetupGet(m => m.Content).Returns(null as object); // Act var(success, fullProjectPath) = await twi.TryInitializeToolWindowAsync <ViewModelBaseTestImplementationWithExceptionInitialization>(windowMock.Object); // Assert Assert.IsTrue(success); Assert.AreEqual("b", fullProjectPath); }