2 // Microsoft.CSharp.* Test Cases
5 // Eric Lindvall (eric@5stops.com)
7 // (c) 2003 Eric Lindvall
12 using System.CodeDom.Compiler;
14 using NUnit.Framework;
16 namespace MonoTests.Microsoft.CSharp
21 /// Test ICodeGenerator's GenerateCodeFromNamespace, along with a
22 /// minimal set CodeDom components.
26 public class CodeGeneratorFromNamespaceTest : CodeGeneratorTestBase
28 CodeNamespace codeNamespace = null;
34 codeNamespace = new CodeNamespace ();
37 protected override void Generate ()
39 generator.GenerateCodeFromNamespace (codeNamespace, writer, options);
44 [ExpectedException (typeof (NullReferenceException))]
45 public void NullNamespaceTest ()
52 public void NullNamespaceNameTest ()
54 codeNamespace.Name = null;
56 Assertion.AssertEquals ("\n", Code);
61 public void DefaultNamespaceTest ()
64 Assertion.AssertEquals ("\n", Code);
68 [Ignore ("This only differs in 4 spaces")]
69 public void SimpleNamespaceTest ()
71 codeNamespace.Name = "A";
73 Assertion.AssertEquals ("namespace A {\n \n}\n", Code);
77 [Ignore ("This only differs in 4 spaces")]
78 public void InvalidNamespaceTest ()
80 codeNamespace.Name = "A,B";
82 Assertion.AssertEquals ("namespace A,B {\n \n}\n", Code);
87 public void CommentOnlyNamespaceTest ()
89 CodeCommentStatement comment = new CodeCommentStatement ("a");
90 codeNamespace.Comments.Add (comment);
92 Assertion.AssertEquals ("// a\n\n", Code);
96 // FIXME implement tests for these methods:
97 // GenerateCodeFromType
98 // GenerateCodeFromExpression
99 // GenerateCodeFromStatement