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); }
public void OutputTypeEx() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfigurationGeneralBrowseObject.SchemaName, ConfigurationGeneralBrowseObject.OutputTypeProperty, 4, setValues); var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal(prjOutputTypeEx.prjOutputTypeEx_AppContainerExe, vsLangProjectProperties.OutputTypeEx); vsLangProjectProperties.OutputTypeEx = prjOutputTypeEx.prjOutputTypeEx_WinExe; Assert.Equal(setValues.Single().ToString(), prjOutputTypeEx.prjOutputTypeEx_WinExe.ToString()); }
private static IUnconfiguredProjectVsServices CreateProjectServices(string version) { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.NETCoreSdkVersionProperty, Value = version ?? string.Empty, }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); return(IUnconfiguredProjectVsServicesFactory.Implement(projectProperties: () => projectProperties)); }
private Task <StartupProjectRegistrar> CreateInitializedInstanceAsync(Guid projectGuid, IVsStartupProjectsListService vsStartupProjectsListService, params IDebugLaunchProvider[] launchProviders) { var projectGuidService = IProjectGuidService2Factory.ImplementGetProjectGuidAsync(projectGuid); var debuggerLaunchProviders = new DebuggerLaunchProviders(ConfiguredProjectFactory.Create()); int orderPrecedence = 0; foreach (IDebugLaunchProvider launchProvider in launchProviders) { debuggerLaunchProviders.Debuggers.Add(launchProvider, orderPrecedence: orderPrecedence++); } return(CreateInitializedInstanceAsync(vsStartupProjectsListService: vsStartupProjectsListService, projectGuidService: projectGuidService, launchProviders: ActiveConfiguredProjectFactory.ImplementValue(() => debuggerLaunchProviders))); }
public void BuildMacroInfoTests_GetBuildMacroValue(string macroName, string expectedValue, int expectedRetVal) { var projectProperties = IProjectPropertiesFactory.CreateWithPropertyAndValue("MyBuildMacro", "MyBuildMacroValue"); var propertiesProvider = IProjectPropertiesProviderFactory.Create(commonProps: projectProperties); var configuredProjectServices = Mock.Of <IConfiguredProjectServices>(o => o.ProjectPropertiesProvider == propertiesProvider); var configuredProject = ConfiguredProjectFactory.Create(services: configuredProjectServices); ActiveConfiguredProject <ConfiguredProject> activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => configuredProject); var threadingService = IProjectThreadingServiceFactory.Create(); var buildMacroInfo = new BuildMacroInfo(activeConfiguredProject, threadingService); int retVal = buildMacroInfo.GetBuildMacroValue(macroName, out string macroValue); Assert.Equal(expectedRetVal, retVal); Assert.Equal(expectedValue, macroValue); }
public void AbsoluteProjectDirectory() { var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfigurationGeneralBrowseObject.SchemaName, PropertyName = ConfigurationGeneralBrowseObject.FullPathProperty, Value = "testvalue", }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal("testvalue", vsLangProjectProperties.AbsoluteProjectDirectory); }
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 = 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"": [ ""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); }
public void VsLangProjectProperties_FullPath() { var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.TargetPathProperty, Value = "somepath", }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal(vsLangProjectProperties.FullPath, "somepath"); }
public void AssemblyName() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfigurationGeneral.SchemaName, ConfigurationGeneral.AssemblyNameProperty, "Blah", setValues); var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal("Blah", vsLangProjectProperties.AssemblyName); var testValue = "Testing"; vsLangProjectProperties.AssemblyName = testValue; Assert.Equal(setValues.Single(), testValue); }
public void OutputType() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfigurationGeneralBrowseObject.SchemaName, PropertyName = ConfigurationGeneralBrowseObject.OutputTypeProperty, Value = 1, SetValues = setValues }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal(prjOutputType.prjOutputTypeExe, vsLangProjectProperties.OutputType); vsLangProjectProperties.OutputType = prjOutputType.prjOutputTypeLibrary; Assert.Equal(prjOutputType.prjOutputTypeLibrary, setValues.Single()); }
public static TestVisualBasicNamespaceImportsList CreateInstance(params string[] list) { var newList = new TestVisualBasicNamespaceImportsList( UnconfiguredProjectFactory.Create(), IProjectThreadingServiceFactory.Create(), IActiveConfiguredProjectSubscriptionServiceFactory.Create()); newList.VSImports = new Lazy <VisualBasicVSImports>(() => new TestVisualBasicVSImports( Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), ActiveConfiguredProjectFactory.ImplementValue <ConfiguredProject>(() => ConfiguredProjectFactory.Create()), IProjectAccessorFactory.Create(), IUnconfiguredProjectVsServicesFactory.Create(), newList)); newList.TestApply(list); newList.ImportsAdded.Clear(); newList.ImportsRemoved.Clear(); return(newList); }