[Mono-dev] Fix for failing TreeNode tests

Jackson Harper jackson at ximian.com
Mon Nov 28 14:52:27 EST 2005


Hello, these look good. I have only one comment (inline).  Do you have
write access to svn?

Cheers,
Jackson

On Sat, 2005-11-26 at 20:55 +0100, Dieter Bremes wrote:
> Hi,
> 
> below are 2 fixes + an additional test for the TreeNode's FullPath and 
> Index properties.
> 
> I also added the namespace for TreeNodeTest but didn't update the 
> indentation because it would obscure the diff.
> 
> Dieter
> 
> 
> 
> * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to fail.
> 
> * TreeNodeTest.cs : Added namespace + SingleNodeIndexTest.
>                      Fixed warning CS0219.
> 
> 
> Index: System.Windows.Forms/TreeNode.cs
> ===================================================================
> --- System.Windows.Forms/TreeNode.cs	(Revision 53205)
> +++ System.Windows.Forms/TreeNode.cs	(Arbeitskopie)
> @@ -199,7 +199,7 @@
> 
>   		public string FullPath {
>   			get {
> -				if (tree_view == null)
> +				if (TreeView == null)
>   					throw new Exception ("No TreeView associated");
> 
>   				StringBuilder builder = new StringBuilder ();
> @@ -498,9 +498,10 @@
> 
>   		public int Index {
>   			get {
> -				if (parent == null)
> -					return -1;
> -				return parent.Nodes.IndexOf (this);
> +				if (parent != null)
> +					return parent.Nodes.IndexOf (this);
> +				else
> +					return 0;
>   			}
>   		}

I would prefer dropping the else here:
> +				if (parent != null)
> +					return parent.Nodes.IndexOf (this);
> +				return 0;


> Index: Test/System.Windows.Forms/TreeNodeTest.cs
> ===================================================================
> --- Test/System.Windows.Forms/TreeNodeTest.cs	(Revision 53205)
> +++ Test/System.Windows.Forms/TreeNodeTest.cs	(Arbeitskopie)
> @@ -1,7 +1,11 @@
>   using System;
>   using NUnit.Framework;
>   using System.Windows.Forms;
> +using SystemDrawingNamespace = System.Drawing; // Prevent CS0234
> 
> +namespace MonoTests.System.Windows.Forms
> +{
> +
>   [TestFixture]
>   public class TreeNodeTest {
> 
> @@ -100,6 +104,9 @@
>   	public void FullPathException ()
>   	{
>   		string s = new TreeNode ("").FullPath;
> +		// Prevent CS0219, will never write anything
> +		// due to previous statement throwing Exception
> +		Console.WriteLine(s);
>   	}
> 
>   	[Test]
> @@ -126,8 +133,8 @@
>   		TreeNode orig = new TreeNode ("text", 2, 3, new TreeNode [] { new 
> TreeNode ("child", 22, 33) });
>   		orig.Tag = FlatStyle.Flat;
>   		orig.Checked = true;
> -		orig.BackColor = System.Drawing.Color.AliceBlue;
> -		orig.ForeColor = System.Drawing.Color.Beige;
> +		orig.BackColor = SystemDrawingNamespace.Color.AliceBlue;
> +		orig.ForeColor = SystemDrawingNamespace.Color.Beige;
> 
>   		TreeNode clone = (TreeNode)orig.Clone ();
>   		Assert.AreEqual ("text", clone.Text, "#1");
> @@ -138,8 +145,20 @@
>   		Assert.IsTrue (clone.Checked, "#6");
>   		Assert.AreEqual ("child", clone.Nodes [0].Text, "#10");
>   		Assert.AreEqual (22, clone.Nodes [0].ImageIndex, "#11");
> -		Assert.AreEqual (System.Drawing.Color.AliceBlue, clone.BackColor, "#12");
> -		Assert.AreEqual (System.Drawing.Color.Beige, clone.ForeColor, "#13");
> +		Assert.AreEqual (SystemDrawingNamespace.Color.AliceBlue, 
> clone.BackColor, "#12");
> +		Assert.AreEqual (SystemDrawingNamespace.Color.Beige, clone.ForeColor, 
> "#13");
>   	}
> 
> +	[Test]
> +	public void SingleNodeIndexTest ()
> +	{
> +		TreeNode tn_1 = new TreeNode ("A");
> +		Assert.AreEqual (0, tn_1.Index, "#1");
> +		TreeView tv = new TreeView ();
> +		tv.Nodes.Add (tn_1);
> +		Assert.AreEqual (0, tn_1.Index, "#2");
> +	}
> +
> +}
> +
>   }
> \ No newline at end of file
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list




More information about the Mono-devel-list mailing list