Arrrgh. Wrong Eri[kc]
[mono.git] / mcs / class / System / Test / Microsoft.CSharp / CodeGeneratorTestBase.cs
1 //
2 // Microsoft.CSharp.* Test Cases
3 //
4 // Authors:
5 //      Erik LeBel (eriklebel@yahoo.ca)
6 //
7 // (c) 2003 Erik LeBel
8 //
9 using System;
10 using System.IO;
11 using System.Text;
12 using System.CodeDom;
13 using System.CodeDom.Compiler;
14 using Microsoft.CSharp;
15
16 using NUnit.Framework;
17
18 namespace MonoTests.Microsoft.CSharp
19 {
20         ///
21         /// <summary>
22         ///     Base test for a variety of CodeGenerator GenerateCodeXXX methods.
23         ///
24         ///     This testing is a form of hybrid test, it tests the variety of CodeDom
25         ///     classes as well as the C# code generator.
26         ///
27         ///     The implementations bellow provide a template as well as guidlines for
28         ///     implementing further tests.
29         /// </summary>
30         ///
31         public abstract class CodeGeneratorTestBase
32         {
33                 CodeDomProvider provider = null;
34                 protected ICodeGenerator generator = null;
35                 protected CodeGeneratorOptions options = null;
36                 protected StringWriter writer = null;
37         
38                 public void InitBase()
39                 {
40                         provider = new CSharpCodeProvider ();
41                         generator = provider.CreateGenerator ();
42                         options = new CodeGeneratorOptions ();
43                         writer = new StringWriter ();
44
45                         writer.NewLine = "\n";
46                 }
47
48                 protected virtual string Code {
49                         get { return writer.ToString (); }
50                 }
51
52                 protected abstract void Generate ();
53         }
54 }