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