// // Microsoft.VisualBasic.* Test Cases // // Authors: // Gert Driesen (drieseng@users.sourceforge.net) // // (c) Novell // using System; using System.Globalization; using System.Text; using System.CodeDom; using System.CodeDom.Compiler; using NUnit.Framework; namespace MonoTests.Microsoft.VisualBasic { /// /// /// Test ICodeGenerator's GenerateCodeFromType, along with a /// minimal set CodeDom components. /// /// [TestFixture] public class CodeGeneratorFromTypeTest : CodeGeneratorTestBase { CodeTypeDeclaration type = null; [SetUp] public void Init () { InitBase (); type = new CodeTypeDeclaration (); } protected override void Generate () { generator.GenerateCodeFromType (type, writer, options); writer.Close (); } [Test] public void DefaultTypeTest () { Generate (); Assertion.AssertEquals (string.Format(CultureInfo.InvariantCulture, "Public Class {0}End Class{0}", writer.NewLine), Code); } [Test] [ExpectedException (typeof (NullReferenceException))] public void NullTypeTest () { type = null; Generate (); } [Test] public void SimpleTypeTest () { type.Name = "Test1"; Generate (); Assertion.AssertEquals (string.Format (CultureInfo.InvariantCulture, "Public Class Test1{0}End Class{0}", writer.NewLine), Code); } [Test] public void AttributesAndTypeTest () { type.Name = "Test1"; CodeAttributeDeclaration attrDec = new CodeAttributeDeclaration (); attrDec.Name = "A"; type.CustomAttributes.Add (attrDec); attrDec = new CodeAttributeDeclaration (); attrDec.Name = "B"; type.CustomAttributes.Add (attrDec); Generate (); Assertion.AssertEquals (string.Format (CultureInfo.InvariantCulture, " _{0}Public Class Test1{0}End Class{0}", writer.NewLine), Code); } } }