Пример #1
0
            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);
            }