* AssemblyAlgorithmIdAttributeTest.cs:
authorJackson Harper <jackson@novell.com>
Wed, 10 Mar 2004 00:03:00 +0000 (00:03 -0000)
committerJackson Harper <jackson@novell.com>
Wed, 10 Mar 2004 00:03:00 +0000 (00:03 -0000)
* AssemblyConfigurationAttributeTest.cs:
* AssemblyCopyrightAttributeTest.cs:
* AssemblyCultureAttributeTest.cs:
* AssemblyDelaySignAttributeTest.cs:
* AssemblyDescriptionAttributeTest.cs:
* AssemblyFileVersionAttributeTest.cs:
* AssemblyInformationalVersionAttributeTest.cs: New test cases
from nvineeth_mono@yahoo.com.

svn path=/trunk/mcs/; revision=23857

mcs/class/corlib/Test/System.Reflection/AssemblyAlgorithmIdAttributeTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Reflection/AssemblyConfigurationAttributeTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Reflection/AssemblyCopyrightAttributeTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Reflection/AssemblyCultureAttributeTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Reflection/AssemblyDelaySignAttributeTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Reflection/AssemblyDescriptionAttributeTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Reflection/AssemblyFileVersionAttributeTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Reflection/AssemblyInformationalVersionAttributeTest.cs [new file with mode: 0644]
mcs/class/corlib/Test/System.Reflection/ChangeLog

diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyAlgorithmIdAttributeTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyAlgorithmIdAttributeTest.cs
new file mode 100644 (file)
index 0000000..c7e91af
--- /dev/null
@@ -0,0 +1,87 @@
+// AssemblyAlgorithmIdAttributeTest.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 System.Configuration.Assemblies;\r
+using NUnit.Framework;\r
+\r
+namespace MonoTests.System.Reflection {\r
+\r
+       /// <summary>\r
+       /// Test Fixture for AssemblyAlgorithmIdAttribute class\r
+       /// </summary>\r
+       [TestFixture]\r
+       public class AssemblyAlgorithmIdAttributeTest : Assertion\r
+       {\r
+               private AssemblyBuilder dynAssembly;\r
+               AssemblyName dynAsmName = new AssemblyName ();\r
+               AssemblyAlgorithmIdAttribute attr;\r
+\r
+               public AssemblyAlgorithmIdAttributeTest ()\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 (AssemblyAlgorithmIdAttribute);\r
+                       ConstructorInfo ctrInfo = attribute.GetConstructor (\r
+                               new Type [] { typeof (AssemblyHashAlgorithm) }\r
+                               );\r
+                       CustomAttributeBuilder attrBuilder =\r
+                               new CustomAttributeBuilder (\r
+                               ctrInfo,\r
+                               new object [1] { AssemblyHashAlgorithm.MD5 }\r
+                               );\r
+                       dynAssembly.SetCustomAttribute (attrBuilder);\r
+                       object [] attributes = dynAssembly.GetCustomAttributes (true);\r
+                       attr = attributes [0] as AssemblyAlgorithmIdAttribute;\r
+               }\r
+               \r
+               [Test]\r
+               [CLSCompliant (false)] // because we are using uint\r
+               public void AlgorithmIdTest()\r
+               {\r
+                       AssertEquals ("#Testing AlgorithmId",\r
+                               attr.AlgorithmId,\r
+                               (uint) AssemblyHashAlgorithm.MD5);\r
+               }\r
+\r
+               [Test]\r
+               public void TypeIdTest ()\r
+               {\r
+                       AssertEquals ("#testing Typeid",\r
+                               attr.TypeId,\r
+                               typeof (AssemblyAlgorithmIdAttribute)\r
+                               );\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
+               [Test]\r
+               public void MatchTestForFalse ()\r
+               {                       \r
+                       AssertEquals ("#testing Match method-- for false",\r
+                               attr.Match (new AssemblyAlgorithmIdAttribute (AssemblyHashAlgorithm.SHA1)),\r
+                               false);\r
+               }\r
+       }\r
+}\r
+\r
diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyConfigurationAttributeTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyConfigurationAttributeTest.cs
new file mode 100644 (file)
index 0000000..cd8e320
--- /dev/null
@@ -0,0 +1,83 @@
+// AssemblyConfigurationAttributeTest.cs\r
+//\r
+// Author: Vineeth N <nvineeth@yahoo.com>\r
+//\r
+// (C) 2004 Ximian, Inc. http://www.ximian.com\r
+//\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
+       /// Test Fixture for AssemblyConfigurationAttribute class\r
+       /// </summary>\r
+       [TestFixture]\r
+       public class AssemblyConfigurationAttributeTest : Assertion\r
+       {\r
+               private AssemblyBuilder dynAssembly;\r
+               AssemblyName dynAsmName = new AssemblyName ();\r
+               AssemblyConfigurationAttribute attr;\r
+\r
+               public AssemblyConfigurationAttributeTest ()\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 (AssemblyConfigurationAttribute);\r
+                       ConstructorInfo ctrInfo = attribute.GetConstructor (\r
+                               new Type [] { typeof (string) }\r
+                               );\r
+                       CustomAttributeBuilder attrBuilder =\r
+                               new CustomAttributeBuilder (ctrInfo, new object [1] { "Config" } );\r
+                       dynAssembly.SetCustomAttribute (attrBuilder);\r
+                       object [] attributes = dynAssembly.GetCustomAttributes (true);\r
+                       attr = attributes [0] as AssemblyConfigurationAttribute;\r
+               }\r
+               \r
+               [Test]\r
+               public void ConfigurationTest ()\r
+               {\r
+                       AssertEquals ("#Testing Configuration",\r
+                               attr.Configuration,\r
+                               "Config");\r
+               }\r
+\r
+               [Test]\r
+               public void TypeIdTest ()\r
+               {\r
+                       AssertEquals ("#testing Typeid",\r
+                               attr.TypeId,\r
+                               typeof (AssemblyConfigurationAttribute)\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 AssemblyConfigurationAttribute ("abcd")),\r
+                               false);\r
+               }\r
+       }\r
+}\r
+\r
diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyCopyrightAttributeTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyCopyrightAttributeTest.cs
new file mode 100644 (file)
index 0000000..851b78d
--- /dev/null
@@ -0,0 +1,83 @@
+// AssemblyCopyrightAttributeTest.cs\r
+//\r
+// Author: Vineeth N <nvineeth@yahoo.com>\r
+//\r
+// (C) 2004 Ximian, Inc. http://www.ximian.com\r
+//\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
+       /// Test Fixture for AssemblyCopyrightAttribute\r
+       /// </summary>\r
+       [TestFixture]\r
+       public class AssemblyCopyrightAttributeTest : Assertion\r
+       {\r
+               private AssemblyBuilder dynAssembly;\r
+               AssemblyName dynAsmName = new AssemblyName ();\r
+               AssemblyCopyrightAttribute attr;\r
+\r
+               public AssemblyCopyrightAttributeTest ()\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 (AssemblyCopyrightAttribute);\r
+                       ConstructorInfo ctrInfo = attribute.GetConstructor (\r
+                               new Type []{ typeof (string) }\r
+                               );\r
+                       CustomAttributeBuilder attrBuilder =\r
+                               new CustomAttributeBuilder (ctrInfo, new object [1] {"Ximian"} );\r
+                       dynAssembly.SetCustomAttribute(attrBuilder);\r
+                       object [] attributes = dynAssembly.GetCustomAttributes (true);\r
+                       attr = attributes [0] as AssemblyCopyrightAttribute;\r
+               }\r
+               \r
+               [Test]\r
+               public void CopyrightTest ()\r
+               {\r
+                       AssertEquals ("#Testing Copyright",\r
+                               attr.Copyright,\r
+                               "Ximian");\r
+               }\r
+\r
+               [Test]\r
+               public void TypeIdTest ()\r
+               {\r
+                       AssertEquals ("#testing Typeid",\r
+                               attr.TypeId,\r
+                               typeof (AssemblyCopyrightAttribute)\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 AssemblyCopyrightAttribute ("imian")),\r
+                               false);\r
+               }\r
+       }\r
+}\r
+\r
diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyCultureAttributeTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyCultureAttributeTest.cs
new file mode 100644 (file)
index 0000000..c6e00f7
--- /dev/null
@@ -0,0 +1,83 @@
+// AssemblyCultureAttributeTest.cs\r
+//\r
+// Author: Vineeth N <nvineeth@yahoo.com>\r
+//\r
+// (C) 2004 Ximian, Inc. http://www.ximian.com\r
+//\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
+       /// Test Fixture for AssemblyCultureAttribute\r
+       /// </summary>\r
+       [TestFixture]\r
+       public class AssemblyCultureAttributeTest : Assertion\r
+       {\r
+               private AssemblyBuilder dynAssembly;\r
+               AssemblyName dynAsmName = new AssemblyName ();\r
+               AssemblyCultureAttribute attr;\r
+\r
+               public AssemblyCultureAttributeTest ()\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 (AssemblyCultureAttribute);\r
+                       ConstructorInfo ctrInfo = attribute.GetConstructor (\r
+                               new Type [] { typeof (string) }\r
+                               );\r
+                       CustomAttributeBuilder attrBuilder =\r
+                               new CustomAttributeBuilder (ctrInfo, new object [1] { "India" });\r
+                       dynAssembly.SetCustomAttribute (attrBuilder);\r
+                       object [] attributes = dynAssembly.GetCustomAttributes(true);\r
+                       attr = attributes [0] as AssemblyCultureAttribute;\r
+               }\r
+               \r
+               [Test]\r
+               public void CultureTest ()\r
+               {\r
+                       AssertEquals ("#Testing Culture",\r
+                               attr.Culture,\r
+                               "India");\r
+               }\r
+\r
+               [Test]\r
+               public void TypeIdTest ()\r
+               {\r
+                       AssertEquals ("#testing Typeid",\r
+                               attr.TypeId,\r
+                               typeof (AssemblyCultureAttribute)\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 AssemblyCultureAttribute ("Spanish")),\r
+                               false);\r
+               }\r
+       }\r
+}\r
+\r
diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyDelaySignAttributeTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyDelaySignAttributeTest.cs
new file mode 100644 (file)
index 0000000..90df553
--- /dev/null
@@ -0,0 +1,81 @@
+// AssemblyDelaySignAttributeTest.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 AssemblyDelaySignAttributeTest.\r
+       /// </summary>\r
+       [TestFixture]\r
+       public class AssemblyDelaySignAttributeTest:Assertion\r
+       {\r
+               private AssemblyBuilder dynAssembly;\r
+               AssemblyName dynAsmName = new AssemblyName ();\r
+               AssemblyDelaySignAttribute attr;\r
+               \r
+               public AssemblyDelaySignAttributeTest ()\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 (AssemblyDelaySignAttribute);\r
+                       ConstructorInfo ctrInfo = attribute.GetConstructor (\r
+                               new Type [] { typeof (bool) }\r
+                               );\r
+                       CustomAttributeBuilder attrBuilder =\r
+                               new CustomAttributeBuilder (ctrInfo, new object [1] { false });\r
+                       dynAssembly.SetCustomAttribute (attrBuilder);\r
+                       object [] attributes = dynAssembly.GetCustomAttributes (true);\r
+                       attr = attributes [0] as AssemblyDelaySignAttribute;\r
+               }\r
+               \r
+               [Test]\r
+               public void DelaySignTest ()\r
+               {\r
+                       AssertEquals ("#Testing DelaySign",\r
+                               attr.DelaySign,\r
+                               false);\r
+               }\r
+\r
+               [Test]\r
+               public void TypeIdTest ()\r
+               {\r
+                       AssertEquals ("#testing Typeid",\r
+                               attr.TypeId,\r
+                               typeof (AssemblyDelaySignAttribute)\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
+               [Test]\r
+               public void MatchTestForFalse ()\r
+               {\r
+                       AssertEquals ("#testing Match method-- for false",\r
+                               attr.Match (new AssemblyDelaySignAttribute (true)),\r
+                               false);\r
+               }\r
+       }\r
+}\r
+\r
diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyDescriptionAttributeTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyDescriptionAttributeTest.cs
new file mode 100644 (file)
index 0000000..fe0d9c6
--- /dev/null
@@ -0,0 +1,82 @@
+// AssemblyDescriptionAttributeTest.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 AssemblyDescriptionAttributeTest.\r
+       /// </summary>\r
+       [TestFixture]\r
+       public class AssemblyDescriptionAttributeTest : Assertion\r
+       {\r
+               private AssemblyBuilder dynAssembly;\r
+               AssemblyName dynAsmName = new AssemblyName ();\r
+               AssemblyDescriptionAttribute attr;\r
+               \r
+               public AssemblyDescriptionAttributeTest ()\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 (AssemblyDescriptionAttribute);\r
+                       ConstructorInfo ctrInfo = attribute.GetConstructor (\r
+                               new Type [] { typeof (string) }\r
+                               );\r
+                       CustomAttributeBuilder attrBuilder =\r
+                               new CustomAttributeBuilder (ctrInfo, new object [1] { "Emitted Assembly" });\r
+                       dynAssembly.SetCustomAttribute (attrBuilder);\r
+                       object [] attributes = dynAssembly.GetCustomAttributes (true);\r
+                       attr = attributes [0] as AssemblyDescriptionAttribute;\r
+               }\r
+\r
+               [Test]\r
+               public void DescriptionTest ()\r
+               {\r
+                       AssertEquals ("#Testing Description",\r
+                               attr.Description,\r
+                               "Emitted Assembly");\r
+               }\r
+\r
+               [Test]\r
+               public void TypeIdTest ()\r
+               {\r
+                       AssertEquals ("#testing Typeid",\r
+                               attr.TypeId,\r
+                               typeof (AssemblyDescriptionAttribute)\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 AssemblyDescriptionAttribute ("Descrptn")),\r
+                               false);\r
+               }\r
+       }\r
+}\r
+\r
diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyFileVersionAttributeTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyFileVersionAttributeTest.cs
new file mode 100644 (file)
index 0000000..7e66d1c
--- /dev/null
@@ -0,0 +1,90 @@
+// 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
diff --git a/mcs/class/corlib/Test/System.Reflection/AssemblyInformationalVersionAttributeTest.cs b/mcs/class/corlib/Test/System.Reflection/AssemblyInformationalVersionAttributeTest.cs
new file mode 100644 (file)
index 0000000..1966197
--- /dev/null
@@ -0,0 +1,83 @@
+// AssemblyInformationalVersionAttributeTest.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
+       /// Test Fixture for AssemblyInformationalVersionAttribute.\r
+       /// </summary>\r
+       [TestFixture]\r
+       public class AssemblyInformationalVersionAttributeTest : Assertion {\r
+\r
+               private AssemblyBuilder dynAssembly;\r
+               AssemblyName dynAsmName = new AssemblyName ();\r
+               AssemblyInformationalVersionAttribute attr;\r
+               \r
+               public AssemblyInformationalVersionAttributeTest ()\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 (AssemblyInformationalVersionAttribute);\r
+                       ConstructorInfo ctrInfo = attribute.GetConstructor (\r
+                               new Type [] { typeof (string) }\r
+                               );\r
+                       CustomAttributeBuilder attrBuilder =\r
+                               new CustomAttributeBuilder (ctrInfo, new object [1] { "2.0.0.0" });\r
+                       dynAssembly.SetCustomAttribute (attrBuilder);\r
+                       object [] attributes = dynAssembly.GetCustomAttributes (true);\r
+                       attr = attributes [0] as AssemblyInformationalVersionAttribute;\r
+               }\r
+\r
+               [Test]\r
+               public void InformationalVersionTest ()\r
+               {\r
+                       AssertEquals ("#Testing InformationalVersion",\r
+                               attr.InformationalVersion,\r
+                               "2.0.0.0");\r
+               }\r
+\r
+               [Test]\r
+               public void TypeIdTest ()\r
+               {\r
+                       AssertEquals ("#testing Typeid",\r
+                               attr.TypeId,\r
+                               typeof (AssemblyInformationalVersionAttribute)\r
+                               );\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
+               [Test]\r
+               public void MatchTestForFalse ()\r
+               {\r
+                       \r
+                       AssertEquals ("#testing Match method-- for false",\r
+                               attr.Match (new AssemblyInformationalVersionAttribute ("Descrptn")),\r
+                               false);\r
+               }\r
+       }\r
+}\r
+\r
index d82f5dad5b4fb7f017fc2fd6209efc38fa8562d3..6bee1a9745debe06c31c870644459dd39344ba12 100644 (file)
@@ -1,3 +1,15 @@
+2003-03-09  Jackson Harper  <jackson@ximian.com>
+
+       * AssemblyAlgorithmIdAttributeTest.cs:
+       * AssemblyConfigurationAttributeTest.cs:
+       * AssemblyCopyrightAttributeTest.cs:
+       * AssemblyCultureAttributeTest.cs:
+       * AssemblyDelaySignAttributeTest.cs:
+       * AssemblyDescriptionAttributeTest.cs:
+       * AssemblyFileVersionAttributeTest.cs:
+       * AssemblyInformationalVersionAttributeTest.cs: New test cases
+       from nvineeth_mono@yahoo.com.
+
 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
 
        * ModuleTest.cs: Make the assembly name unique to fix the GlobalData