internal LaunchSettingsUnderTest GetLaunchSettingsProvider(IFileSystem fileSystem, string appDesignerFolder = "Properties", string activeProfile = "") { var appDesignerData = new PropertyPageData() { Category = AppDesigner.SchemaName, PropertyName = AppDesigner.FolderNameProperty, Value = appDesignerFolder }; Mock <IEnumValue> activeProfileValue = new Mock <IEnumValue>(); activeProfileValue.Setup(s => s.Name).Returns(activeProfile); var debuggerData = new PropertyPageData() { Category = ProjectDebugger.SchemaName, PropertyName = ProjectDebugger.ActiveDebugProfileProperty, Value = activeProfileValue.Object }; var unconfiguredProject = IUnconfiguredProjectFactory.Create(null, null, @"c:\\test\Project1\Project1.csproj"); var properties = ProjectPropertiesFactory.Create(unconfiguredProject, new[] { debuggerData, appDesignerData }); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(unconfiguredProject, null, new IProjectThreadingServiceMock(), null, properties); var projectServices = IUnconfiguredProjectServicesFactory.Create(IProjectAsynchronousTasksServiceFactory.Create(CancellationToken.None)); Lazy <ISourceCodeControlIntegration> sccIntegration = new Lazy <ISourceCodeControlIntegration>(() => ISourceCodeControlIntegrationFactory.Create()); var provider = new LaunchSettingsUnderTest(unconfiguredProject, projectServices, fileSystem != null? fileSystem : new IFileSystemMock(), commonServices, null, sccIntegration); return(provider); }
internal static LaunchSettingsUnderTest GetLaunchSettingsProvider(IFileSystem?fileSystem, string?appDesignerFolder = @"c:\test\Project1\Properties", string activeProfile = "") { var activeProfileValue = new Mock <IEnumValue>(); activeProfileValue.Setup(s => s.Name).Returns(activeProfile); var debuggerData = new PropertyPageData(ProjectDebugger.SchemaName, ProjectDebugger.ActiveDebugProfileProperty, activeProfileValue.Object); var specialFilesManager = ActiveConfiguredProjectFactory.ImplementValue(() => IAppDesignerFolderSpecialFileProviderFactory.ImplementGetFile(appDesignerFolder)); var project = UnconfiguredProjectFactory.Create(filePath: @"c:\test\Project1\Project1.csproj"); var properties = ProjectPropertiesFactory.Create(project, new[] { debuggerData }); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(project, IProjectThreadingServiceFactory.Create(), null, properties); var projectServices = IUnconfiguredProjectServicesFactory.Create(IProjectAsynchronousTasksServiceFactory.Create()); var provider = new LaunchSettingsUnderTest(project, projectServices, fileSystem ?? new IFileSystemMock(), commonServices, null, specialFilesManager); return(provider); }
private static DesignTimeInputsDataSource CreateDesignTimeInputsDataSource(out ProjectValueDataSource <IProjectSubscriptionUpdate> sourceItemsRuleSource) { var unconfiguredProject = UnconfiguredProjectFactory.Create(); var unconfiguredProjectServices = IUnconfiguredProjectServicesFactory.Create( projectService: IProjectServiceFactory.Create( services: ProjectServicesFactory.Create( threadingService: IProjectThreadingServiceFactory.Create(), projectLockService: IProjectLockServiceFactory.Create()))); sourceItemsRuleSource = new ProjectValueDataSource <IProjectSubscriptionUpdate>(unconfiguredProjectServices); var projectSubscriptionService = IActiveConfiguredProjectSubscriptionServiceFactory.Create(sourceItemsRuleSource: sourceItemsRuleSource); var dataSource = new DesignTimeInputsDataSource(unconfiguredProject, unconfiguredProjectServices, projectSubscriptionService); return(dataSource); }
public DesignTimeInputsChangeTrackerTests() { var services = IProjectCommonServicesFactory.CreateWithDefaultThreadingPolicy(); using var designTimeInputsSource = ProjectValueDataSourceFactory.Create <DesignTimeInputs>(services); var dataSourceMock = new Mock <IDesignTimeInputsDataSource>(); dataSourceMock.SetupGet(s => s.SourceBlock) .Returns(designTimeInputsSource.SourceBlock); using var fileWatcherSource = ProjectValueDataSourceFactory.Create <string[]>(services); var watcherMock = new Mock <IDesignTimeInputsFileWatcher>(); watcherMock.SetupGet(s => s.SourceBlock) .Returns(fileWatcherSource.SourceBlock); var threadingService = IProjectThreadingServiceFactory.Create(); var projectSubscriptionService = IActiveConfiguredProjectSubscriptionServiceFactory.Create(); var unconfiguredProject = UnconfiguredProjectFactory.Create( filePath: Path.Combine(_projectFolder, "MyTestProj.csproj"), projectAsynchronousTasksService: IProjectAsynchronousTasksServiceFactory.Create()); var unconfiguredProjectServices = IUnconfiguredProjectServicesFactory.Create( projectService: IProjectServiceFactory.Create( services: ProjectServicesFactory.Create( threadingService: threadingService))); _changeTracker = new DesignTimeInputsChangeTracker(unconfiguredProject, unconfiguredProjectServices, threadingService, projectSubscriptionService, dataSourceMock.Object, watcherMock.Object) { AllowSourceBlockCompletion = true }; // Create a block to receive the output var receiver = DataflowBlockSlim.CreateActionBlock <IProjectVersionedValue <DesignTimeInputsDelta> >(OutputProduced); _changeTracker.SourceBlock.LinkTo(receiver, DataflowOption.PropagateCompletion); }
internal LaunchSettingsUnderTest GetLaunchSettingsProvider(IFileSystem fileSystem, string appDesignerFolder = @"c:\test\Project1\Properties", string activeProfile = "") { Mock <IEnumValue> activeProfileValue = new Mock <IEnumValue>(); activeProfileValue.Setup(s => s.Name).Returns(activeProfile); var debuggerData = new PropertyPageData() { Category = ProjectDebugger.SchemaName, PropertyName = ProjectDebugger.ActiveDebugProfileProperty, Value = activeProfileValue.Object }; var specialFilesManager = ISpecialFilesManagerFactory.ImplementGetFile(appDesignerFolder); var unconfiguredProject = UnconfiguredProjectFactory.Create(null, null, @"c:\test\Project1\Project1.csproj"); var properties = ProjectPropertiesFactory.Create(unconfiguredProject, new[] { debuggerData }); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(unconfiguredProject, null, new IProjectThreadingServiceMock(), null, properties); var projectServices = IUnconfiguredProjectServicesFactory.Create(IProjectAsynchronousTasksServiceFactory.Create(CancellationToken.None)); var provider = new LaunchSettingsUnderTest(unconfiguredProject, projectServices, fileSystem ?? new IFileSystemMock(), commonServices, null, specialFilesManager); return(provider); }
private static DesignTimeInputsFileWatcher CreateDesignTimeInputsFileWatcher(IVsAsyncFileChangeEx fileChangeService, out ProjectValueDataSource <DesignTimeInputs> source) { // Create our mock design time inputs data source, but with a source we can actually use var services = IProjectCommonServicesFactory.CreateWithDefaultThreadingPolicy(); source = ProjectValueDataSourceFactory.Create <DesignTimeInputs>(services); var mock = new Mock <IDesignTimeInputsDataSource>(); mock.SetupGet(s => s.SourceBlock) .Returns(source.SourceBlock); var dataSource = mock.Object; var threadingService = IProjectThreadingServiceFactory.Create(); var unconfiguredProject = UnconfiguredProjectFactory.Create(fullPath: @"C:\MyProject\MyProject.csproj"); var unconfiguredProjectServices = IUnconfiguredProjectServicesFactory.Create( projectService: IProjectServiceFactory.Create( services: ProjectServicesFactory.Create( threadingService: threadingService))); // Create our class under test return(new DesignTimeInputsFileWatcher(unconfiguredProject, unconfiguredProjectServices, threadingService, dataSource, IVsServiceFactory.Create <SVsFileChangeEx, IVsAsyncFileChangeEx>(fileChangeService))); }