New test.
[mono.git] / mcs / class / System / Test / Microsoft.VisualBasic / CodeGeneratorFromTypeTest.cs
index d92f03f15e68522e6f6d52f467917b3c013b24b3..ca21e5f485cced1338ff5c8d9c93ad1df169a9ad 100644 (file)
@@ -58,13 +58,13 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                [ExpectedException (typeof (NullReferenceException))]
                public override void NullTypeTest ()
-               {\r
+               {
                        GenerateNullType (Options);
                }
 
                [Test]
                public override void SimpleTypeTest ()
-               {\r
+               {
                        string code = GenerateSimpleType (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -73,7 +73,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void DerivedTypeTest ()
-               {\r
+               {
                        string code = GenerateDerivedType (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
 #if NET_2_0
@@ -88,7 +88,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void AttributesAndTypeTest ()
-               {\r
+               {
                        string code = GenerateAttributesAndType (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "<A(),  _{0}" +
@@ -99,20 +99,24 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void EventMembersTypeTest1 ()
-               {\r
+               {
                        string code = GenerateEventMembersType1 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
                                "    {0}" +
                                "    <A(),  _{0}" +
                                "     B()>  _{0}" +
+#if NET_2_0
+                               "    Private Event __exception As System.Void{0}" +
+#else
                                "    Private Event  As System.Void{0}" +
+#endif
                                "End Class{0}", NewLine), code);
                }
 
                [Test]
                public override void EventMembersTypeTest2 ()
-               {\r
+               {
                        string code = GenerateEventMembersType2 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -123,7 +127,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void EventImplementationTypes ()
-               {\r
+               {
                        string code = GenerateEventImplementationTypes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -142,7 +146,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void EventPrivateImplementationType ()
-               {\r
+               {
                        string code = GenerateEventPrivateImplementationType (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -161,7 +165,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void EventImplementationTypeOrder ()
-               {\r
+               {
                        string code = GenerateEventImplementationTypeOrder (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -176,20 +180,24 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void FieldMembersAttributesTest ()
-               {\r
+               {
                        string code = GenerateFieldMembersAttributes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
                                "    {0}" +
                                "    <A(),  _{0}" +
                                "     B()>  _{0}" +
+#if NET_2_0
+                               "    Private __exception As System.Void{0}" +
+#else
                                "    Private  As System.Void{0}" +
+#endif
                                "End Class{0}", NewLine), code);
                }
 
                [Test]
                public override void FieldMembersTypeTest ()
-               {\r
+               {
                        string code = GenerateFieldMembersType (MemberAttributes.Public, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -201,7 +209,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void FieldNewSlotTest ()
                {
-                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |\r
+                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |
                                MemberAttributes.New, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -212,7 +220,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void PropertyMembersTypeTest1 ()
-               {\r
+               {
                        string code = GeneratePropertyMembersAttributes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -231,7 +239,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeTest2 ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Public,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Public,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -248,7 +256,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -267,7 +275,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeSetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -286,7 +294,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetSet ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -312,7 +320,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeFamilyOrAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -334,7 +342,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -354,7 +362,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void PropertyParametersTest ()
-               {\r
+               {
                        string code = GeneratePropertyParameters (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -367,7 +375,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest1 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -384,7 +392,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest2 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -404,7 +412,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerGetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                true, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -422,7 +430,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerSetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                false, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -436,7 +444,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void PropertyImplementationTypes ()
-               {\r
+               {
                        string code = GeneratePropertyImplementationTypes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -456,7 +464,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void PropertyOverloadsTest1 ()
-               {\r
+               {
                        string code = GeneratePropertyOverloads1 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -476,7 +484,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void PropertyOverloadsTest2 ()
-               {\r
+               {
                        string code = GeneratePropertyOverloads2 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -499,7 +507,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void PropertyOverloadsTest3 ()
-               {\r
+               {
                        string code = GeneratePropertyOverloads3 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -522,7 +530,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void PropertyPrivateImplementationType ()
-               {\r
+               {
                        string code = GeneratePropertyPrivateImplementationType (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -538,7 +546,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void PropertyImplementationTypeOrder ()
-               {\r
+               {
                        string code = GeneratePropertyImplementationTypeOrder (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -551,7 +559,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyNewSlotTest ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Private |\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Private |
                                MemberAttributes.New, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -571,7 +579,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void MethodMembersTypeTest1 ()
-               {\r
+               {
                        string code = GenerateMethodMembersType1 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -585,7 +593,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void MethodMembersTypeTest2 ()
-               {\r
+               {
                        string code = GenerateMethodMembersType2 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -597,19 +605,23 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void MethodMembersTypeTest3 ()
-               {\r
+               {
                        string code = GenerateMethodMembersType3 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
                                "    {0}" +
-                               "    Public Overridable Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer) As Integer{0}" +
+#if NET_2_0
+                               "    Public Overridable Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef __exception As Integer) As Integer{0}" +
+#else
+                               "    Public Overridable Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef  As Integer) As Integer{0}" +
+#endif
                                "    End Function{0}" +
                                "End Class{0}", NewLine), code);
                }
 
                [Test]
                public override void MethodImplementationTypes ()
-               {\r
+               {
                        string code = GenerateMethodImplementationTypes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -629,7 +641,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void MethodOverloadsTest1 ()
-               {\r
+               {
                        string code = GenerateMethodOverloads1 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -649,7 +661,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void MethodOverloadsTest2 ()
-               {\r
+               {
                        string code = GenerateMethodOverloads2 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -668,7 +680,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void MethodOverloadsTest3 ()
-               {\r
+               {
                        string code = GenerateMethodOverloads3 (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -687,7 +699,7 @@ namespace MonoTests.Microsoft.VisualBasic
                /// </summary>
                [Test]
                public override void MethodPrivateImplementationType ()
-               {\r
+               {
                        string code = GenerateMethodPrivateImplementationType (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -742,6 +754,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void ConstructorAttributesTest ()
                {
+                       // FIXME: updated to reflect mbas workaround
                        string code = GenerateConstructorAttributes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -749,7 +762,7 @@ namespace MonoTests.Microsoft.VisualBasic
                                "    <A(),  _{0}" +
                                "     B()>  _{0}" +
                                "    Private Sub New(){0}" +
-                               "        MyBase.New{0}" +
+                               "        MyBase.New(){0}" +
                                "    End Sub{0}" +
                                "End Class{0}", NewLine), code);
                }
@@ -757,12 +770,13 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void ConstructorParametersTest ()
                {
+                       // FIXME: updated to reflect mbas workaround
                        string code = GenerateConstructorParameters (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
                                "    {0}" +
                                "    Public Sub New(ByVal value1 As Object, ByVal value2 As Object, ByRef index As Integer, ByRef count As Integer){0}" +
-                               "        MyBase.New{0}" +
+                               "        MyBase.New(){0}" +
                                "    End Sub{0}" +
                                "End Class{0}", NewLine), code);
                }
@@ -770,19 +784,20 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void ConstructorParameterAttributesTest ()
                {
+                       // FIXME: updated to reflect mbas workaround
                        string code = GenerateConstructorParameterAttributes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
                                "    {0}" +
                                "    Private Sub New(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer){0}" +
-                               "        MyBase.New{0}" +
+                               "        MyBase.New(){0}" +
                                "    End Sub{0}" +
                                "End Class{0}", NewLine), code);
                }
 
                [Test]
                public override void BaseConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -795,7 +810,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -808,7 +823,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -821,7 +836,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Class Test1{0}" +
@@ -847,6 +862,22 @@ namespace MonoTests.Microsoft.VisualBasic
                                "    End Sub{0}" +
                                "End Class{0}", NewLine), code);
                }
+
+               [Test]
+               public override void EntryPointMethodTest ()
+               {
+                       string code = GenerateEntryPointMethod (Options);
+                       Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
+                               "Public Class Test1{0}" +
+                               "    {0}" +
+#if NET_2_0
+                               "    <A()>  _{0}" +
+#endif
+                               "    Public Shared Sub Main(){0}" +
+                               "        Dim x As Test.InnerType{0}" +
+                               "    End Sub{0}" +
+                               "End Class{0}", NewLine), code);
+               }
        }
 
        [TestFixture]
@@ -979,7 +1010,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void FieldMembersTypeTest ()
-               {\r
+               {
                        string code = GenerateFieldMembersType (MemberAttributes.Public, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -988,7 +1019,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void FieldNewSlotTest ()
                {
-                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |\r
+                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |
                                MemberAttributes.New, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1005,7 +1036,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeTest2 ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Public,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Public,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1014,7 +1045,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1023,7 +1054,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeSetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1032,7 +1063,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetSet ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1041,7 +1072,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeFamilyOrAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1050,7 +1081,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1067,7 +1098,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest1 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1076,7 +1107,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest2 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1085,7 +1116,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerGetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                true, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1094,7 +1125,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerSetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                false, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1151,7 +1182,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyNewSlotTest ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Private |\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Private |
                                MemberAttributes.New, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1271,7 +1302,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1279,7 +1310,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1287,7 +1318,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1295,7 +1326,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
@@ -1308,6 +1339,20 @@ namespace MonoTests.Microsoft.VisualBasic
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Delegate Sub Test1(){0}{0}", NewLine), code);
                }
+
+               [Test]
+               public override void EntryPointMethodTest ()
+               {
+                       string code = GenerateEntryPointMethod (Options);
+                       Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
+                               "Public Delegate Sub Test1(){0}{0}" +
+#if NET_2_0
+                               "<A()>  _{0}" +
+#endif
+                               "Public Shared Sub Main(){0}" +
+                               "    Dim x As Test.InnerType{0}" +
+                               "End Sub{0}", NewLine), code);
+               }
        }
 
        [TestFixture]
@@ -1396,7 +1441,11 @@ namespace MonoTests.Microsoft.VisualBasic
                                "    {0}" +
                                "    <A(),  _{0}" +
                                "     B()>  _{0}" +
+#if NET_2_0
+                               "    Private Event __exception As System.Void{0}" +
+#else
                                "    Private Event  As System.Void{0}" +
+#endif
                                "End Interface{0}", NewLine), code);
                }
 
@@ -1468,7 +1517,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void FieldMembersTypeTest ()
-               {\r
+               {
                        string code = GenerateFieldMembersType (MemberAttributes.Public, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1479,7 +1528,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void FieldNewSlotTest ()
                {
-                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |\r
+                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |
                                MemberAttributes.New, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1507,7 +1556,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeTest2 ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Public,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Public,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1523,7 +1572,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1539,7 +1588,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeSetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1555,7 +1604,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetSet ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1571,7 +1620,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeFamilyOrAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1587,7 +1636,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1614,7 +1663,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest1 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1626,7 +1675,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest2 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1642,7 +1691,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerGetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                true, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1654,7 +1703,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerSetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                false, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1752,7 +1801,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyNewSlotTest ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Private |\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Private |
                                MemberAttributes.New, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1796,7 +1845,11 @@ namespace MonoTests.Microsoft.VisualBasic
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
                                "    {0}" +
-                               "    Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer) As Integer{0}" +
+#if NET_2_0
+                               "    Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef __exception As Integer) As Integer{0}" +
+#else
+                               "    Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef  As Integer) As Integer{0}" +
+#endif
                                "End Interface{0}", NewLine), code);
                }
 
@@ -1926,7 +1979,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1936,7 +1989,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1946,7 +1999,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1956,7 +2009,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Interface Test1{0}" +
@@ -1973,6 +2026,22 @@ namespace MonoTests.Microsoft.VisualBasic
                                "    {0}" +
                                "End Interface{0}", NewLine), code);
                }
+
+               [Test]
+               public override void EntryPointMethodTest ()
+               {
+                       string code = GenerateEntryPointMethod (Options);
+                       Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
+                               "Public Interface Test1{0}" +
+                               "    {0}" +
+#if NET_2_0
+                               "    <A()>  _{0}" +
+#endif
+                               "    Public Shared Sub Main(){0}" +
+                               "        Dim x As Test.InnerType{0}" +
+                               "    End Sub{0}" +
+                               "End Interface{0}", NewLine), code);
+               }
        }
 
        [TestFixture]
@@ -2061,7 +2130,11 @@ namespace MonoTests.Microsoft.VisualBasic
                                "    {0}" +
                                "    <A(),  _{0}" +
                                "     B()>  _{0}" +
+#if NET_2_0
+                               "    Private Event __exception As System.Void{0}" +
+#else
                                "    Private Event  As System.Void{0}" +
+#endif
                                "End Structure{0}", NewLine), code);
                }
 
@@ -2130,13 +2203,17 @@ namespace MonoTests.Microsoft.VisualBasic
                                "    {0}" +
                                "    <A(),  _{0}" +
                                "     B()>  _{0}" +
+#if NET_2_0
+                               "    Private __exception As System.Void{0}" +
+#else
                                "    Private  As System.Void{0}" +
+#endif
                                "End Structure{0}", NewLine), code);
                }
 
                [Test]
                public override void FieldMembersTypeTest ()
-               {\r
+               {
                        string code = GenerateFieldMembersType (MemberAttributes.Public, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2148,7 +2225,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void FieldNewSlotTest ()
                {
-                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |\r
+                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |
                                MemberAttributes.New, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2178,7 +2255,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeTest2 ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Public,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Public,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2195,7 +2272,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2214,7 +2291,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeSetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2233,7 +2310,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetSet ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2259,7 +2336,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeFamilyOrAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2276,7 +2353,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2305,7 +2382,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest1 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2318,7 +2395,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest2 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2335,7 +2412,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerGetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                true, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2350,7 +2427,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerSetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                false, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2459,7 +2536,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyNewSlotTest ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Private |\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Private |
                                MemberAttributes.New, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2510,7 +2587,11 @@ namespace MonoTests.Microsoft.VisualBasic
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
                                "    {0}" +
-                               "    Public Overridable Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer) As Integer{0}" +
+#if NET_2_0
+                               "    Public Overridable Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef __exception As Integer) As Integer{0}" +
+#else
+                               "    Public Overridable Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef  As Integer) As Integer{0}" +
+#endif
                                "    End Function{0}" +
                                "End Structure{0}", NewLine), code);
                }
@@ -2630,6 +2711,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void ConstructorAttributesTest ()
                {
+                       // FIXME: updated to reflect mbas workaround
                        string code = GenerateConstructorAttributes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2638,7 +2720,7 @@ namespace MonoTests.Microsoft.VisualBasic
                                "     B()>  _{0}" +
                                "    Private Sub New(){0}" +
 #if !NET_2_0
-                               "        MyBase.New{0}" +
+                               "        MyBase.New(){0}" +
 #endif
                                "    End Sub{0}" +
                                "End Structure{0}", NewLine), code);
@@ -2647,13 +2729,14 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void ConstructorParametersTest ()
                {
+                       // FIXME: updated to reflect mbas workaround
                        string code = GenerateConstructorParameters (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
                                "    {0}" +
                                "    Public Sub New(ByVal value1 As Object, ByVal value2 As Object, ByRef index As Integer, ByRef count As Integer){0}" +
 #if !NET_2_0
-                               "        MyBase.New{0}" +
+                               "        MyBase.New(){0}" +
 #endif
                                "    End Sub{0}" +
                                "End Structure{0}", NewLine), code);
@@ -2662,13 +2745,14 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void ConstructorParameterAttributesTest ()
                {
+                       // FIXME: updated to reflect mbas workaround
                        string code = GenerateConstructorParameterAttributes (Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
                                "    {0}" +
                                "    Private Sub New(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer){0}" +
 #if !NET_2_0
-                               "        MyBase.New{0}" +
+                               "        MyBase.New(){0}" +
 #endif
                                "    End Sub{0}" +
                                "End Structure{0}", NewLine), code);
@@ -2676,7 +2760,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2689,7 +2773,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2702,7 +2786,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2715,7 +2799,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Structure Test1{0}" +
@@ -2741,6 +2825,22 @@ namespace MonoTests.Microsoft.VisualBasic
                                "    End Sub{0}" +
                                "End Structure{0}", NewLine), code);
                }
+
+               [Test]
+               public override void EntryPointMethodTest ()
+               {
+                       string code = GenerateEntryPointMethod (Options);
+                       Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
+                               "Public Structure Test1{0}" +
+                               "    {0}" +
+#if NET_2_0
+                               "    <A()>  _{0}" +
+#endif
+                               "    Public Shared Sub Main(){0}" +
+                               "        Dim x As Test.InnerType{0}" +
+                               "    End Sub{0}" +
+                               "End Structure{0}", NewLine), code);
+               }
        }
 
        [TestFixture]
@@ -2884,7 +2984,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void FieldMembersTypeTest ()
-               {\r
+               {
                        string code = GenerateFieldMembersType (MemberAttributes.Public, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -2896,7 +2996,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void FieldNewSlotTest ()
                {
-                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |\r
+                       string code = GenerateFieldMembersType (MemberAttributes.Assembly |
                                MemberAttributes.New, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -2918,7 +3018,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeTest2 ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Public,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Public,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -2929,7 +3029,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -2940,7 +3040,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeSetOnly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -2951,7 +3051,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeGetSet ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Family,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Family,
                                true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -2962,7 +3062,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeFamilyOrAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -2973,7 +3073,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyMembersTypeAssembly ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
                                false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -2994,7 +3094,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest1 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3005,7 +3105,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerTest2 ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Public,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Public,
                                false, false, false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3016,7 +3116,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerGetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                true, false, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3027,7 +3127,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyIndexerSetOnly ()
                {
-                       string code = GeneratePropertyIndexer (MemberAttributes.Family,\r
+                       string code = GeneratePropertyIndexer (MemberAttributes.Family,
                                false, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3100,7 +3200,7 @@ namespace MonoTests.Microsoft.VisualBasic
                [Test]
                public override void PropertyNewSlotTest ()
                {
-                       string code = GeneratePropertyMembersType (MemberAttributes.Private |\r
+                       string code = GeneratePropertyMembersType (MemberAttributes.Private |
                                MemberAttributes.New, true, true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3252,7 +3352,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3262,7 +3362,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void BaseConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateBaseConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3272,7 +3372,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorSingleArg ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (false, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3282,7 +3382,7 @@ namespace MonoTests.Microsoft.VisualBasic
 
                [Test]
                public override void ChainedConstructorMultipleArgs ()
-               {\r
+               {
                        string code = GenerateChainedConstructor (true, Options);
                        Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
                                "Public Enum Test1{0}" +
@@ -3299,5 +3399,21 @@ namespace MonoTests.Microsoft.VisualBasic
                                "    {0}" +
                                "End Enum{0}", NewLine), code);
                }
+
+               [Test]
+               public override void EntryPointMethodTest ()
+               {
+                       string code = GenerateEntryPointMethod (Options);
+                       Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
+                               "Public Enum Test1{0}" +
+                               "    {0}" +
+#if NET_2_0
+                               "    <A()>  _{0}" +
+#endif
+                               "    Public Shared Sub Main(){0}" +
+                               "        Dim x As Test.InnerType{0}" +
+                               "    End Sub{0}" +
+                               "End Enum{0}", NewLine), code);
+               }
        }
 }