public async Tasks.Task VerifyProjectAdded_DifferentProviders() { var projectGuid = Guid.NewGuid(); var mockIVsStartupProjectsListService = IVsStartupProjectsListServiceFactory.CreateMockInstance(projectGuid); var iVsStartupProjectsListService = mockIVsStartupProjectsListService.Object; var serviceProvider = SVsServiceProviderFactory.Create(iVsStartupProjectsListService); var debuggerLaunchProvider = CreateDebuggerLaunchProviderInstance(); debuggerLaunchProvider.Debuggers.Add(GetLazyDebugLaunchProvider(debugs: false)); debuggerLaunchProvider.Debuggers.Add(GetLazyDebugLaunchProvider(debugs: true)); var activeConfiguredProjectWithLaunchProviders = IActiveConfiguredProjectFactory.ImplementValue(() => debuggerLaunchProvider); var startupProjectRegistrar = CreateInstance( projectGuid, serviceProvider, activeConfiguredProjectWithLaunchProviders); var testWrapperMethod = new DataFlowExtensionMethodCaller(new DataFlowExtensionMethodWrapperMock()); startupProjectRegistrar.WrapperMethodCaller = testWrapperMethod; await startupProjectRegistrar.OnProjectFactoryCompletedAsync(); mockIVsStartupProjectsListService.Verify(s => s.AddProject(ref projectGuid), Times.Once); mockIVsStartupProjectsListService.Verify(s => s.RemoveProject(ref projectGuid), Times.Never); }
public async Tasks.Task VerifyProjectNotAdded() { var projectGuid = Guid.NewGuid(); var mockIVsStartupProjectsListService = IVsStartupProjectsListServiceFactory.CreateMockInstance(projectGuid); var iVsStartupProjectsListService = mockIVsStartupProjectsListService.Object; var serviceProvider = SVsServiceProviderFactory.Create(iVsStartupProjectsListService); var debuggerLaunchProvider = CreateDebuggerLaunchProviderInstance(); debuggerLaunchProvider.Debuggers.Add(GetLazyDebugLaunchProvider(debugs: false)); var activeConfiguredProjectWithLaunchProviders = ActiveConfiguredProjectFactory.ImplementValue(() => debuggerLaunchProvider); var startupProjectRegistrar = CreateInstance( serviceProvider, activeConfiguredProjectWithLaunchProviders); var testWrapperMethod = new DataFlowExtensionMethodCaller(new DataFlowExtensionMethodWrapperMock()); startupProjectRegistrar.WrapperMethodCaller = testWrapperMethod; await startupProjectRegistrar.Load(); var projectSubscriptionUpdate = IProjectSubscriptionUpdateFactory.FromJson(@"{ ""ProjectChanges"": { ""ConfigurationGeneral"": { ""Difference"": { ""ChangedProperties"": [ ""Something"" ] } } } }"); await startupProjectRegistrar.ConfigurationGeneralRuleBlock_ChangedAsync( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(projectSubscriptionUpdate)); mockIVsStartupProjectsListService.Verify(s => s.RemoveProject(ref projectGuid), Times.Never); mockIVsStartupProjectsListService.Verify(s => s.AddProject(ref projectGuid), Times.Never); projectSubscriptionUpdate = IProjectSubscriptionUpdateFactory.FromJson(@"{ ""ProjectChanges"": { ""ConfigurationGeneral"": { ""Difference"": { ""ChangedProperties"": [ ""ProjectGuid"" ] }, ""After"": { ""Properties"": { ""ProjectGuid"": ""GuidNotParsable"" } } } } }"); await startupProjectRegistrar.ConfigurationGeneralRuleBlock_ChangedAsync( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(projectSubscriptionUpdate)); mockIVsStartupProjectsListService.Verify(s => s.RemoveProject(ref projectGuid), Times.Never); mockIVsStartupProjectsListService.Verify(s => s.AddProject(ref projectGuid), Times.Never); }
internal AbstractAddClassProjectCommand CreateInstance(IPhysicalProjectTree projectTree = null, IUnconfiguredProjectVsServices projectVsServices = null, Shell.SVsServiceProvider serviceProvider = null, IProjectTreeProvider provider = null, IVsAddProjectItemDlg dlg = null) { projectTree = projectTree ?? IPhysicalProjectTreeFactory.Create(provider); projectVsServices = projectVsServices ?? IUnconfiguredProjectVsServicesFactory.Implement(threadingServiceCreator: () => IProjectThreadingServiceFactory.Create()); serviceProvider = serviceProvider ?? SVsServiceProviderFactory.Create(dlg); return(CreateInstance(projectTree, projectVsServices, serviceProvider)); }
internal AbstractMoveCommand CreateAbstractInstance(IPhysicalProjectTree projectTree = null, Shell.SVsServiceProvider serviceProvider = null, ConfiguredProject configuredProject = null) { projectTree = projectTree ?? IPhysicalProjectTreeFactory.Create(); serviceProvider = serviceProvider ?? SVsServiceProviderFactory.Create(); configuredProject = configuredProject ?? ConfiguredProjectFactory.Create(); return(CreateInstance(projectTree, serviceProvider, configuredProject)); }
internal AbstractMoveCommand CreateAbstractInstance(IPhysicalProjectTree projectTree = null, Shell.SVsServiceProvider serviceProvider = null, ConfiguredProject configuredProject = null, IProjectAccessor accessor = null) { projectTree ??= IPhysicalProjectTreeFactory.Create(); serviceProvider ??= SVsServiceProviderFactory.Create(); configuredProject ??= ConfiguredProjectFactory.Create(); accessor ??= IProjectAccessorFactory.Create(); return(CreateInstance(projectTree, serviceProvider, configuredProject, accessor)); }
public async Tasks.Task VerifyProjectAdded_RemovedWithChange() { var projectGuid = Guid.NewGuid(); var mockIVsStartupProjectsListService = IVsStartupProjectsListServiceFactory.CreateMockInstance(projectGuid); var iVsStartupProjectsListService = IVsServiceFactory.Create <SVsStartupProjectsListService, IVsStartupProjectsListService>(mockIVsStartupProjectsListService.Object); var serviceProvider = SVsServiceProviderFactory.Create(iVsStartupProjectsListService); var debuggerLaunchProvider = CreateDebuggerLaunchProviderInstance(); debuggerLaunchProvider.Debuggers.Add(GetLazyDebugLaunchProvider(debugs: true)); var activeConfiguredProjectWithLaunchProviders = ActiveConfiguredProjectFactory.ImplementValue(() => debuggerLaunchProvider); var startupProjectRegistrar = CreateInstance( iVsStartupProjectsListService, activeConfiguredProjectWithLaunchProviders); var projectSubscriptionUpdate = IProjectSubscriptionUpdateFactory.FromJson(@"{ ""ProjectChanges"": { ""ConfigurationGeneral"": { ""Difference"": { ""ChangedProperties"": [ ""ProjectGuid"" ] }, ""After"": { ""Properties"": { ""ProjectGuid"": """ + projectGuid + @""" } } } } }"); await startupProjectRegistrar.ConfigurationGeneralRuleBlock_ChangedAsync( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(projectSubscriptionUpdate)); mockIVsStartupProjectsListService.Verify(s => s.AddProject(ref projectGuid), Times.Once); mockIVsStartupProjectsListService.Verify(s => s.RemoveProject(ref projectGuid), Times.Never); debuggerLaunchProvider.Debuggers.Clear(); debuggerLaunchProvider.Debuggers.Add(GetLazyDebugLaunchProvider(debugs: false)); projectSubscriptionUpdate = IProjectSubscriptionUpdateFactory.FromJson(@"{ ""ProjectChanges"": { ""ConfigurationGeneral"": { ""Difference"": { ""ChangedProperties"": [ ""OutputType"" ] } } } }"); await startupProjectRegistrar.ConfigurationGeneralRuleBlock_ChangedAsync( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(projectSubscriptionUpdate)); mockIVsStartupProjectsListService.Verify(s => s.RemoveProject(ref projectGuid), Times.Once); }
internal AbstractGenerateNuGetPackageCommand CreateInstance( GeneratePackageOnBuildPropertyProvider generatePackageOnBuildPropertyProvider = null, IVsSolutionBuildManager2 buildManager = null, IVsUpdateSolutionEvents solutionEventsListener = null, bool isBuilding = false, bool cancelBuild = false) { var hierarchy = IVsHierarchyFactory.Create(); var project = UnconfiguredProjectFactory.Create(hierarchy); var threadingService = IProjectThreadingServiceFactory.Create(); buildManager = buildManager ?? IVsSolutionBuildManager2Factory.Create(solutionEventsListener, hierarchy, isBuilding, cancelBuild); var serviceProvider = SVsServiceProviderFactory.Create(buildManager); generatePackageOnBuildPropertyProvider = generatePackageOnBuildPropertyProvider ?? CreateGeneratePackageOnBuildPropertyProvider(); return(CreateInstanceCore(project, threadingService, serviceProvider, generatePackageOnBuildPropertyProvider)); }
public void Constructor_NullAsGeneratePackageOnBuildPropertyProvider_ThrowsArgumentNull() { Assert.Throws <ArgumentNullException>(() => CreateInstanceCore(UnconfiguredProjectFactory.Create(), IProjectThreadingServiceFactory.Create(), SVsServiceProviderFactory.Create(null), null)); }
public void Constructor_NullAsAccessor_ThrowsArgumentNull() { Assert.Throws <ArgumentNullException>(() => CreateInstance(IPhysicalProjectTreeFactory.Create(), SVsServiceProviderFactory.Create(), ConfiguredProjectFactory.Create(), null)); }
public void Constructor_NullAsProjectTree_ThrowsArgumentNull() { Assert.Throws <ArgumentNullException>(() => CreateInstance(null, SVsServiceProviderFactory.Create(), ConfiguredProjectFactory.Create(), IProjectAccessorFactory.Create())); }
public void Constructor_NullAsProjectVsService_ThrowsArgumentNull() { Assert.Throws <ArgumentNullException>(() => CreateInstance(IPhysicalProjectTreeFactory.Create(), null, SVsServiceProviderFactory.Create())); }