**** Merged r40732-r40872 from MCS ****
[mono.git] / mcs / class / corlib / Test / System.Reflection.Emit / ILGeneratorTest.cs
1 //
2 // ILGeneratorTest.cs - NUnit Test Cases for the ILGenerator class
3 //
4 // Marek Safar (marek.safar@seznam.cz)
5 //
6 // (C) Novell, Inc.  http://www.novell.com
7
8 using System;
9 using System.Reflection;
10 using System.Reflection.Emit;
11 using System.Threading;
12
13 using NUnit.Framework;
14
15 namespace MonoTests.System.Reflection.Emit {
16
17         [TestFixture]
18         public class ILGeneratorTest {
19
20                 ILGenerator il_gen;
21
22                 [SetUp]
23                 public void SetUp ()
24                 {
25                         AssemblyName assemblyName = new AssemblyName ();
26                         assemblyName.Name = "MonoTests.System.Reflection.Emit.ILGeneratorTest";
27
28                         AssemblyBuilder assembly = Thread.GetDomain ().DefineDynamicAssembly (
29                                 assemblyName, AssemblyBuilderAccess.Run);
30
31                         ModuleBuilder module = assembly.DefineDynamicModule ("module1");
32                         TypeBuilder _tb = module.DefineType ("GetType", TypeAttributes.Public);
33
34                         MethodBuilder myMethod = _tb.DefineMethod("Function1",
35                                 MethodAttributes.Public, typeof(String), null);
36
37                         il_gen = myMethod.GetILGenerator();
38                 }
39
40                 [Test]
41                 [ExpectedException (typeof (ArgumentNullException))]
42                 public void DeclareLocal_NULL ()
43                 {
44                         il_gen.DeclareLocal (null);
45                 }
46         }
47 }