2 // Microsoft.CSharp.* Test Cases
5 // Erik LeBel (eriklebel@yahoo.ca)
13 using System.CodeDom.Compiler;
14 using Microsoft.CSharp;
16 using NUnit.Framework;
18 namespace MonoTests.Microsoft.CSharp
22 /// Base test for a variety of CodeGenerator GenerateCodeXXX methods.
24 /// This testing is a form of hybrid test, it tests the variety of CodeDom
25 /// classes as well as the C# code generator.
27 /// The implementations bellow provide a template as well as guidlines for
28 /// implementing further tests.
31 public abstract class CodeGeneratorTestBase
33 CodeDomProvider provider = null;
34 protected ICodeGenerator generator = null;
35 protected CodeGeneratorOptions options = null;
36 protected StringWriter writer = null;
38 public void InitBase()
40 provider = new CSharpCodeProvider ();
41 generator = provider.CreateGenerator ();
42 options = new CodeGeneratorOptions ();
43 writer = new StringWriter ();
45 writer.NewLine = "\n";
48 protected virtual string Code {
49 get { return writer.ToString (); }
52 protected abstract void Generate ();