Inheritance: HandlerConfiguration
コード例 #1
0
        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);
        }
コード例 #2
0
        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.");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: ProjectHandler.cs プロジェクト: MarcStan/NArrange
        /// <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();
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        /// <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;
        }
コード例 #7
0
        /// <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();
                }
            }
        }