1 // AssemblyDelaySignAttributeTest.cs
3 // Author: Vineeth N <nvineeth@yahoo.com>
5 // (C) 2004 Ximian, Inc. http://www.ximian.com
8 using System.Threading;
9 using System.Reflection;
10 using System.Reflection.Emit;
11 using NUnit.Framework;
13 namespace MonoTests.System.Reflection {
16 /// Summary description for AssemblyDelaySignAttributeTest.
19 public class AssemblyDelaySignAttributeTest:Assertion
21 private AssemblyBuilder dynAssembly;
22 AssemblyName dynAsmName = new AssemblyName ();
23 AssemblyDelaySignAttribute attr;
25 public AssemblyDelaySignAttributeTest ()
27 //create a dynamic assembly with the required attribute
28 //and check for the validity
30 dynAsmName.Name = "TestAssembly";
32 dynAssembly = Thread.GetDomain ().DefineDynamicAssembly (
33 dynAsmName,AssemblyBuilderAccess.Run
36 // Set the required Attribute of the assembly.
37 Type attribute = typeof (AssemblyDelaySignAttribute);
38 ConstructorInfo ctrInfo = attribute.GetConstructor (
39 new Type [] { typeof (bool) }
41 CustomAttributeBuilder attrBuilder =
42 new CustomAttributeBuilder (ctrInfo, new object [1] { false });
43 dynAssembly.SetCustomAttribute (attrBuilder);
44 object [] attributes = dynAssembly.GetCustomAttributes (true);
45 attr = attributes [0] as AssemblyDelaySignAttribute;
49 public void DelaySignTest ()
51 AssertEquals ("#Testing DelaySign",
57 public void TypeIdTest ()
59 AssertEquals ("#testing Typeid",
61 typeof (AssemblyDelaySignAttribute)
66 public void MatchTestForTrue ()
68 AssertEquals ("#testing Match method-- for true",
73 public void MatchTestForFalse ()
75 AssertEquals ("#testing Match method-- for false",
76 attr.Match (new AssemblyDelaySignAttribute (true)),