2009-07-17 Carlos Alberto Cortez <calberto.cortez@gmail.com>
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / TreeViewEventsTest.cs
1 //
2 // TreeViewEventsTest.cs: Test cases for TreeView events.
3 //
4 // Author:
5 //   Carlos Alberto Cortez <calberto.cortez@gmail.com>
6 //
7 // (C) 2007 Novell, Inc. (http://www.novell.com)
8 //
9
10 using System;
11 using System.Drawing;
12 using System.Windows.Forms;
13
14 using NUnit.Framework;
15
16 namespace MonoTests.System.Windows.Forms
17 {
18         [TestFixture]
19         public class TreeViewEventsTest : TestHelper
20         {
21                 Form f;
22                 TreeView tv;
23                 bool event_fired;
24
25                 [SetUp]
26                 protected override void SetUp () {
27                         f = new Form ();
28                         tv = new TreeView ();
29                         f.Controls.Add (tv);
30
31                         event_fired = false;
32                         base.SetUp ();
33                 }
34
35                 [Test]
36                 public void AfterLabelEditEventTest ()
37                 {
38                         tv.LabelEdit = true;
39
40                         TreeNode node = new TreeNode ("A");
41                         tv.Nodes.Add (node);
42
43                         tv.AfterLabelEdit += new NodeLabelEditEventHandler (AfterLabelEditHandler);
44
45                         f.Show ();
46
47                         node.BeginEdit ();
48                         Assert.IsTrue (node.IsEditing, "#A1");
49
50                         node.EndEdit (false);
51                         Assert.IsTrue (event_fired, "#B1");
52
53                         f.Dispose ();
54                 }
55
56                 void AfterLabelEditHandler (object o, NodeLabelEditEventArgs args)
57                 {
58                         Assert.AreEqual (false, args.Node.IsEditing, "AfterLabelEditHandler#A1");
59
60                         event_fired = true;
61                 }
62
63                 [Test]
64                 public void BeforeLabelEditEventTest ()
65                 {
66                         tv.LabelEdit = true;
67
68                         TreeNode node = new TreeNode ("A");
69                         tv.Nodes.Add (node);
70
71                         tv.BeforeLabelEdit += new NodeLabelEditEventHandler (BeforeLabelEditHandler);
72
73                         f.Show ();
74
75                         node.BeginEdit ();
76                         Assert.IsTrue (node.IsEditing, "#A1");
77
78                         node.EndEdit (false);
79                         Assert.IsTrue (event_fired, "#B1");
80
81                         f.Dispose ();
82                 }
83
84                 void BeforeLabelEditHandler (object o, NodeLabelEditEventArgs args)
85                 {
86                         Assert.AreEqual (false, args.Node.IsEditing, "BeforeLabelEditHandler#A1");
87
88                         event_fired = true;
89                 }
90
91         }
92 }
93