/// <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; }
/// <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; }
/// <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); }
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); }
public Orchestrator( Config.Paths paths, AttributeSet attributes) : this(paths, attributes, getDefaultMacroProviders(paths, attributes)) { }