2 // Microsoft.VisualBasic.* Test Cases
5 // Gert Driesen (drieseng@users.sourceforge.net)
12 using System.CodeDom.Compiler;
13 using System.Globalization;
15 using Microsoft.VisualBasic;
17 using NUnit.Framework;
19 using MonoTests.System.CodeDom.Compiler;
21 namespace MonoTests.Microsoft.VisualBasic
24 public class CodeGeneratorFromTypeTest_Class : CodeGeneratorFromTypeTestBase
26 private CodeTypeDeclaration _typeDeclaration;
27 private ICodeGenerator _codeGenerator;
29 protected override ICodeGenerator CodeGenerator
31 get { return _codeGenerator; }
34 protected override CodeTypeDeclaration TypeDeclaration
36 get { return _typeDeclaration; }
40 public override void SetUp ()
43 _typeDeclaration = new CodeTypeDeclaration ();
45 CodeDomProvider provider = new VBCodeProvider ();
46 _codeGenerator = provider.CreateGenerator ();
50 public override void DefaultTypeTest ()
52 string code = GenerateDefaultType ();
53 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
55 "End Class{0}", Writer.NewLine), code);
59 [ExpectedException (typeof (NullReferenceException))]
60 public override void NullTypeTest ()
66 public override void SimpleTypeTest ()
68 string code = GenerateSimpleType ();
69 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
70 "Public Class Test1{0}" +
71 "End Class{0}", Writer.NewLine), code);
75 public override void AttributesAndTypeTest ()
77 string code = GenerateAttributesAndType ();
78 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
81 "Public Class Test1{0}" +
82 "End Class{0}", Writer.NewLine), code);
86 public override void EventMembersTypeTest1 ()
88 string code = GenerateEventMembersType1 ();
89 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
90 "Public Class Test1{0}" +
94 " Private Event As System.Void{0}" +
95 "End Class{0}", Writer.NewLine), code);
99 public override void EventMembersTypeTest2 ()
101 string code = GenerateEventMembersType2 ();
102 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
103 "Public Class Test1{0}" +
105 " Public Event Click As Integer{0}" +
106 "End Class{0}", Writer.NewLine), code);
110 public override void EventImplementationTypes ()
112 string code = GenerateEventImplementationTypes ();
113 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
114 "Public Class Test1{0}" +
117 " Friend Event Click As Integer Implements IPolicy.Click , IWhatever.Click{0}" +
119 " Friend Event Click As Integer{0}" +
121 "End Class{0}", Writer.NewLine), code);
125 /// Ensure no access modifiers are output if PrivateImplementationType
129 public override void EventPrivateImplementationType ()
131 string code = GenerateEventPrivateImplementationType ();
132 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
133 "Public Class Test1{0}" +
136 " Protected Event System_Int32_Click As Integer Implements Integer.Click{0}" +
138 " Protected Event Click As Integer{0}" +
140 "End Class{0}", Writer.NewLine), code);
144 /// If both ImplementationTypes and PrivateImplementationType are set,
145 /// then only ImplementationTypes are output.
148 public override void EventImplementationTypeOrder ()
150 string code = GenerateEventImplementationTypeOrder ();
151 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
152 "Public Class Test1{0}" +
155 " Public Event System_Int32_Click As Integer Implements IPolicy.Click{0}" +
157 " Public Event Click As Integer{0}" +
159 "End Class{0}", Writer.NewLine), code);
163 public override void FieldMembersTypeTest1 ()
165 string code = GenerateFieldMembersType1 ();
166 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
167 "Public Class Test1{0}" +
171 " Private As System.Void{0}" +
172 "End Class{0}", Writer.NewLine), code);
176 public override void FieldMembersTypeTest2 ()
178 string code = GenerateFieldMembersType2 ();
179 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
180 "Public Class Test1{0}" +
182 " Public Name As Integer{0}" +
183 "End Class{0}", Writer.NewLine), code);
187 public override void PropertyMembersTypeTest1 ()
189 string code = GeneratePropertyMembersAttributes ();
190 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
191 "Public Class Test1{0}" +
196 " Private Property () As System.Void{0}" +
198 " Private Property As System.Void{0}" +
201 "End Class{0}", Writer.NewLine), code);
205 public override void PropertyMembersTypeTest2 ()
207 string code = GeneratePropertyMembersType (MemberAttributes.Public,
209 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
210 "Public Class Test1{0}" +
213 " Public Overridable Property Name() As Integer{0}" +
215 " Public Overridable Property Name As Integer{0}" +
218 "End Class{0}", Writer.NewLine), code);
222 public override void PropertyMembersTypeGetOnly ()
224 string code = GeneratePropertyMembersType (MemberAttributes.Family,
226 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
227 "Public Class Test1{0}" +
230 " Protected Overridable ReadOnly Property Name() As Integer{0}" +
232 " Protected Overridable ReadOnly Property Name As Integer{0}" +
237 "End Class{0}", Writer.NewLine), code);
241 public override void PropertyMembersTypeSetOnly ()
243 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
245 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
246 "Public Class Test1{0}" +
249 " Friend Overridable WriteOnly Property Name() As Integer{0}" +
251 " Friend WriteOnly Property Name As Integer{0}" +
256 "End Class{0}", Writer.NewLine), code);
260 public override void PropertyMembersTypeGetSet ()
262 string code = GeneratePropertyMembersType (MemberAttributes.Family,
264 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
265 "Public Class Test1{0}" +
268 " Protected Overridable Property Name() As Integer{0}" +
270 " Protected Overridable Property Name As Integer{0}" +
277 "End Class{0}", Writer.NewLine), code);
281 // A bug in MS.NET 1.x causes MemberAttributes.FamilyOrAssembly to be
282 // generated as Protected
283 [Category ("NotDotNet")]
286 public override void PropertyMembersTypeFamilyOrAssembly ()
288 string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
290 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
291 "Public Class Test1{0}" +
294 " Protected Friend Property Name() As Integer{0}" +
296 " Protected Friend Property Name As Integer{0}" +
299 "End Class{0}", Writer.NewLine), code);
303 // A bug in MS.NET 1.x causes MemberAttributes.Assembly to be generated
305 [Category ("NotDotNet")]
308 public override void PropertyMembersTypeAssembly ()
310 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
312 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
313 "Public Class Test1{0}" +
316 " Friend Overridable Property Name() As Integer{0}" +
318 " Friend Property Name As Integer{0}" +
321 "End Class{0}", Writer.NewLine), code);
325 /// Apparently VB.NET CodeDOM also allows properties that aren't indexers
326 /// to have parameters.
329 public override void PropertyParametersTest ()
331 string code = GeneratePropertyParameters ();
332 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
333 "Public Class Test1{0}" +
335 " Public Overridable Property Name(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
337 "End Class{0}", Writer.NewLine), code);
341 public override void PropertyIndexerTest1 ()
343 string code = GeneratePropertyIndexer (MemberAttributes.Public,
345 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
346 "Public Class Test1{0}" +
348 " Public Overridable Default Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
350 "End Class{0}", Writer.NewLine), code);
354 /// Ensures Default keyword is only output if property is named "Item"
355 /// (case-insensitive comparison) AND parameters are defined.
358 public override void PropertyIndexerTest2 ()
360 string code = GeneratePropertyIndexer (MemberAttributes.Public,
361 false, false, false);
362 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
363 "Public Class Test1{0}" +
366 " Public Overridable Property iTem() As Integer{0}" +
368 " Public Overridable Property iTem As Integer{0}" +
371 "End Class{0}", Writer.NewLine), code);
375 /// Ensures Default keyword is output after ReadOnly modifier.
378 public override void PropertyIndexerGetOnly ()
380 string code = GeneratePropertyIndexer (MemberAttributes.Family,
382 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
383 "Public Class Test1{0}" +
385 " Protected Overridable Default ReadOnly Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
389 "End Class{0}", Writer.NewLine), code);
393 /// Ensures Default keyword is output after WriteOnly modifier.
396 public override void PropertyIndexerSetOnly ()
398 string code = GeneratePropertyIndexer (MemberAttributes.Family,
400 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
401 "Public Class Test1{0}" +
403 " Protected Overridable Default WriteOnly Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
407 "End Class{0}", Writer.NewLine), code);
411 public override void PropertyImplementationTypes ()
413 string code = GeneratePropertyImplementationTypes ();
414 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
415 "Public Class Test1{0}" +
418 " Public Overridable Property Name() As Integer Implements IPolicy.Name , IWhatever.Name{0}" +
420 " Public Overridable Property Name As Integer Implements IPolicy.Name , IWhatever.Name{0}" +
423 "End Class{0}", Writer.NewLine), code);
427 /// Ensure that Overloads keyword is output for a property which has
428 /// explicitly been marked as Overloaded.
431 public override void PropertyOverloadsTest1 ()
433 string code = GeneratePropertyOverloads1 ();
434 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
435 "Public Class Test1{0}" +
438 " Public Overloads Overridable Property Name() As Integer{0}" +
440 " Public Overloads Overridable Property Name As Integer{0}" +
443 "End Class{0}", Writer.NewLine), code);
447 /// Ensure that Overloads keyword is output if multiple properties with
448 /// the same name are defined.
451 public override void PropertyOverloadsTest2 ()
453 string code = GeneratePropertyOverloads2 ();
454 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
455 "Public Class Test1{0}" +
458 " Public Overloads Overridable Property Name() As Integer{0}" +
460 " Public Overloads Overridable Property Name As Integer{0}" +
464 " Private Overloads Property Name(ByVal value1 As Object) As Integer{0}" +
466 "End Class{0}", Writer.NewLine), code);
470 /// Ensure that a property with a PrivateImplementationType and with
471 /// the same name does not qualify as an overload.
474 public override void PropertyOverloadsTest3 ()
476 string code = GeneratePropertyOverloads3 ();
477 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
478 "Public Class Test1{0}" +
481 " Public Overridable Property Name() As Integer{0}" +
483 " Public Overridable Property Name As Integer{0}" +
487 " Property System_Int32_Name(ByVal value1 As Object) As Integer Implements Integer.Name{0}" +
489 "End Class{0}", Writer.NewLine), code);
493 /// Ensure no access modifiers are output if PrivateImplementationType
494 /// is set. Default keyword is also not output in this case.
497 public override void PropertyPrivateImplementationType ()
499 string code = GeneratePropertyPrivateImplementationType ();
500 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
501 "Public Class Test1{0}" +
503 " Overridable Property System_Int32_Item(ByVal value1 As Object) As Integer Implements Integer.Item{0}" +
505 "End Class{0}", Writer.NewLine), code);
509 /// If both ImplementationTypes and PrivateImplementationType are set,
510 /// then only ImplementationTypes are output.
513 public override void PropertyImplementationTypeOrder ()
515 string code = GeneratePropertyImplementationTypeOrder ();
516 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
517 "Public Class Test1{0}" +
519 " Overridable Property System_Int32_Item(ByVal value1 As Object) As Integer Implements IPolicy.Item{0}" +
521 "End Class{0}", Writer.NewLine), code);
525 public override void MethodMembersTypeTest1 ()
527 string code = GenerateMethodMembersType1 ();
528 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
529 "Public Class Test1{0}" +
533 " Private Sub (){0}" +
535 "End Class{0}", Writer.NewLine), code);
539 public override void MethodMembersTypeTest2 ()
541 string code = GenerateMethodMembersType2 ();
542 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
543 "Public Class Test1{0}" +
545 " Public Overridable Function Something(ByVal value1 As Object, ByVal value2 As Object, ByRef index As Integer, ByRef count As Integer) As Integer{0}" +
547 "End Class{0}", Writer.NewLine), code);
551 public override void MethodMembersTypeTest3 ()
553 string code = GenerateMethodMembersType3 ();
554 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
555 "Public Class Test1{0}" +
557 " Public Overridable Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer) As Integer{0}" +
559 "End Class{0}", Writer.NewLine), code);
563 public override void MethodImplementationTypes ()
565 string code = GenerateMethodImplementationTypes ();
566 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
567 "Public Class Test1{0}" +
570 " Friend Overridable Function Execute() As Integer Implements IPolicy.Execute , IWhatever.Execute{0}" +
572 " Friend Function Execute() As Integer Implements IPolicy.Execute , IWhatever.Execute{0}" +
575 "End Class{0}", Writer.NewLine), code);
579 /// Ensure that Overloads keyword is output for a method which has
580 /// explicitly been marked as Overloaded.
583 public override void MethodOverloadsTest1 ()
585 string code = GenerateMethodOverloads1 ();
586 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
587 "Public Class Test1{0}" +
589 " Public Overloads Overridable Function Execute() As Integer{0}" +
591 "End Class{0}", Writer.NewLine), code);
595 /// Ensure that Overloads keyword is output if multiple methods with
596 /// the same name are defined.
599 public override void MethodOverloadsTest2 ()
601 string code = GenerateMethodOverloads2 ();
602 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
603 "Public Class Test1{0}" +
605 " Public Overloads Overridable Sub Execute(){0}" +
608 " Private Overloads Function Execute(ByVal value1 As Object) As Integer{0}" +
610 "End Class{0}", Writer.NewLine), code);
614 /// Ensure that a method with a PrivateImplementationType and with
615 /// the same name does not qualify as an overload.
618 public override void MethodOverloadsTest3 ()
620 string code = GenerateMethodOverloads3 ();
621 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
622 "Public Class Test1{0}" +
624 " Public Overridable Sub Execute(){0}" +
627 " Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements Integer.Execute{0}" +
629 "End Class{0}", Writer.NewLine), code);
633 /// Ensure no access modifiers are output if PrivateImplementationType
637 public override void MethodPrivateImplementationType ()
639 string code = GenerateMethodPrivateImplementationType ();
640 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
641 "Public Class Test1{0}" +
643 " Overridable Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements Integer.Execute{0}" +
645 "End Class{0}", Writer.NewLine), code);
649 /// If both ImplementationTypes and PrivateImplementationType are set,
650 /// then only ImplementationTypes are output.
653 public override void MethodImplementationTypeOrder ()
655 string code = GenerateMethodImplementationTypeOrder ();
656 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
657 "Public Class Test1{0}" +
659 " Overridable Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements IPolicy.Execute{0}" +
661 "End Class{0}", Writer.NewLine), code);
665 public override void MethodReturnTypeAttributes ()
667 string code = GenerateMethodReturnTypeAttributes ();
668 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
669 "Public Class Test1{0}" +
673 " Public Overridable Function Execute() As <C(A1:=false, A2:=true), D()> Integer{0}" +
675 "End Class{0}", Writer.NewLine), code);
679 public override void ConstructorAttributesTest ()
681 string code = GenerateConstructorAttributes ();
682 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
683 "Public Class Test1{0}" +
687 " Private Sub New(){0}" +
690 "End Class{0}", Writer.NewLine), code);
694 public override void ConstructorParametersTest ()
696 string code = GenerateConstructorParameters ();
697 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
698 "Public Class Test1{0}" +
700 " Public Sub New(ByVal value1 As Object, ByVal value2 As Object, ByRef index As Integer, ByRef count As Integer){0}" +
703 "End Class{0}", Writer.NewLine), code);
707 public override void ConstructorParameterAttributesTest ()
709 string code = GenerateConstructorParameterAttributes ();
710 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
711 "Public Class Test1{0}" +
713 " Public Sub New(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer){0}" +
716 "End Class{0}", Writer.NewLine), code);
720 public override void BaseConstructorSingleArg ()
722 string code = GenerateBaseConstructor (false);
723 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
724 "Public Class Test1{0}" +
726 " Public Sub New(ByVal value1 As Object, ByRef value2 As Integer){0}" +
727 " MyBase.New(value1){0}" +
729 "End Class{0}", Writer.NewLine), code);
733 public override void BaseConstructorMultipleArgs ()
735 string code = GenerateBaseConstructor (true);
736 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
737 "Public Class Test1{0}" +
739 " Public Sub New(ByVal value1 As Object, ByRef value2 As Integer){0}" +
740 " MyBase.New(value1, value2){0}" +
742 "End Class{0}", Writer.NewLine), code);
746 public override void ChainedConstructorSingleArg ()
748 string code = GenerateChainedConstructor (false);
749 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
750 "Public Class Test1{0}" +
752 " Public Sub New(ByVal value1 As Object, ByRef value2 As Integer){0}" +
753 " Me.New(value1){0}" +
755 "End Class{0}", Writer.NewLine), code);
759 public override void ChainedConstructorMultipleArgs ()
761 string code = GenerateChainedConstructor (true);
762 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
763 "Public Class Test1{0}" +
765 " Public Sub New(ByVal value1 As Object, ByRef value2 As Integer){0}" +
766 " Me.New(value1, value2){0}" +
768 "End Class{0}", Writer.NewLine), code);
773 [Category ("NotWorking")]
774 public class CodeGeneratorFromTypeTest_Delegate : CodeGeneratorFromTypeTestBase
776 private CodeTypeDeclaration _typeDeclaration;
777 private ICodeGenerator _codeGenerator;
779 protected override ICodeGenerator CodeGenerator
781 get { return _codeGenerator; }
784 protected override CodeTypeDeclaration TypeDeclaration
786 get { return _typeDeclaration; }
790 public override void SetUp ()
793 _typeDeclaration = new CodeTypeDelegate ();
795 CodeDomProvider provider = new VBCodeProvider ();
796 _codeGenerator = provider.CreateGenerator ();
800 public override void DefaultTypeTest ()
802 string code = GenerateDefaultType ();
803 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
804 "Public Delegate Sub (){0}", Writer.NewLine), code);
808 [ExpectedException (typeof (NullReferenceException))]
809 public override void NullTypeTest ()
815 public override void SimpleTypeTest ()
817 string code = GenerateSimpleType ();
818 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
819 "Public Delegate Sub Test1(){0}", Writer.NewLine), code);
823 public override void AttributesAndTypeTest ()
825 string code = GenerateAttributesAndType ();
826 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
829 "Public Delegate Sub Test1(){0}", Writer.NewLine), code);
833 public override void EventMembersTypeTest1 ()
835 string code = GenerateEventMembersType1 ();
836 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
837 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
841 public override void EventMembersTypeTest2 ()
843 string code = GenerateEventMembersType2 ();
844 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
845 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
849 public override void EventImplementationTypes ()
851 string code = GenerateEventImplementationTypes ();
852 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
853 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
857 /// Ensure no access modifiers are output if PrivateImplementationType
861 public override void EventPrivateImplementationType ()
863 string code = GenerateEventPrivateImplementationType ();
864 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
865 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
869 /// If both ImplementationTypes and PrivateImplementationType are set,
870 /// then only ImplementationTypes are output.
873 public override void EventImplementationTypeOrder ()
875 string code = GenerateEventImplementationTypeOrder ();
876 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
877 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
881 public override void FieldMembersTypeTest1 ()
883 string code = GenerateFieldMembersType1 ();
884 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
885 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
889 public override void FieldMembersTypeTest2 ()
891 string code = GenerateFieldMembersType2 ();
892 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
893 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
897 public override void PropertyMembersTypeTest1 ()
899 string code = GeneratePropertyMembersAttributes ();
900 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
901 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
905 public override void PropertyMembersTypeTest2 ()
907 string code = GeneratePropertyMembersType (MemberAttributes.Public,
909 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
910 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
914 public override void PropertyMembersTypeGetOnly ()
916 string code = GeneratePropertyMembersType (MemberAttributes.Family,
918 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
919 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
923 public override void PropertyMembersTypeSetOnly ()
925 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
927 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
928 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
932 public override void PropertyMembersTypeGetSet ()
934 string code = GeneratePropertyMembersType (MemberAttributes.Family,
936 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
937 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
941 public override void PropertyMembersTypeFamilyOrAssembly ()
943 string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
945 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
946 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
950 public override void PropertyMembersTypeAssembly ()
952 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
954 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
955 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
959 public override void PropertyParametersTest ()
961 string code = GeneratePropertyParameters ();
962 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
963 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
967 public override void PropertyIndexerTest1 ()
969 string code = GeneratePropertyIndexer (MemberAttributes.Public,
971 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
972 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
976 public override void PropertyIndexerTest2 ()
978 string code = GeneratePropertyIndexer (MemberAttributes.Public,
979 false, false, false);
980 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
981 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
985 public override void PropertyIndexerGetOnly ()
987 string code = GeneratePropertyIndexer (MemberAttributes.Family,
989 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
990 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
994 public override void PropertyIndexerSetOnly ()
996 string code = GeneratePropertyIndexer (MemberAttributes.Family,
998 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
999 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1003 public override void PropertyImplementationTypes ()
1005 string code = GeneratePropertyImplementationTypes ();
1006 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1007 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1011 public override void PropertyOverloadsTest1 ()
1013 string code = GeneratePropertyOverloads1 ();
1014 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1015 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1019 public override void PropertyOverloadsTest2 ()
1021 string code = GeneratePropertyOverloads2 ();
1022 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1023 "Public Delegate Sub Test1(){0}{0}{0}", Writer.NewLine), code);
1027 public override void PropertyOverloadsTest3 ()
1029 string code = GeneratePropertyOverloads3 ();
1030 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1031 "Public Delegate Sub Test1(){0}{0}{0}", Writer.NewLine), code);
1035 public override void PropertyPrivateImplementationType ()
1037 string code = GeneratePropertyPrivateImplementationType ();
1038 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1039 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1043 public override void PropertyImplementationTypeOrder ()
1045 string code = GeneratePropertyImplementationTypeOrder ();
1046 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1047 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1051 public override void MethodMembersTypeTest1 ()
1053 string code = GenerateMethodMembersType1 ();
1054 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1055 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1059 public override void MethodMembersTypeTest2 ()
1061 string code = GenerateMethodMembersType2 ();
1062 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1063 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1067 public override void MethodMembersTypeTest3 ()
1069 string code = GenerateMethodMembersType3 ();
1070 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1071 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1075 public override void MethodImplementationTypes ()
1077 string code = GenerateMethodImplementationTypes ();
1078 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1079 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1083 public override void MethodOverloadsTest1 ()
1085 string code = GenerateMethodOverloads1 ();
1086 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1087 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1091 public override void MethodOverloadsTest2 ()
1093 string code = GenerateMethodOverloads2 ();
1094 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1095 "Public Delegate Sub Test1(){0}{0}{0}", Writer.NewLine), code);
1099 public override void MethodOverloadsTest3 ()
1101 string code = GenerateMethodOverloads3 ();
1102 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1103 "Public Delegate Sub Test1(){0}{0}{0}", Writer.NewLine), code);
1107 public override void MethodPrivateImplementationType ()
1109 string code = GenerateMethodPrivateImplementationType ();
1110 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1111 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1115 public override void MethodImplementationTypeOrder ()
1117 string code = GenerateMethodImplementationTypeOrder ();
1118 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1119 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1123 public override void MethodReturnTypeAttributes ()
1125 string code = GenerateMethodReturnTypeAttributes ();
1126 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1127 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1131 public override void ConstructorAttributesTest ()
1133 string code = GenerateConstructorAttributes ();
1134 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1135 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1139 public override void ConstructorParametersTest ()
1141 string code = GenerateConstructorParameters ();
1142 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1143 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1147 public override void ConstructorParameterAttributesTest ()
1149 string code = GenerateConstructorParameterAttributes ();
1150 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1151 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1155 public override void BaseConstructorSingleArg ()
1157 string code = GenerateBaseConstructor (false);
1158 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1159 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1163 public override void BaseConstructorMultipleArgs ()
1165 string code = GenerateBaseConstructor (true);
1166 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1167 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1171 public override void ChainedConstructorSingleArg ()
1173 string code = GenerateChainedConstructor (false);
1174 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1175 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1179 public override void ChainedConstructorMultipleArgs ()
1181 string code = GenerateChainedConstructor (true);
1182 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1183 "Public Delegate Sub Test1(){0}{0}", Writer.NewLine), code);
1188 [Category ("NotWorking")]
1189 public class CodeGeneratorFromTypeTest_Interface : CodeGeneratorFromTypeTestBase
1191 private CodeTypeDeclaration _typeDeclaration;
1192 private ICodeGenerator _codeGenerator;
1194 protected override ICodeGenerator CodeGenerator
1196 get { return _codeGenerator; }
1199 protected override CodeTypeDeclaration TypeDeclaration
1201 get { return _typeDeclaration; }
1205 public override void SetUp ()
1208 _typeDeclaration = new CodeTypeDeclaration ();
1209 _typeDeclaration.IsInterface = true;
1211 CodeDomProvider provider = new VBCodeProvider ();
1212 _codeGenerator = provider.CreateGenerator ();
1216 public override void DefaultTypeTest ()
1218 string code = GenerateDefaultType ();
1219 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1220 "Public Interface {0}" +
1221 "End Interface{0}", Writer.NewLine), code);
1225 [ExpectedException (typeof (NullReferenceException))]
1226 public override void NullTypeTest ()
1228 GenerateNullType ();
1232 public override void SimpleTypeTest ()
1234 string code = GenerateSimpleType ();
1235 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1236 "Public Interface Test1{0}" +
1237 "End Interface{0}", Writer.NewLine), code);
1241 public override void AttributesAndTypeTest ()
1243 string code = GenerateAttributesAndType ();
1244 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1247 "Public Interface Test1{0}" +
1248 "End Interface{0}", Writer.NewLine), code);
1252 public override void EventMembersTypeTest1 ()
1254 string code = GenerateEventMembersType1 ();
1255 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1256 "Public Interface Test1{0}" +
1260 " Private Event As System.Void{0}" +
1261 "End Interface{0}", Writer.NewLine), code);
1265 public override void EventMembersTypeTest2 ()
1267 string code = GenerateEventMembersType2 ();
1268 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1269 "Public Interface Test1{0}" +
1271 " Public Event Click As Integer{0}" +
1272 "End Interface{0}", Writer.NewLine), code);
1276 public override void EventImplementationTypes ()
1278 string code = GenerateEventImplementationTypes ();
1279 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1280 "Public Interface Test1{0}" +
1283 " Friend Event Click As Integer Implements IPolicy.Click , IWhatever.Click{0}" +
1285 " Friend Event Click As Integer{0}" +
1287 "End Interface{0}", Writer.NewLine), code);
1291 public override void EventPrivateImplementationType ()
1293 string code = GenerateEventPrivateImplementationType ();
1294 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1295 "Public Interface Test1{0}" +
1298 " Protected Event System_Int32_Click As Integer Implements Integer.Click{0}" +
1300 " Protected Event Click As Integer{0}" +
1302 "End Interface{0}", Writer.NewLine), code);
1306 public override void EventImplementationTypeOrder ()
1308 string code = GenerateEventImplementationTypeOrder ();
1309 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1310 "Public Interface Test1{0}" +
1313 " Public Event System_Int32_Click As Integer Implements IPolicy.Click{0}" +
1315 " Public Event Click As Integer{0}" +
1317 "End Interface{0}", Writer.NewLine), code);
1321 public override void FieldMembersTypeTest1 ()
1323 string code = GenerateFieldMembersType1 ();
1324 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1325 "Public Interface Test1{0}" +
1327 "End Interface{0}", Writer.NewLine), code);
1331 public override void FieldMembersTypeTest2 ()
1333 string code = GenerateFieldMembersType2 ();
1334 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1335 "Public Interface Test1{0}" +
1337 "End Interface{0}", Writer.NewLine), code);
1341 public override void PropertyMembersTypeTest1 ()
1343 string code = GeneratePropertyMembersAttributes ();
1344 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1345 "Public Interface Test1{0}" +
1350 " Property () As System.Void{0}" +
1352 " Property As System.Void{0}" +
1354 "End Interface{0}", Writer.NewLine), code);
1358 public override void PropertyMembersTypeTest2 ()
1360 string code = GeneratePropertyMembersType (MemberAttributes.Public,
1362 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1363 "Public Interface Test1{0}" +
1366 " Property Name() As Integer{0}" +
1368 " Property Name As Integer{0}" +
1370 "End Interface{0}", Writer.NewLine), code);
1374 public override void PropertyMembersTypeGetOnly ()
1376 string code = GeneratePropertyMembersType (MemberAttributes.Family,
1378 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1379 "Public Interface Test1{0}" +
1382 " ReadOnly Property Name() As Integer{0}" +
1384 " ReadOnly Property Name As Integer{0}" +
1386 "End Interface{0}", Writer.NewLine), code);
1390 public override void PropertyMembersTypeSetOnly ()
1392 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
1394 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1395 "Public Interface Test1{0}" +
1398 " WriteOnly Property Name() As Integer{0}" +
1400 " WriteOnly Property Name As Integer{0}" +
1402 "End Interface{0}", Writer.NewLine), code);
1406 public override void PropertyMembersTypeGetSet ()
1408 string code = GeneratePropertyMembersType (MemberAttributes.Family,
1410 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1411 "Public Interface Test1{0}" +
1414 " Property Name() As Integer{0}" +
1416 " Property Name As Integer{0}" +
1418 "End Interface{0}", Writer.NewLine), code);
1422 public override void PropertyMembersTypeFamilyOrAssembly ()
1424 string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
1426 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1427 "Public Interface Test1{0}" +
1430 " Property Name() As Integer{0}" +
1432 " Property Name As Integer{0}" +
1434 "End Interface{0}", Writer.NewLine), code);
1438 public override void PropertyMembersTypeAssembly ()
1440 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
1442 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1443 "Public Interface Test1{0}" +
1446 " Property Name() As Integer{0}" +
1448 " Property Name As Integer{0}" +
1450 "End Interface{0}", Writer.NewLine), code);
1454 public override void PropertyParametersTest ()
1456 string code = GeneratePropertyParameters ();
1457 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1458 "Public Interface Test1{0}" +
1460 " Property Name(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
1461 "End Interface{0}", Writer.NewLine), code);
1465 public override void PropertyIndexerTest1 ()
1467 string code = GeneratePropertyIndexer (MemberAttributes.Public,
1468 false, false, true);
1469 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1470 "Public Interface Test1{0}" +
1472 " Default Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
1473 "End Interface{0}", Writer.NewLine), code);
1477 public override void PropertyIndexerTest2 ()
1479 string code = GeneratePropertyIndexer (MemberAttributes.Public,
1480 false, false, false);
1481 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1482 "Public Interface Test1{0}" +
1485 " Property iTem() As Integer{0}" +
1487 " Property iTem As Integer{0}" +
1489 "End Interface{0}", Writer.NewLine), code);
1493 public override void PropertyIndexerGetOnly ()
1495 string code = GeneratePropertyIndexer (MemberAttributes.Family,
1497 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1498 "Public Interface Test1{0}" +
1500 " Default ReadOnly Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
1501 "End Interface{0}", Writer.NewLine), code);
1505 public override void PropertyIndexerSetOnly ()
1507 string code = GeneratePropertyIndexer (MemberAttributes.Family,
1509 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1510 "Public Interface Test1{0}" +
1512 " Default WriteOnly Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
1513 "End Interface{0}", Writer.NewLine), code);
1517 public override void PropertyImplementationTypes ()
1519 string code = GeneratePropertyImplementationTypes ();
1520 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1521 "Public Interface Test1{0}" +
1524 " Property Name() As Integer Implements IPolicy.Name , IWhatever.Name{0}" +
1526 " Property Name As Integer Implements IPolicy.Name , IWhatever.Name{0}" +
1528 "End Interface{0}", Writer.NewLine), code);
1532 public override void PropertyOverloadsTest1 ()
1534 string code = GeneratePropertyOverloads1 ();
1535 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1536 "Public Interface Test1{0}" +
1539 " Property Name() As Integer{0}" +
1541 " Property Name As Integer{0}" +
1543 "End Interface{0}", Writer.NewLine), code);
1547 public override void PropertyOverloadsTest2 ()
1549 string code = GeneratePropertyOverloads2 ();
1550 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1551 "Public Interface Test1{0}" +
1554 " Property Name() As Integer{0}" +
1556 " Property Name As Integer{0}" +
1559 " Property Name(ByVal value1 As Object) As Integer{0}" +
1560 "End Interface{0}", Writer.NewLine), code);
1564 public override void PropertyOverloadsTest3 ()
1566 string code = GeneratePropertyOverloads3 ();
1567 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1568 "Public Interface Test1{0}" +
1571 " Property Name() As Integer{0}" +
1573 " Property Name As Integer{0}" +
1576 " Property System_Int32_Name(ByVal value1 As Object) As Integer Implements Integer.Name{0}" +
1577 "End Interface{0}", Writer.NewLine), code);
1581 public override void PropertyPrivateImplementationType ()
1583 string code = GeneratePropertyPrivateImplementationType ();
1584 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1585 "Public Interface Test1{0}" +
1587 " Property System_Int32_Item(ByVal value1 As Object) As Integer Implements Integer.Item{0}" +
1588 "End Interface{0}", Writer.NewLine), code);
1592 public override void PropertyImplementationTypeOrder ()
1594 string code = GeneratePropertyImplementationTypeOrder ();
1595 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1596 "Public Interface Test1{0}" +
1598 " Property System_Int32_Item(ByVal value1 As Object) As Integer Implements IPolicy.Item{0}" +
1599 "End Interface{0}", Writer.NewLine), code);
1603 public override void MethodMembersTypeTest1 ()
1605 string code = GenerateMethodMembersType1 ();
1606 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1607 "Public Interface Test1{0}" +
1612 "End Interface{0}", Writer.NewLine), code);
1616 public override void MethodMembersTypeTest2 ()
1618 string code = GenerateMethodMembersType2 ();
1619 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1620 "Public Interface Test1{0}" +
1622 " Function Something(ByVal value1 As Object, ByVal value2 As Object, ByRef index As Integer, ByRef count As Integer) As Integer{0}" +
1623 "End Interface{0}", Writer.NewLine), code);
1627 public override void MethodMembersTypeTest3 ()
1629 string code = GenerateMethodMembersType3 ();
1630 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1631 "Public Interface Test1{0}" +
1633 " Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer) As Integer{0}" +
1634 "End Interface{0}", Writer.NewLine), code);
1638 public override void MethodImplementationTypes ()
1640 string code = GenerateMethodImplementationTypes ();
1641 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1642 "Public Interface Test1{0}" +
1644 " Function Execute() As Integer Implements IPolicy.Execute , IWhatever.Execute{0}" +
1645 "End Interface{0}", Writer.NewLine), code);
1649 public override void MethodOverloadsTest1 ()
1651 string code = GenerateMethodOverloads1 ();
1652 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1653 "Public Interface Test1{0}" +
1655 " Function Execute() As Integer{0}" +
1656 "End Interface{0}", Writer.NewLine), code);
1660 public override void MethodOverloadsTest2 ()
1662 string code = GenerateMethodOverloads2 ();
1663 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1664 "Public Interface Test1{0}" +
1666 " Sub Execute(){0}" +
1668 " Function Execute(ByVal value1 As Object) As Integer{0}" +
1669 "End Interface{0}", Writer.NewLine), code);
1673 public override void MethodOverloadsTest3 ()
1675 string code = GenerateMethodOverloads3 ();
1676 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1677 "Public Interface Test1{0}" +
1679 " Sub Execute(){0}" +
1681 " Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements Integer.Execute{0}" +
1682 "End Interface{0}", Writer.NewLine), code);
1686 public override void MethodPrivateImplementationType ()
1688 string code = GenerateMethodPrivateImplementationType ();
1689 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1690 "Public Interface Test1{0}" +
1692 " Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements Integer.Execute{0}" +
1693 "End Interface{0}", Writer.NewLine), code);
1697 public override void MethodImplementationTypeOrder ()
1699 string code = GenerateMethodImplementationTypeOrder ();
1700 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1701 "Public Interface Test1{0}" +
1703 " Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements IPolicy.Execute{0}" +
1704 "End Interface{0}", Writer.NewLine), code);
1708 public override void MethodReturnTypeAttributes ()
1710 string code = GenerateMethodReturnTypeAttributes ();
1711 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1712 "Public Interface Test1{0}" +
1716 " Function Execute() As <C(A1:=false, A2:=true), D()> Integer{0}" +
1717 "End Interface{0}", Writer.NewLine), code);
1721 public override void ConstructorAttributesTest ()
1723 string code = GenerateConstructorAttributes ();
1724 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1725 "Public Interface Test1{0}" +
1727 "End Interface{0}", Writer.NewLine), code);
1731 public override void ConstructorParametersTest ()
1733 string code = GenerateConstructorParameters ();
1734 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1735 "Public Interface Test1{0}" +
1737 "End Interface{0}", Writer.NewLine), code);
1741 public override void ConstructorParameterAttributesTest ()
1743 string code = GenerateConstructorParameterAttributes ();
1744 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1745 "Public Interface Test1{0}" +
1747 "End Interface{0}", Writer.NewLine), code);
1751 public override void BaseConstructorSingleArg ()
1753 string code = GenerateBaseConstructor (false);
1754 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1755 "Public Interface Test1{0}" +
1757 "End Interface{0}", Writer.NewLine), code);
1761 public override void BaseConstructorMultipleArgs ()
1763 string code = GenerateBaseConstructor (true);
1764 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1765 "Public Interface Test1{0}" +
1767 "End Interface{0}", Writer.NewLine), code);
1771 public override void ChainedConstructorSingleArg ()
1773 string code = GenerateChainedConstructor (false);
1774 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1775 "Public Interface Test1{0}" +
1777 "End Interface{0}", Writer.NewLine), code);
1781 public override void ChainedConstructorMultipleArgs ()
1783 string code = GenerateChainedConstructor (true);
1784 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1785 "Public Interface Test1{0}" +
1787 "End Interface{0}", Writer.NewLine), code);
1792 [Category ("NotWorking")]
1793 public class CodeGeneratorFromTypeTest_Struct : CodeGeneratorFromTypeTestBase
1795 private CodeTypeDeclaration _typeDeclaration;
1796 private ICodeGenerator _codeGenerator;
1798 protected override ICodeGenerator CodeGenerator
1800 get { return _codeGenerator; }
1803 protected override CodeTypeDeclaration TypeDeclaration
1805 get { return _typeDeclaration; }
1809 public override void SetUp ()
1812 _typeDeclaration = new CodeTypeDeclaration ();
1813 _typeDeclaration.IsStruct = true;
1815 CodeDomProvider provider = new VBCodeProvider ();
1816 _codeGenerator = provider.CreateGenerator ();
1820 public override void DefaultTypeTest ()
1822 string code = GenerateDefaultType ();
1823 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1824 "Public Structure {0}" +
1825 "End Structure{0}", Writer.NewLine), code);
1829 [ExpectedException (typeof (NullReferenceException))]
1830 public override void NullTypeTest ()
1832 GenerateNullType ();
1836 public override void SimpleTypeTest ()
1838 string code = GenerateSimpleType ();
1839 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1840 "Public Structure Test1{0}" +
1841 "End Structure{0}", Writer.NewLine), code);
1845 public override void AttributesAndTypeTest ()
1847 string code = GenerateAttributesAndType ();
1848 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1851 "Public Structure Test1{0}" +
1852 "End Structure{0}", Writer.NewLine), code);
1856 public override void EventMembersTypeTest1 ()
1858 string code = GenerateEventMembersType1 ();
1859 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1860 "Public Structure Test1{0}" +
1864 " Private Event As System.Void{0}" +
1865 "End Structure{0}", Writer.NewLine), code);
1869 public override void EventMembersTypeTest2 ()
1871 string code = GenerateEventMembersType2 ();
1872 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1873 "Public Structure Test1{0}" +
1875 " Public Event Click As Integer{0}" +
1876 "End Structure{0}", Writer.NewLine), code);
1880 public override void EventImplementationTypes ()
1882 string code = GenerateEventImplementationTypes ();
1883 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1884 "Public Structure Test1{0}" +
1887 " Friend Event Click As Integer Implements IPolicy.Click , IWhatever.Click{0}" +
1889 " Friend Event Click As Integer{0}" +
1891 "End Structure{0}", Writer.NewLine), code);
1895 public override void EventPrivateImplementationType ()
1897 string code = GenerateEventPrivateImplementationType ();
1898 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1899 "Public Structure Test1{0}" +
1902 " Protected Event System_Int32_Click As Integer Implements Integer.Click{0}" +
1904 " Protected Event Click As Integer{0}" +
1906 "End Structure{0}", Writer.NewLine), code);
1910 public override void EventImplementationTypeOrder ()
1912 string code = GenerateEventImplementationTypeOrder ();
1913 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1914 "Public Structure Test1{0}" +
1917 " Public Event System_Int32_Click As Integer Implements IPolicy.Click{0}" +
1919 " Public Event Click As Integer{0}" +
1921 "End Structure{0}", Writer.NewLine), code);
1925 public override void FieldMembersTypeTest1 ()
1927 string code = GenerateFieldMembersType1 ();
1928 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1929 "Public Structure Test1{0}" +
1933 " Private As System.Void{0}" +
1934 "End Structure{0}", Writer.NewLine), code);
1938 public override void FieldMembersTypeTest2 ()
1940 string code = GenerateFieldMembersType2 ();
1941 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1942 "Public Structure Test1{0}" +
1944 " Public Name As Integer{0}" +
1945 "End Structure{0}", Writer.NewLine), code);
1949 public override void PropertyMembersTypeTest1 ()
1951 string code = GeneratePropertyMembersAttributes ();
1952 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1953 "Public Structure Test1{0}" +
1958 " Private Property () As System.Void{0}" +
1960 " Private Property As System.Void{0}" +
1962 " End Property{0}" +
1963 "End Structure{0}", Writer.NewLine), code);
1967 public override void PropertyMembersTypeTest2 ()
1969 string code = GeneratePropertyMembersType (MemberAttributes.Public,
1971 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1972 "Public Structure Test1{0}" +
1975 " Public Overridable Property Name() As Integer{0}" +
1977 " Public Overridable Property Name As Integer{0}" +
1979 " End Property{0}" +
1980 "End Structure{0}", Writer.NewLine), code);
1984 public override void PropertyMembersTypeGetOnly ()
1986 string code = GeneratePropertyMembersType (MemberAttributes.Family,
1988 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
1989 "Public Structure Test1{0}" +
1992 " Protected Overridable ReadOnly Property Name() As Integer{0}" +
1994 " Protected Overridable ReadOnly Property Name As Integer{0}" +
1998 " End Property{0}" +
1999 "End Structure{0}", Writer.NewLine), code);
2003 public override void PropertyMembersTypeSetOnly ()
2005 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
2007 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2008 "Public Structure Test1{0}" +
2011 " Friend Overridable WriteOnly Property Name() As Integer{0}" +
2013 " Friend WriteOnly Property Name As Integer{0}" +
2017 " End Property{0}" +
2018 "End Structure{0}", Writer.NewLine), code);
2022 public override void PropertyMembersTypeGetSet ()
2024 string code = GeneratePropertyMembersType (MemberAttributes.Family,
2026 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2027 "Public Structure Test1{0}" +
2030 " Protected Overridable Property Name() As Integer{0}" +
2032 " Protected Overridable Property Name As Integer{0}" +
2038 " End Property{0}" +
2039 "End Structure{0}", Writer.NewLine), code);
2043 // A bug in MS.NET 1.x causes MemberAttributes.FamilyOrAssembly to be
2044 // generated as Protected
2045 [Category ("NotDotNet")]
2048 public override void PropertyMembersTypeFamilyOrAssembly ()
2050 string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
2052 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2053 "Public Structure Test1{0}" +
2056 " Protected Friend Property Name() As Integer{0}" +
2058 " Protected Friend Property Name As Integer{0}" +
2060 " End Property{0}" +
2061 "End Structure{0}", Writer.NewLine), code);
2065 public override void PropertyMembersTypeAssembly ()
2067 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
2069 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2070 "Public Structure Test1{0}" +
2073 " Friend Overridable Property Name() As Integer{0}" +
2075 " Friend Property Name As Integer{0}" +
2077 " End Property{0}" +
2078 "End Structure{0}", Writer.NewLine), code);
2082 public override void PropertyParametersTest ()
2084 string code = GeneratePropertyParameters ();
2085 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2086 "Public Structure Test1{0}" +
2088 " Public Overridable Property Name(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
2089 " End Property{0}" +
2090 "End Structure{0}", Writer.NewLine), code);
2094 public override void PropertyIndexerTest1 ()
2096 string code = GeneratePropertyIndexer (MemberAttributes.Public,
2097 false, false, true);
2098 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2099 "Public Structure Test1{0}" +
2101 " Public Overridable Default Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
2102 " End Property{0}" +
2103 "End Structure{0}", Writer.NewLine), code);
2107 public override void PropertyIndexerTest2 ()
2109 string code = GeneratePropertyIndexer (MemberAttributes.Public,
2110 false, false, false);
2111 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2112 "Public Structure Test1{0}" +
2115 " Public Overridable Property iTem() As Integer{0}" +
2117 " Public Overridable Property iTem As Integer{0}" +
2119 " End Property{0}" +
2120 "End Structure{0}", Writer.NewLine), code);
2124 public override void PropertyIndexerGetOnly ()
2126 string code = GeneratePropertyIndexer (MemberAttributes.Family,
2128 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2129 "Public Structure Test1{0}" +
2131 " Protected Overridable Default ReadOnly Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
2134 " End Property{0}" +
2135 "End Structure{0}", Writer.NewLine), code);
2139 public override void PropertyIndexerSetOnly ()
2141 string code = GeneratePropertyIndexer (MemberAttributes.Family,
2143 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2144 "Public Structure Test1{0}" +
2146 " Protected Overridable Default WriteOnly Property iTem(ByVal value1 As Object, ByRef value2 As Integer) As Integer{0}" +
2149 " End Property{0}" +
2150 "End Structure{0}", Writer.NewLine), code);
2154 public override void PropertyImplementationTypes ()
2156 string code = GeneratePropertyImplementationTypes ();
2157 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2158 "Public Structure Test1{0}" +
2161 " Public Overridable Property Name() As Integer Implements IPolicy.Name , IWhatever.Name{0}" +
2163 " Public Overridable Property Name As Integer Implements IPolicy.Name , IWhatever.Name{0}" +
2165 " End Property{0}" +
2166 "End Structure{0}", Writer.NewLine), code);
2170 public override void PropertyOverloadsTest1 ()
2172 string code = GeneratePropertyOverloads1 ();
2173 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2174 "Public Structure Test1{0}" +
2177 " Public Overloads Overridable Property Name() As Integer{0}" +
2179 " Public Overloads Overridable Property Name As Integer{0}" +
2181 " End Property{0}" +
2182 "End Structure{0}", Writer.NewLine), code);
2186 public override void PropertyOverloadsTest2 ()
2188 string code = GeneratePropertyOverloads2 ();
2189 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2190 "Public Structure Test1{0}" +
2193 " Public Overloads Overridable Property Name() As Integer{0}" +
2195 " Public Overloads Overridable Property Name As Integer{0}" +
2197 " End Property{0}" +
2199 " Private Overloads Property Name(ByVal value1 As Object) As Integer{0}" +
2200 " End Property{0}" +
2201 "End Structure{0}", Writer.NewLine), code);
2205 public override void PropertyOverloadsTest3 ()
2207 string code = GeneratePropertyOverloads3 ();
2208 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2209 "Public Structure Test1{0}" +
2212 " Public Overridable Property Name() As Integer{0}" +
2214 " Public Overridable Property Name As Integer{0}" +
2216 " End Property{0}" +
2218 " Property System_Int32_Name(ByVal value1 As Object) As Integer Implements Integer.Name{0}" +
2219 " End Property{0}" +
2220 "End Structure{0}", Writer.NewLine), code);
2224 public override void PropertyPrivateImplementationType ()
2226 string code = GeneratePropertyPrivateImplementationType ();
2227 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2228 "Public Structure Test1{0}" +
2230 " Overridable Property System_Int32_Item(ByVal value1 As Object) As Integer Implements Integer.Item{0}" +
2231 " End Property{0}" +
2232 "End Structure{0}", Writer.NewLine), code);
2236 public override void PropertyImplementationTypeOrder ()
2238 string code = GeneratePropertyImplementationTypeOrder ();
2239 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2240 "Public Structure Test1{0}" +
2242 " Overridable Property System_Int32_Item(ByVal value1 As Object) As Integer Implements IPolicy.Item{0}" +
2243 " End Property{0}" +
2244 "End Structure{0}", Writer.NewLine), code);
2248 public override void MethodMembersTypeTest1 ()
2250 string code = GenerateMethodMembersType1 ();
2251 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2252 "Public Structure Test1{0}" +
2256 " Private Sub (){0}" +
2258 "End Structure{0}", Writer.NewLine), code);
2262 public override void MethodMembersTypeTest2 ()
2264 string code = GenerateMethodMembersType2 ();
2265 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2266 "Public Structure Test1{0}" +
2268 " Public Overridable Function Something(ByVal value1 As Object, ByVal value2 As Object, ByRef index As Integer, ByRef count As Integer) As Integer{0}" +
2269 " End Function{0}" +
2270 "End Structure{0}", Writer.NewLine), code);
2274 public override void MethodMembersTypeTest3 ()
2276 string code = GenerateMethodMembersType3 ();
2277 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2278 "Public Structure Test1{0}" +
2280 " Public Overridable Function Something(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer) As Integer{0}" +
2281 " End Function{0}" +
2282 "End Structure{0}", Writer.NewLine), code);
2286 public override void MethodImplementationTypes ()
2288 string code = GenerateMethodImplementationTypes ();
2289 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2290 "Public Structure Test1{0}" +
2293 " Friend Overridable Function Execute() As Integer Implements IPolicy.Execute , IWhatever.Execute{0}" +
2295 " Friend Function Execute() As Integer Implements IPolicy.Execute , IWhatever.Execute{0}" +
2297 " End Function{0}" +
2298 "End Structure{0}", Writer.NewLine), code);
2302 public override void MethodOverloadsTest1 ()
2304 string code = GenerateMethodOverloads1 ();
2305 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2306 "Public Structure Test1{0}" +
2308 " Public Overloads Overridable Function Execute() As Integer{0}" +
2309 " End Function{0}" +
2310 "End Structure{0}", Writer.NewLine), code);
2314 public override void MethodOverloadsTest2 ()
2316 string code = GenerateMethodOverloads2 ();
2317 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2318 "Public Structure Test1{0}" +
2320 " Public Overloads Overridable Sub Execute(){0}" +
2323 " Private Overloads Function Execute(ByVal value1 As Object) As Integer{0}" +
2324 " End Function{0}" +
2325 "End Structure{0}", Writer.NewLine), code);
2329 public override void MethodOverloadsTest3 ()
2331 string code = GenerateMethodOverloads3 ();
2332 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2333 "Public Structure Test1{0}" +
2335 " Public Overridable Sub Execute(){0}" +
2338 " Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements Integer.Execute{0}" +
2339 " End Function{0}" +
2340 "End Structure{0}", Writer.NewLine), code);
2344 public override void MethodPrivateImplementationType ()
2346 string code = GenerateMethodPrivateImplementationType ();
2347 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2348 "Public Structure Test1{0}" +
2350 " Overridable Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements Integer.Execute{0}" +
2351 " End Function{0}" +
2352 "End Structure{0}", Writer.NewLine), code);
2356 public override void MethodImplementationTypeOrder ()
2358 string code = GenerateMethodImplementationTypeOrder ();
2359 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2360 "Public Structure Test1{0}" +
2362 " Overridable Function System_Int32_Execute(ByVal value1 As Object) As Integer Implements IPolicy.Execute{0}" +
2363 " End Function{0}" +
2364 "End Structure{0}", Writer.NewLine), code);
2368 public override void MethodReturnTypeAttributes ()
2370 string code = GenerateMethodReturnTypeAttributes ();
2371 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2372 "Public Structure Test1{0}" +
2376 " Public Overridable Function Execute() As <C(A1:=false, A2:=true), D()> Integer{0}" +
2377 " End Function{0}" +
2378 "End Structure{0}", Writer.NewLine), code);
2382 public override void ConstructorAttributesTest ()
2384 string code = GenerateConstructorAttributes ();
2385 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2386 "Public Structure Test1{0}" +
2390 " Private Sub New(){0}" +
2395 "End Structure{0}", Writer.NewLine), code);
2399 public override void ConstructorParametersTest ()
2401 string code = GenerateConstructorParameters ();
2402 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2403 "Public Structure Test1{0}" +
2405 " Public Sub New(ByVal value1 As Object, ByVal value2 As Object, ByRef index As Integer, ByRef count As Integer){0}" +
2410 "End Structure{0}", Writer.NewLine), code);
2414 public override void ConstructorParameterAttributesTest ()
2416 string code = GenerateConstructorParameterAttributes ();
2417 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2418 "Public Structure Test1{0}" +
2420 " Public Sub New(<A(), B()> ByVal value As Object, <C(A1:=false, A2:=true), D()> ByRef index As Integer){0}" +
2425 "End Structure{0}", Writer.NewLine), code);
2429 public override void BaseConstructorSingleArg ()
2431 string code = GenerateBaseConstructor (false);
2432 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2433 "Public Structure Test1{0}" +
2435 " Public Sub New(ByVal value1 As Object, ByRef value2 As Integer){0}" +
2436 " MyBase.New(value1){0}" +
2438 "End Structure{0}", Writer.NewLine), code);
2442 public override void BaseConstructorMultipleArgs ()
2444 string code = GenerateBaseConstructor (true);
2445 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2446 "Public Structure Test1{0}" +
2448 " Public Sub New(ByVal value1 As Object, ByRef value2 As Integer){0}" +
2449 " MyBase.New(value1, value2){0}" +
2451 "End Structure{0}", Writer.NewLine), code);
2455 public override void ChainedConstructorSingleArg ()
2457 string code = GenerateChainedConstructor (false);
2458 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2459 "Public Structure Test1{0}" +
2461 " Public Sub New(ByVal value1 As Object, ByRef value2 As Integer){0}" +
2462 " Me.New(value1){0}" +
2464 "End Structure{0}", Writer.NewLine), code);
2468 public override void ChainedConstructorMultipleArgs ()
2470 string code = GenerateChainedConstructor (true);
2471 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2472 "Public Structure Test1{0}" +
2474 " Public Sub New(ByVal value1 As Object, ByRef value2 As Integer){0}" +
2475 " Me.New(value1, value2){0}" +
2477 "End Structure{0}", Writer.NewLine), code);
2482 [Category ("NotWorking")]
2483 public class CodeGeneratorFromTypeTest_Enum : CodeGeneratorFromTypeTestBase
2485 private CodeTypeDeclaration _typeDeclaration;
2486 private ICodeGenerator _codeGenerator;
2488 protected override ICodeGenerator CodeGenerator
2490 get { return _codeGenerator; }
2493 protected override CodeTypeDeclaration TypeDeclaration
2495 get { return _typeDeclaration; }
2499 public override void SetUp ()
2502 _typeDeclaration = new CodeTypeDeclaration ();
2503 _typeDeclaration.IsEnum = true;
2505 CodeDomProvider provider = new VBCodeProvider ();
2506 _codeGenerator = provider.CreateGenerator ();
2510 public override void DefaultTypeTest ()
2512 string code = GenerateDefaultType ();
2513 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2515 "End Enum{0}", Writer.NewLine), code);
2519 [ExpectedException (typeof (NullReferenceException))]
2520 public override void NullTypeTest ()
2522 GenerateNullType ();
2526 public override void SimpleTypeTest ()
2528 string code = GenerateSimpleType ();
2529 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2530 "Public Enum Test1{0}" +
2531 "End Enum{0}", Writer.NewLine), code);
2535 public override void AttributesAndTypeTest ()
2537 string code = GenerateAttributesAndType ();
2538 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2541 "Public Enum Test1{0}" +
2542 "End Enum{0}", Writer.NewLine), code);
2546 public override void EventMembersTypeTest1 ()
2548 string code = GenerateEventMembersType1 ();
2549 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2550 "Public Enum Test1{0}" +
2552 "End Enum{0}", Writer.NewLine), code);
2556 public override void EventMembersTypeTest2 ()
2558 string code = GenerateEventMembersType2 ();
2559 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2560 "Public Enum Test1{0}" +
2562 "End Enum{0}", Writer.NewLine), code);
2566 public override void EventImplementationTypes ()
2568 string code = GenerateEventImplementationTypes ();
2569 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2570 "Public Enum Test1{0}" +
2572 "End Enum{0}", Writer.NewLine), code);
2576 public override void EventPrivateImplementationType ()
2578 string code = GenerateEventPrivateImplementationType ();
2579 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2580 "Public Enum Test1{0}" +
2582 "End Enum{0}", Writer.NewLine), code);
2586 public override void EventImplementationTypeOrder ()
2588 string code = GenerateEventImplementationTypeOrder ();
2589 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2590 "Public Enum Test1{0}" +
2592 "End Enum{0}", Writer.NewLine), code);
2596 public override void FieldMembersTypeTest1 ()
2598 string code = GenerateFieldMembersType1 ();
2599 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2600 "Public Enum Test1{0}" +
2605 "End Enum{0}", Writer.NewLine), code);
2609 public override void FieldMembersTypeTest2 ()
2611 string code = GenerateFieldMembersType2 ();
2612 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2613 "Public Enum Test1{0}" +
2616 "End Enum{0}", Writer.NewLine), code);
2620 public override void PropertyMembersTypeTest1 ()
2622 string code = GeneratePropertyMembersAttributes ();
2623 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2624 "Public Enum Test1{0}" +
2626 "End Enum{0}", Writer.NewLine), code);
2630 public override void PropertyMembersTypeTest2 ()
2632 string code = GeneratePropertyMembersType (MemberAttributes.Public,
2634 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2635 "Public Enum Test1{0}" +
2637 "End Enum{0}", Writer.NewLine), code);
2641 public override void PropertyMembersTypeGetOnly ()
2643 string code = GeneratePropertyMembersType (MemberAttributes.Family,
2645 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2646 "Public Enum Test1{0}" +
2648 "End Enum{0}", Writer.NewLine), code);
2652 public override void PropertyMembersTypeSetOnly ()
2654 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
2656 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2657 "Public Enum Test1{0}" +
2659 "End Enum{0}", Writer.NewLine), code);
2663 public override void PropertyMembersTypeGetSet ()
2665 string code = GeneratePropertyMembersType (MemberAttributes.Family,
2667 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2668 "Public Enum Test1{0}" +
2670 "End Enum{0}", Writer.NewLine), code);
2674 public override void PropertyMembersTypeFamilyOrAssembly ()
2676 string code = GeneratePropertyMembersType (MemberAttributes.FamilyOrAssembly,
2678 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2679 "Public Enum Test1{0}" +
2681 "End Enum{0}", Writer.NewLine), code);
2685 public override void PropertyMembersTypeAssembly ()
2687 string code = GeneratePropertyMembersType (MemberAttributes.Assembly,
2689 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2690 "Public Enum Test1{0}" +
2692 "End Enum{0}", Writer.NewLine), code);
2696 public override void PropertyParametersTest ()
2698 string code = GeneratePropertyParameters ();
2699 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2700 "Public Enum Test1{0}" +
2702 "End Enum{0}", Writer.NewLine), code);
2706 public override void PropertyIndexerTest1 ()
2708 string code = GeneratePropertyIndexer (MemberAttributes.Public,
2709 false, false, true);
2710 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2711 "Public Enum Test1{0}" +
2713 "End Enum{0}", Writer.NewLine), code);
2717 public override void PropertyIndexerTest2 ()
2719 string code = GeneratePropertyIndexer (MemberAttributes.Public,
2720 false, false, false);
2721 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2722 "Public Enum Test1{0}" +
2724 "End Enum{0}", Writer.NewLine), code);
2728 public override void PropertyIndexerGetOnly ()
2730 string code = GeneratePropertyIndexer (MemberAttributes.Family,
2732 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2733 "Public Enum Test1{0}" +
2735 "End Enum{0}", Writer.NewLine), code);
2739 public override void PropertyIndexerSetOnly ()
2741 string code = GeneratePropertyIndexer (MemberAttributes.Family,
2743 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2744 "Public Enum Test1{0}" +
2746 "End Enum{0}", Writer.NewLine), code);
2750 public override void PropertyImplementationTypes ()
2752 string code = GeneratePropertyImplementationTypes ();
2753 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2754 "Public Enum Test1{0}" +
2756 "End Enum{0}", Writer.NewLine), code);
2760 public override void PropertyOverloadsTest1 ()
2762 string code = GeneratePropertyOverloads1 ();
2763 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2764 "Public Enum Test1{0}" +
2766 "End Enum{0}", Writer.NewLine), code);
2770 public override void PropertyOverloadsTest2 ()
2772 string code = GeneratePropertyOverloads2 ();
2773 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2774 "Public Enum Test1{0}" +
2777 "End Enum{0}", Writer.NewLine), code);
2781 public override void PropertyOverloadsTest3 ()
2783 string code = GeneratePropertyOverloads3 ();
2784 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2785 "Public Enum Test1{0}" +
2788 "End Enum{0}", Writer.NewLine), code);
2792 public override void PropertyPrivateImplementationType ()
2794 string code = GeneratePropertyPrivateImplementationType ();
2795 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2796 "Public Enum Test1{0}" +
2798 "End Enum{0}", Writer.NewLine), code);
2802 public override void PropertyImplementationTypeOrder ()
2804 string code = GeneratePropertyImplementationTypeOrder ();
2805 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2806 "Public Enum Test1{0}" +
2808 "End Enum{0}", Writer.NewLine), code);
2812 public override void MethodMembersTypeTest1 ()
2814 string code = GenerateMethodMembersType1 ();
2815 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2816 "Public Enum Test1{0}" +
2818 "End Enum{0}", Writer.NewLine), code);
2822 public override void MethodMembersTypeTest2 ()
2824 string code = GenerateMethodMembersType2 ();
2825 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2826 "Public Enum Test1{0}" +
2828 "End Enum{0}", Writer.NewLine), code);
2832 public override void MethodMembersTypeTest3 ()
2834 string code = GenerateMethodMembersType3 ();
2835 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2836 "Public Enum Test1{0}" +
2838 "End Enum{0}", Writer.NewLine), code);
2842 public override void MethodImplementationTypes ()
2844 string code = GenerateMethodImplementationTypes ();
2845 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2846 "Public Enum Test1{0}" +
2848 "End Enum{0}", Writer.NewLine), code);
2852 public override void MethodOverloadsTest1 ()
2854 string code = GenerateMethodOverloads1 ();
2855 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2856 "Public Enum Test1{0}" +
2858 "End Enum{0}", Writer.NewLine), code);
2862 public override void MethodOverloadsTest2 ()
2864 string code = GenerateMethodOverloads2 ();
2865 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2866 "Public Enum Test1{0}" +
2869 "End Enum{0}", Writer.NewLine), code);
2873 public override void MethodOverloadsTest3 ()
2875 string code = GenerateMethodOverloads3 ();
2876 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2877 "Public Enum Test1{0}" +
2880 "End Enum{0}", Writer.NewLine), code);
2884 public override void MethodPrivateImplementationType ()
2886 string code = GenerateMethodPrivateImplementationType ();
2887 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2888 "Public Enum Test1{0}" +
2890 "End Enum{0}", Writer.NewLine), code);
2894 public override void MethodImplementationTypeOrder ()
2896 string code = GenerateMethodImplementationTypeOrder ();
2897 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2898 "Public Enum Test1{0}" +
2900 "End Enum{0}", Writer.NewLine), code);
2904 public override void MethodReturnTypeAttributes ()
2906 string code = GenerateMethodReturnTypeAttributes ();
2907 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2908 "Public Enum Test1{0}" +
2910 "End Enum{0}", Writer.NewLine), code);
2914 public override void ConstructorAttributesTest ()
2916 string code = GenerateConstructorAttributes ();
2917 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2918 "Public Enum Test1{0}" +
2920 "End Enum{0}", Writer.NewLine), code);
2924 public override void ConstructorParametersTest ()
2926 string code = GenerateConstructorParameters ();
2927 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2928 "Public Enum Test1{0}" +
2930 "End Enum{0}", Writer.NewLine), code);
2934 public override void ConstructorParameterAttributesTest ()
2936 string code = GenerateConstructorParameterAttributes ();
2937 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2938 "Public Enum Test1{0}" +
2940 "End Enum{0}", Writer.NewLine), code);
2944 public override void BaseConstructorSingleArg ()
2946 string code = GenerateBaseConstructor (false);
2947 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2948 "Public Enum Test1{0}" +
2950 "End Enum{0}", Writer.NewLine), code);
2954 public override void BaseConstructorMultipleArgs ()
2956 string code = GenerateBaseConstructor (true);
2957 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2958 "Public Enum Test1{0}" +
2960 "End Enum{0}", Writer.NewLine), code);
2964 public override void ChainedConstructorSingleArg ()
2966 string code = GenerateChainedConstructor (false);
2967 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2968 "Public Enum Test1{0}" +
2970 "End Enum{0}", Writer.NewLine), code);
2974 public override void ChainedConstructorMultipleArgs ()
2976 string code = GenerateChainedConstructor (true);
2977 Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
2978 "Public Enum Test1{0}" +
2980 "End Enum{0}", Writer.NewLine), code);