2007-05-01 Frederik Carlier <frederik.carlier@carlier-online.be>
authorJonathan Pobst <monkey@jpobst.com>
Tue, 1 May 2007 20:20:25 +0000 (20:20 -0000)
committerJonathan Pobst <monkey@jpobst.com>
Tue, 1 May 2007 20:20:25 +0000 (20:20 -0000)
* TreeNodeCollection.cs: Fix ContainsKey and IndexOfKey methods to use
count instead of Nodes.Length.  [Fixes bug #81448]

2007-05-01  Frederik Carlier <frederik.carlier@carlier-online.be>

* TreeNodeCollectionTest.cs: Add Unit tests for ContainsKey and
      IndexOfKey methods.

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

mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms/TreeNodeCollection.cs
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/TreeNodeCollectionTest.cs

index 46558ea19f9825f8f4d3f738d66f7003df587200..f5b68ef8378fa9b1188bade2c67b4bd9a6d3ec5d 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-01  Frederik Carlier <frederik.carlier@carlier-online.be> 
+
+       * TreeNodeCollection.cs: Fix ContainsKey and IndexOfKey methods to use
+       count instead of Nodes.Length.  [Fixes bug #81448]
+
 2007-05-01  Jonathan Pobst  <monkey@jpobst.com>
 
        * ComboBox.cs: Fix paramName sent to ArgumentOutOfRangeException's.
index 64e4b9d1763693ce311186752509a7dd92bdf5ec..f08edf1181b78660010970dee4daf6e73c3dd5b8 100644 (file)
@@ -204,7 +204,7 @@ namespace System.Windows.Forms {
 #if NET_2_0
                public bool ContainsKey (string key)
                {
-                       for (int i = 0; i < nodes.Length; i++) {
+                       for (int i = 0; i < count; i++) {
                                if (string.Compare (nodes [i].Name, key, true, CultureInfo.InvariantCulture) == 0)
                                        return true;
                        }
@@ -230,7 +230,7 @@ namespace System.Windows.Forms {
 #if NET_2_0
                public int IndexOfKey (string key)
                {
-                       for (int i = 0; i < nodes.Length; i++) {
+                       for (int i = 0; i < count; i++) {
                                if (string.Compare (nodes [i].Name, key, true, CultureInfo.InvariantCulture) == 0)
                                        return i;
                        }
index 1dc4d391857abc4ae9d7e0728fff785213a13301..137b69c72b81cefff52dc46a9879292a04341a3b 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-01  Frederik Carlier <frederik.carlier@carlier-online.be> 
+
+       * TreeNodeCollectionTest.cs: Add Unit tests for ContainsKey and 
+      IndexOfKey methods.
+
 2007-04-30  Gert Driesen  <drieseng@users.sourceforge.net>
 
        * DataGridViewColumnTest.cs: Added test for bug #81464, improved 
index 109234d44ab3ea979835f4668b353f5520b79105..20cdf5ded3721e34b43b2b2723d81e23338fdf95 100644 (file)
@@ -294,5 +294,41 @@ namespace MonoTests.System.Windows.Forms
                                Assert.IsNull (ex.ParamName, "#D4");
                        }
                }
+
+#if NET_2_0
+               [Test]
+               public void ContainsKey ()
+               {
+                       TreeView tv = new TreeView ();
+
+                       for (int i = 0; i < 10; i++) {
+                               TreeNode node = new TreeNode ();
+                               node.Name = i.ToString ();
+                               tv.Nodes.Add (node);
+                       }
+
+                       for (int i = 0; i < 10; i++)
+                               Assert.IsTrue (tv.Nodes.ContainsKey (i.ToString ()), "#CK1");
+                               
+                       Assert.AreEqual (false, tv.Nodes.ContainsKey ("42"), "#CK2");
+               }
+
+               [Test]
+               public void IndexOfKey ()
+               {
+                       TreeView tv = new TreeView ();
+
+                       for (int i = 0; i < 10; i++) {
+                               TreeNode node = new TreeNode ();
+                               node.Name = i.ToString ();
+                               tv.Nodes.Add (node);
+                       }
+
+                       for (int i = 0; i < 10; i++)
+                               Assert.AreEqual (tv.Nodes.IndexOfKey (i.ToString ()), i, "#KI1");
+
+                       Assert.AreEqual (-1, tv.Nodes.IndexOfKey ("42"), "#KI2");
+               }
+#endif
        }
 }