public void CreateWithDefaultConfigurationTest() { ProjectHandlerConfiguration configuration = new ProjectHandlerConfiguration(); ProjectHandler projectHandler = new ProjectHandler(configuration); Assert.IsNotNull(projectHandler.ProjectParser, "Expected a project parser instance."); Assert.IsInstanceOfType(typeof (MSBuildProjectParser), projectHandler.ProjectParser); }
public void ToStringTest() { ProjectHandlerConfiguration handlerConfiguration = new ProjectHandlerConfiguration(); handlerConfiguration.ParserType = "TestAssembly.TestParser"; string str = handlerConfiguration.ToString(); Assert.AreEqual("Project Handler: TestAssembly.TestParser", str, "Unexpected string representation."); }
public void CreateTest() { ProjectHandlerConfiguration configuration = new ProjectHandlerConfiguration(); configuration.ParserType = "NArrange.Core.MonoDevelopProjectParser"; ProjectHandler handler = new ProjectHandler(configuration); Assert.IsNotNull(handler.ProjectParser, "Project parser was not created."); Assert.IsInstanceOfType(typeof (MonoDevelopProjectParser), handler.ProjectParser); }
/// <summary> /// Creates a new ProjectHandler. /// </summary> /// <param name="configuration">The configuration.</param> public ProjectHandler(ProjectHandlerConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException("configuration"); } _configuration = configuration; Initialize(); }
public void CreateWithAssemblyTest() { string assemblyName = "NArrange.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"; ProjectHandlerConfiguration configuration = new ProjectHandlerConfiguration(); configuration.AssemblyName = assemblyName; configuration.ParserType = "NArrange.Core.MSBuildProjectParser"; ProjectHandler handler = new ProjectHandler(configuration); Assert.IsNotNull(handler.ProjectParser, "Project parser was not created."); Assert.IsInstanceOfType(typeof (MSBuildProjectParser), handler.ProjectParser); }
/// <summary> /// Creates a clone of this instance. /// </summary> /// <returns>Clone of the instance.</returns> protected override HandlerConfiguration DoClone() { ProjectHandlerConfiguration clone = new ProjectHandlerConfiguration(); clone._parserType = _parserType; foreach (ExtensionConfiguration extension in ProjectExtensions) { ExtensionConfiguration extensionClone = extension.Clone() as ExtensionConfiguration; clone.ProjectExtensions.Add(extensionClone); } return clone; }
/// <summary> /// Moves project extensions to the new format. /// </summary> private void UpgradeProjectExtensions() { // Migrate project handler configurations string parserType = typeof(MSBuildProjectParser).FullName; ProjectHandlerConfiguration projectHandlerConfiguration = null; foreach (HandlerConfiguration handlerConfiguration in Handlers) { if (handlerConfiguration.HandlerType == HandlerType.Project) { ProjectHandlerConfiguration candidateConfiguration = handlerConfiguration as ProjectHandlerConfiguration; if (candidateConfiguration.ParserType != null && candidateConfiguration.ParserType.ToUpperInvariant() == parserType.ToUpperInvariant()) { projectHandlerConfiguration = candidateConfiguration; break; } } } // // Create the new project configuration if necessary // if (projectHandlerConfiguration == null) { projectHandlerConfiguration = new ProjectHandlerConfiguration(); projectHandlerConfiguration.ParserType = parserType; Handlers.Insert(0, projectHandlerConfiguration); } foreach (HandlerConfiguration handlerConfiguration in Handlers) { if (handlerConfiguration.HandlerType == HandlerType.Source) { SourceHandlerConfiguration sourceHandlerConfiguration = handlerConfiguration as SourceHandlerConfiguration; foreach (ExtensionConfiguration projectExtension in sourceHandlerConfiguration.ProjectExtensions) { bool upgraded = false; foreach (ExtensionConfiguration upgradedExtension in projectHandlerConfiguration.ProjectExtensions) { if (string.Compare(upgradedExtension.Name, projectExtension.Name, true) == 0) { upgraded = true; break; } } if (!upgraded) { projectHandlerConfiguration.ProjectExtensions.Add(projectExtension); } } sourceHandlerConfiguration.ProjectExtensions.Clear(); } } }