public void TestWriteLineLoadString()
        {
            var ast = Ast.Statements(
                Ast.Statement(Ast.CallStatic((Action <string>)Console.WriteLine, Ast.Argument <string>(0))),
                Ast.Statement(Ast.CallStatic((Action <string>)Console.WriteLine, "Goodbye World!")),
                Ast.Return()
                );

            var generatorIl = new GeneratorIl();
            var method      = generatorIl.GenerateDelegate <Action <string> >("TestWriteLine", ast);

            Console.WriteLine(new GeneratorCSharp().GenerateRoot(ast).ToString());
            Console.WriteLine("{0}", new GeneratorIl().GenerateToString(method.Method, ast));

            var output = AstStringUtils.CaptureOutput(() => { method("Hello World!"); });

            Assert.Equal("Hello World!" + Environment.NewLine + "Goodbye World!" + Environment.NewLine, output);
        }