public void GeneratesCorrectScript(string input, string output) { // Given ConfigCompilation compilation = new ConfigCompilation(); HashSet <Type> moduleTypes = new HashSet <Type> { typeof(Content) }; string[] namespaces = Array.Empty <string>(); string expected = $@" public class ConfigScript : ConfigScriptBase {{ public ConfigScript(Engine engine) : base(engine) {{ }} public override void Run() {{ {output} }} public static Wyam.Core.Modules.Contents.Content Content(object content) {{ return new Wyam.Core.Modules.Contents.Content(content); }} public static Wyam.Core.Modules.Contents.Content Content(Wyam.Common.Configuration.ContextConfig content) {{ return new Wyam.Core.Modules.Contents.Content(content); }} public static Wyam.Core.Modules.Contents.Content Content(Wyam.Common.Configuration.DocumentConfig content) {{ return new Wyam.Core.Modules.Contents.Content(content); }} public static Wyam.Core.Modules.Contents.Content Content(params Wyam.Common.Modules.IModule[] modules) {{ return new Wyam.Core.Modules.Contents.Content(modules); }}}}"; // When compilation.Generate(null, input, moduleTypes, namespaces); // Then Assert.AreEqual(expected, compilation.Code); }