* AssemblyTest.cs: Improved tests for GetFile, GetObjectData and
authorGert Driesen <drieseng@users.sourceforge.net>
Mon, 10 Mar 2008 18:31:17 +0000 (18:31 -0000)
committerGert Driesen <drieseng@users.sourceforge.net>
Mon, 10 Mar 2008 18:31:17 +0000 (18:31 -0000)
GetCustomAttributes.
* Assembly.cs (GetFile): Fixed exception messages and param name.

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

mcs/class/corlib/System.Reflection/Assembly.cs
mcs/class/corlib/System.Reflection/ChangeLog
mcs/class/corlib/Test/System.Reflection/AssemblyTest.cs
mcs/class/corlib/Test/System.Reflection/ChangeLog

index 2f83e5c7f081148f7a50223676eb4a913e1d1626..f1a1dd76ad5110d75bded61a5ce50da1ef8b2ad7 100644 (file)
@@ -256,9 +256,9 @@ namespace System.Reflection {
                public virtual FileStream GetFile (String name)
                {
                        if (name == null)
-                               throw new ArgumentNullException ("name");
+                               throw new ArgumentNullException (null, "Name cannot be null.");
                        if (name.Length == 0)
-                               throw new ArgumentException ("name");
+                               throw new ArgumentException ("Empty name is not valid");
 
                        string filename = (string)GetFilesInternal (name, true);
                        if (filename != null)
index 6c726de8ef4dd14f46e5917495e198cc7dc45194..db8a7a24ea66f62d47e349bce6af7e3ee40effd9 100644 (file)
@@ -1,3 +1,7 @@
+2008-03-10  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Assembly.cs (GetFile): Fixed exception messages and param name.
+
 2008-03-06  Zoltan Varga  <vargaz@gmail.com>
 
        * Assembly.cs: Define GetManifestModule () for net 2.0 bootstrap as well.
index 72ba6215b307ff2cd34548dbea4ab2a1ad3a5846..58261d87545f7cb7136ae31315c9432c1081f269 100644 (file)
@@ -47,7 +47,8 @@ namespace MonoTests.System.Reflection
        [TestFixture]
        public class AssemblyTest
        {
-               static string TempFolder = Path.Combine (Path.GetTempPath (), "MonoTests.System.Reflection.AssemblyTest");
+               static string TempFolder = Path.Combine (Path.GetTempPath (),
+                       "MonoTests.System.Reflection.AssemblyTest");
 
                [SetUp]
                public void SetUp ()
@@ -169,8 +170,7 @@ namespace MonoTests.System.Reflection
                        try {
                                ass.GetModules ();
                                Assert.Fail ();
-                       }
-                       catch (FileNotFoundException ex) {
+                       } catch (FileNotFoundException ex) {
                                Assert.AreEqual ("myDynamicModule.dll", ex.FileName);
                        }
                }
@@ -236,18 +236,33 @@ namespace MonoTests.System.Reflection
 
                [Test]
                [Category("TargetJvmNotWorking")] // Not yet supported for TARGET_JVM
-               [ExpectedException (typeof (ArgumentNullException))]
                public void GetFile_Null ()
                {
-                       Assembly.GetExecutingAssembly ().GetFile (null);
+                       try {
+                               Assembly.GetExecutingAssembly ().GetFile (null);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentNullException ex) {
+                               Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNull (ex.ParamName, "#5");
+                       }
                }
 
                [Test]
                [Category("TargetJvmNotWorking")] // Not yet supported for TARGET_JVM
-               [ExpectedException (typeof (ArgumentException))]
                public void GetFile_Empty ()
                {
-                       Assembly.GetExecutingAssembly ().GetFile (String.Empty);
+                       try {
+                               Assembly.GetExecutingAssembly ().GetFile (
+                                       String.Empty);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentException ex) {
+                               Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNull (ex.ParamName, "#5");
+                       }
                }
 
                [Test]
@@ -415,11 +430,20 @@ namespace MonoTests.System.Reflection
 
 #if !TARGET_JVM // GetObjectData currently not implemented for Assembly.
                [Test]
-               [ExpectedException (typeof (ArgumentNullException))]
-               public void GetObjectData_Null ()
+               public void GetObjectData_Info_Null ()
                {
                        Assembly corlib = typeof (int).Assembly;
-                       corlib.GetObjectData (null, new StreamingContext (StreamingContextStates.All));
+                       try {
+                               corlib.GetObjectData (null, new StreamingContext (
+                                       StreamingContextStates.All));
+                               Assert.Fail ("#1");
+                       } catch (ArgumentNullException ex) {
+                               Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNotNull (ex.ParamName, "#5");
+                               Assert.AreEqual ("info", ex.ParamName, "#6");
+                       }
                }
 #endif // TARGET_JVM
 
@@ -798,7 +822,7 @@ namespace MonoTests.System.Reflection
                                if (Directory.Exists (tempDir))
                                        Directory.Delete (tempDir, true);
                        }
-           }
+               }
 
 
                [Test] // bug #79715
@@ -1116,14 +1140,19 @@ namespace MonoTests.System.Reflection
                }
                
                [Test]
-               public void CustomAttributesNull ()
+               public void GetCustomAttributes_AttributeType_Null ()
                {
                        Assembly a = typeof (int).Assembly;
                        try {
                                a.GetCustomAttributes (null, false);
-                               Assert.Fail ();
-                       } catch (ArgumentNullException)
-                       {}
+                               Assert.Fail ("#1");
+                       } catch (ArgumentNullException ex) {
+                               Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNotNull (ex.ParamName, "#5");
+                               Assert.AreEqual ("attributeType", ex.ParamName, "#6");
+                       }
                }
        }
 }
index 4ffd2ff9266826eb6e885761609718b37150d79f..430ed03ff829ad9b217c47d13614a0c13d3a7a8f 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-10  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * AssemblyTest.cs: Improved tests for GetFile, GetObjectData and
+       GetCustomAttributes.
+
 2008-02-20  Raja R Harinath  <harinath@hurrynot.org>
 
        * MethodInfoTest.cs (GetGenericMethodDefinition): Add a test for