Author: gert
Date: 2007-05-27 11:07:26 -0400 (Sun, 27 May 2007)
New Revision: 78010
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNodeCollection.cs
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TreeNodeCollectionTest.cs
Log:
* TreeNodeCollection.cs: Minor corrections to exceptions to match MS.
* TreeNodeCollectionTest.cs: Added tests for Add and AddRange. Fixed and
improved IList indexer.
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2007-05-27 13:23:17 UTC (rev 78009)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2007-05-27 15:07:26 UTC (rev 78010)
@@ -1,3 +1,8 @@
+2007-05-27 Gert Driesen <[EMAIL PROTECTED]>
+
+ * TreeNodeCollection.cs: Minor corrections to exceptions to match
+ MS.
+
2007-05-25 Jackson Harper <[EMAIL PROTECTED]>
* X11Dnd.cs: Rework to make StartDrag a blocking call that runs
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNodeCollection.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNodeCollection.cs
2007-05-27 13:23:17 UTC (rev 78009)
+++
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNodeCollection.cs
2007-05-27 15:07:26 UTC (rev 78010)
@@ -78,7 +78,7 @@
}
set {
if (!(value is TreeNode))
- throw new ArgumentException ("value");
+ throw new ArgumentException ("Parameter
must be of type TreeNode.", "value");
this [index] = (TreeNode) value;
}
}
@@ -172,7 +172,7 @@
public virtual void AddRange (TreeNode [] nodes)
{
if (nodes == null)
- throw new ArgumentNullException("node");
+ throw new ArgumentNullException("nodes");
// We can't just use Array.Copy because the nodes also
// need to have some properties set when they are added.
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
2007-05-27 13:23:17 UTC (rev 78009)
+++ trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
2007-05-27 15:07:26 UTC (rev 78010)
@@ -1,3 +1,8 @@
+2007-05-27 Gert Driesen <[EMAIL PROTECTED]>
+
+ * TreeNodeCollectionTest.cs: Added tests for Add and AddRange. Fixed
+ and improved test for IList indexer.
+
2007-05-25 Gert Driesen <[EMAIL PROTECTED]>
* TextBoxTest.cs: Improve tests for Copy, Cut and Paste to also cover
Modified:
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TreeNodeCollectionTest.cs
===================================================================
---
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TreeNodeCollectionTest.cs
2007-05-27 13:23:17 UTC (rev 78009)
+++
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TreeNodeCollectionTest.cs
2007-05-27 15:07:26 UTC (rev 78010)
@@ -111,6 +111,73 @@
}
[Test]
+ public void Add_Child_Null ()
+ {
+ TreeView tv = new TreeView ();
+ try {
+ tv.Nodes.Add ((TreeNode) 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.IsNotNull (ex.ParamName, "#5");
+ Assert.AreEqual ("node", ex.ParamName, "#6");
+ }
+ }
+
+ [Test]
+ public void AddRange ()
+ {
+ TreeView tv = new TreeView ();
+ TreeNode nodeA = new TreeNode ("A");
+ TreeNode nodeB = new TreeNode ("B");
+ TreeNode nodeC = new TreeNode ("C");
+ TreeNode nodeD = new TreeNode ("D");
+ tv.Nodes.AddRange (new TreeNode [] { nodeA, nodeB });
+ Assert.AreEqual (2, tv.Nodes.Count, "#A1");
+ Assert.AreSame (nodeA, tv.Nodes [0], "#A2");
+ Assert.AreSame (nodeB, tv.Nodes [1], "#A3");
+ tv.Nodes.AddRange (new TreeNode [] { nodeC });
+ Assert.AreEqual (3, tv.Nodes.Count, "#B1");
+ Assert.AreSame (nodeC, tv.Nodes [2], "#B2");
+ }
+
+ [Test]
+ public void AddRange_Node_Null ()
+ {
+ TreeView tv = new TreeView ();
+ TreeNode nodeA = new TreeNode ("A");
+ TreeNode nodeB = new TreeNode ("B");
+ try {
+ tv.Nodes.AddRange (new TreeNode [] { nodeA,
null, nodeB });
+ 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 ("node", ex.ParamName, "#6");
+ }
+ }
+
+ [Test]
+ public void AddRange_Nodes_Null ()
+ {
+ TreeView tv = new TreeView ();
+ try {
+ tv.Nodes.AddRange ((TreeNode []) 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.IsNotNull (ex.ParamName, "#5");
+ Assert.AreEqual ("nodes", ex.ParamName, "#6");
+ }
+ }
+
+ [Test]
public void Remove ()
{
TreeView tv = new TreeView ();
@@ -289,10 +356,25 @@
list [0] = "whatever";
Assert.Fail ("#D1");
} catch (ArgumentException ex) {
+ // Parameter must be of type TreeNode
Assert.AreEqual (typeof (ArgumentException),
ex.GetType (), "#D2");
Assert.IsNull (ex.InnerException, "#D3");
- Assert.IsNull (ex.ParamName, "#D4");
+#if NET_2_0
+ Assert.AreEqual ("value", ex.ParamName, "#D4");
+#endif
}
+
+ try {
+ list [0] = null;
+ Assert.Fail ("#E1");
+ } catch (ArgumentException ex) {
+ // Parameter must be of type TreeNode
+ Assert.AreEqual (typeof (ArgumentException),
ex.GetType (), "#E2");
+ Assert.IsNull (ex.InnerException, "#E3");
+#if NET_2_0
+ Assert.AreEqual ("value", ex.ParamName, "#E4");
+#endif
+ }
}
#if NET_2_0
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches