2 // Base class for CodeGenerator unit tests
5 // Gert Driesen (drieseng@users.sourceforge.net)
12 using System.CodeDom.Compiler;
15 using NUnit.Framework;
17 namespace MonoTests.System.CodeDom.Compiler
19 public abstract class CodeGeneratorTestBase
21 private CodeGeneratorOptions _options;
24 public virtual void SetUp ()
26 _options = new CodeGeneratorOptions ();
29 protected abstract ICodeGenerator CodeGenerator
34 protected virtual string NewLine
39 protected CodeGeneratorOptions Options
41 get { return _options; }
44 protected string GenerateCodeFromType (CodeTypeDeclaration type)
46 return GenerateCodeFromType (type, _options);
49 protected virtual string GenerateCodeFromType (CodeTypeDeclaration type, CodeGeneratorOptions options)
51 using (StringWriter writer = new StringWriter ()) {
52 writer.NewLine = NewLine;
53 CodeGenerator.GenerateCodeFromType (type, writer, options);
55 return writer.ToString ();