Exemplo n.º 1
0
        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))));
        }
Exemplo n.º 2
0
 public ConfigurationWindowCommand(SSDTLifecycleExtensionPackage package,
                                   OleMenuCommandService commandService,
                                   ICommandAvailabilityService commandAvailabilityService,
                                   ToolWindowInitializer toolWindowInitializer)
     : base(package,
            commandService,
            commandAvailabilityService,
            CommandId,
            CommandSet,
            toolWindowInitializer)
 {
 }
Exemplo n.º 3
0
        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));
 }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }