Пример #1
0
 /// <summary>
 /// Dependency injected constructor, mainly to support unit testing.
 /// </summary>
 /// <param name="paths">Paths to key items. Will not be used as heavily as in null constructor, as most config is provided.</param>
 /// <param name="attributes">A list of valid attributes to use in place of loading directly from config.</param>
 /// <param name="macroProviders">A list of macro providers to use instead of default.</param>
 public Orchestrator(
     Config.Paths paths,
     AttributeSet attributes,
     IList <IMacroProvider> macroProviders)
 {
     this.paths           = paths;
     this.validAttributes = attributes;
     this.macroProviders  = macroProviders;
 }
Пример #2
0
 /// <summary>
 /// Dependency injected constructor, mainly to support unit testing.
 /// </summary>
 /// <param name="paths">Paths to key items. Will not be used as heavily as in null constructor, as most config is provided.</param>
 /// <param name="attributes">A list of valid attributes to use in place of loading directly from config.</param>
 /// <param name="macroProviders">A list of macro providers to use instead of default.</param>
 public Orchestrator(
     Config.Paths paths, 
     AttributeSet attributes, 
     IList<IMacroProvider> macroProviders)
 {
     this.paths = paths;
     this.validAttributes = attributes;
     this.macroProviders = macroProviders;
 }
Пример #3
0
        /// <summary>
        /// Sets up all known macro providers for use.
        /// </summary>
        /// <param name="paths"></param>
        /// <returns></returns>
        private static IList <IMacroProvider> getDefaultMacroProviders(Config.Paths paths, AttributeSet validAttributes)
        {
            List <IMacroProvider> macroProviders = new List <IMacroProvider>();

            if (paths == null)
            {
                return(macroProviders);
            }

            macroProviders.Add(new MarkdownMacroProvider(paths.MacrosRootDir));
            macroProviders.Add(new BasicTextMacroProvider(paths.MacrosRootDir));
            macroProviders.Add(new XslMacroProvider(paths.MacrosRootDir, validAttributes));
            return(macroProviders);
        }
Пример #4
0
        public void TestParsePathsConfigPositive()
        {
            string input =
                @"#This is a comment
                  articlesdir=C:\WebSite\Articles
                  templatesDir=C:\WebSite\Templates
                  outputDir=C:\WebSite\Output
                  MACROSDIR=C:\WebSite\Macros";

            Config.Paths output = Config.ParsePathsFile(input.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries));
            Assert.AreEqual(@"C:\WebSite\Articles\", output.ArticlesRootDir);
            Assert.AreEqual(@"C:\WebSite\Templates\", output.TemplatesRootDir);
            Assert.AreEqual(@"C:\WebSite\Output\", output.OutputRootDir);
            Assert.AreEqual(@"C:\WebSite\Macros\", output.MacrosRootDir);
        }
Пример #5
0
 public Orchestrator(
     Config.Paths paths,
     AttributeSet attributes) : this(paths, attributes, getDefaultMacroProviders(paths, attributes))
 {
 }