--- /dev/null
+// 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
--- /dev/null
+// 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
--- /dev/null
+// 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
--- /dev/null
+// 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
--- /dev/null
+// 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
--- /dev/null
+// 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
--- /dev/null
+// 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
--- /dev/null
+// 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
+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