+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.
#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;
}
#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;
}
+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
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
}
}