2009-07-11 Michael Barker <mike@middlesoft.co.uk>
[mono.git] / mcs / class / corlib / Test / System.Reflection / AssemblyDescriptionAttributeTest.cs
1 // AssemblyDescriptionAttributeTest.cs
2 //
3 // Author: Vineeth N <nvineeth@yahoo.com>
4 //
5 // (C) 2004 Ximian, Inc. http://www.ximian.com
6 //
7 using System;
8 using System.Threading;
9 using System.Reflection;
10 using System.Reflection.Emit;
11 using NUnit.Framework;
12
13 namespace MonoTests.System.Reflection {
14
15         /// <summary>
16         /// Summary description for AssemblyDescriptionAttributeTest.
17         /// </summary>
18         [TestFixture]
19         public class AssemblyDescriptionAttributeTest
20         {
21                 private AssemblyBuilder dynAssembly;
22                 AssemblyName dynAsmName = new AssemblyName ();
23                 AssemblyDescriptionAttribute attr;
24                 
25                 public AssemblyDescriptionAttributeTest ()
26                 {
27                         //create a dynamic assembly with the required attribute
28                         //and check for the validity
29
30                         dynAsmName.Name = "TestAssembly";
31
32                         dynAssembly = Thread.GetDomain ().DefineDynamicAssembly (
33                                 dynAsmName,AssemblyBuilderAccess.Run
34                                 );
35
36                         // Set the required Attribute of the assembly.
37                         Type attribute = typeof (AssemblyDescriptionAttribute);
38                         ConstructorInfo ctrInfo = attribute.GetConstructor (
39                                 new Type [] { typeof (string) }
40                                 );
41                         CustomAttributeBuilder attrBuilder =
42                                 new CustomAttributeBuilder (ctrInfo, new object [1] { "Emitted Assembly" });
43                         dynAssembly.SetCustomAttribute (attrBuilder);
44                         object [] attributes = dynAssembly.GetCustomAttributes (true);
45                         attr = attributes [0] as AssemblyDescriptionAttribute;
46                 }
47
48                 [Test]
49                 public void DescriptionTest ()
50                 {
51                         Assert.AreEqual (
52                                 attr.Description,
53                                 "Emitted Assembly", "#1");
54                 }
55
56                 [Test]
57                 public void TypeIdTest ()
58                 {
59                         Assert.AreEqual (
60                                 attr.TypeId,
61                                 typeof (AssemblyDescriptionAttribute), "#1"
62                                 );
63                 }
64
65                 [Test]
66                 public void MatchTestForTrue ()
67                 {
68                         Assert.AreEqual (
69                                 attr.Match (attr),
70                                 true, "#1");
71                 }
72
73                 [Test]
74                 public void MatchTestForFalse ()
75                 {
76                         Assert.AreEqual (
77                                 attr.Match (new AssemblyDescriptionAttribute ("Descrptn")),
78                                 false, "#1");
79                 }
80         }
81 }
82