+// AssemblyFileVersionAttributeTest.cs\r
+//\r
+// Author: Vineeth N <nvineeth@yahoo.com>\r
+//\r
+// (C) 2004 Ximian, Inc. http://www.ximian.com\r
+//\r
+using System;\r
+using System.Threading;\r
+using System.Reflection;\r
+using System.Reflection.Emit;\r
+using NUnit.Framework;\r
+\r
+namespace MonoTests.System.Reflection {\r
+\r
+ /// <summary>\r
+ /// Summary description for AssemblyFileVersionAttributeTest.\r
+ /// </summary>\r
+ [TestFixture]\r
+ public class AssemblyFileVersionAttributeTest : Assertion {\r
+\r
+ private AssemblyBuilder dynAssembly;\r
+ AssemblyName dynAsmName = new AssemblyName ();\r
+ AssemblyFileVersionAttribute attr;\r
+ \r
+ public AssemblyFileVersionAttributeTest ()\r
+ {\r
+ //create a dynamic assembly with the required attribute\r
+ //and check for the validity\r
+\r
+ dynAsmName.Name = "TestAssembly";\r
+\r
+ dynAssembly = Thread.GetDomain ().DefineDynamicAssembly (\r
+ dynAsmName,AssemblyBuilderAccess.Run\r
+ );\r
+\r
+ // Set the required Attribute of the assembly.\r
+ Type attribute = typeof (AssemblyFileVersionAttribute);\r
+ ConstructorInfo ctrInfo = attribute.GetConstructor (\r
+ new Type [] { typeof(string) }\r
+ );\r
+ CustomAttributeBuilder attrBuilder =\r
+ new CustomAttributeBuilder(ctrInfo, new object [1] { "1.0.0.0" });\r
+ dynAssembly.SetCustomAttribute (attrBuilder);\r
+ object [] attributes = dynAssembly.GetCustomAttributes (true);\r
+ attr = attributes [0] as AssemblyFileVersionAttribute;\r
+ }\r
+\r
+ [Test]\r
+ [ExpectedException (typeof (ArgumentNullException))]\r
+ public void ArgumentNullExceptionTest()\r
+ {\r
+ string version = null;\r
+ new AssemblyFileVersionAttribute (version);\r
+ }\r
+ \r
+ [Test]\r
+ public void FileVersionTest ()\r
+ {\r
+ AssertEquals ("#Testing FileVersion",\r
+ attr.Version,\r
+ "1.0.0.0");\r
+ }\r
+\r
+ [Test]\r
+ public void TypeIdTest ()\r
+ {\r
+ AssertEquals ("#testing Typeid",\r
+ attr.TypeId,\r
+ typeof (AssemblyFileVersionAttribute)\r
+ );\r
+ }\r
+\r
+ [Test]\r
+ public void MatchTestForTrue ()\r
+ {\r
+ AssertEquals ("#testing Match method-- for true",\r
+ attr.Match (attr),\r
+ true);\r
+ }\r
+\r
+ [Test]\r
+ public void MatchTestForFalse ()\r
+ {\r
+ AssertEquals ("#testing Match method-- for false",\r
+ attr.Match (new AssemblyFileVersionAttribute ("Descrptn")),\r
+ false);\r
+ }\r
+ }\r
+}\r
+\r