Things happen a little differently when control is created.
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / ControlEventTest.cs
1
2 using System;
3 using NUnit.Framework;
4 using System.Windows.Forms;
5 using System.Drawing;
6 using System.Threading;
7
8 namespace MonoTests.System.Windows.Forms
9 {
10         [TestFixture]
11         [Ignore ("This test has to be completly reviewed")]
12         public class EventClass
13         {
14                 static bool eventhandled = false;
15                 public static void Event_Handler1 (object sender, EventArgs e)
16                 {
17                         eventhandled = true;
18                 }
19
20                 [Test]
21                 public void BackColorChangedTest ()
22                 {
23                         Control c = new Control ();
24                         // Test BackColorChanged Event
25                         c.BackColorChanged += new EventHandler (Event_Handler1);
26                         c.BackColor = Color.Black;
27                         Assert.AreEqual (true, eventhandled, "#A1");
28
29                 }
30
31                 [Test]
32                 public void BgrndImageChangedTest ()
33                 {
34                         Control c = new Control ();
35                         // Test BackgroundImageChanged Event
36                         c.BackgroundImageChanged += new EventHandler (Event_Handler1);
37                         string abc = "M.gif";
38                         eventhandled = false;
39                         c.BackgroundImage = Image.FromFile (abc);
40                         Assert.AreEqual (true, eventhandled, "#A2");
41                 }
42
43                 [Test]
44                 public void BindingContextChangedTest ()
45                 {
46                         Control c = new Control ();
47                         // Test BindingContextChanged Event
48                         c.BindingContextChanged += new EventHandler (Event_Handler1);
49                         BindingContext bcG1 = new BindingContext ();
50                         eventhandled = false;
51                         c.BindingContext = bcG1;
52                         Assert.AreEqual (true, eventhandled, "#A3");
53
54                 }
55
56                 [Test]
57                 public void CausesValidationChangedTest ()
58                 {
59                         Control c = new Control ();
60                         // Test CausesValidationChanged Event
61                         c.CausesValidationChanged += new EventHandler (Event_Handler1);
62                         eventhandled = false;
63                         c.CausesValidation = false;
64                         Assert.AreEqual (true, eventhandled, "#A4");
65
66                 }
67
68                 [Test]
69                 public void CursorChangedTest ()
70                 {
71                         Control c = new Control ();
72                         // Test CursorChanged Event
73                         c.CursorChanged += new EventHandler (Event_Handler1);
74                         eventhandled = false;
75                         c.Cursor = Cursors.Hand;
76                         Assert.AreEqual (true, eventhandled, "#A6");
77                 }
78
79                 [Test]
80                 public void DisposedTest ()
81                 {
82                         Control c = new Control ();
83                         // Test Disposed Event
84                         c.Disposed += new EventHandler (Event_Handler1);
85                         eventhandled = false;
86                         c.Dispose ();
87                         Assert.AreEqual (true, eventhandled, "#A7");
88                 }
89
90                 [Test]
91                 public void DockChangedTest ()
92                 {
93                         Control c = new Control ();
94                         // Test DockChanged Event
95                         c.DockChanged += new EventHandler (Event_Handler1);
96                         eventhandled = false;
97                         c.Dock = DockStyle.Bottom;
98                         Assert.AreEqual (true, eventhandled, "#A8");
99                 }
100
101                 [Test]
102                 public void EnabledChangedTest ()
103                 {
104                         Control c = new Control ();
105                         // Test EnabledChanged Event
106                         c.EnabledChanged += new EventHandler (Event_Handler1);
107                         eventhandled = false;
108                         c.Enabled = false;
109                         Assert.AreEqual (true, eventhandled, "#A9");
110                 }
111
112                 [Test]
113                 public void FontChangedTest ()
114                 {
115                         Control c = new Control ();
116                         // Test FontChanged Event
117                         c.FontChanged += new EventHandler (Event_Handler1);
118                         eventhandled = false;
119                         c.Font = new Font (c.Font, FontStyle.Bold);
120                         Assert.AreEqual (true, eventhandled, "#A11");
121                 }
122
123                 [Test]
124                 public void ForeColorChangedTest ()
125                 {
126                         Control c = new Control ();
127                         // Test ForeColorChanged Event
128                         c.ForeColorChanged += new EventHandler (Event_Handler1);
129                         eventhandled = false;
130                         c.ForeColor = Color.Red;
131                         Assert.AreEqual (true, eventhandled, "#A12");
132                 }
133
134                 [Test]
135                 public void HandleCreatedTest ()
136                 {
137                         Control c = new Control ();
138                         // Test HandleCreated Event
139                         c.HandleCreated += new EventHandler (Event_Handler1);
140                         eventhandled = false;
141                         c.Handle.GetType ();
142                         Assert.AreEqual (true, eventhandled, "#A15");
143                 }
144
145                 [Test]
146                 public void ImeModeChangedTest ()
147                 {
148                         Control c = new Control ();
149                         // Test ImeModeChanged Event
150                         c.ImeModeChanged += new EventHandler (Event_Handler1);
151                         eventhandled = false;
152                         c.ImeMode = ImeMode.Off;
153                         Assert.AreEqual (true, eventhandled, "#A19");
154                 }
155
156                 [Test]
157                 public void LocationChangedTest ()
158                 {
159                         Control c = new Control ();
160                         // Test LocationChanged Event
161                         c.LocationChanged += new EventHandler (Event_Handler1);
162                         eventhandled = false;
163                         c.Left = 20;
164                         Assert.AreEqual (true, eventhandled, "#A20");
165                 }
166
167                 [Test]
168                 public void ResizeTest ()
169                 {
170                         Control c = new Control ();
171                         // Test Resize Event
172                         c.Resize += new EventHandler (Event_Handler1);
173                         eventhandled = false;
174                         c.Height = 20;
175                         Assert.AreEqual (true, eventhandled, "#A22");
176                 }
177
178                 [Test]
179                 public void RightToLeftChangedTest ()
180                 {
181                         Control c = new Control ();
182                         // Test RightToLeftChanged Event
183                         c.RightToLeftChanged += new EventHandler (Event_Handler1);
184                         eventhandled = false;
185                         c.RightToLeft = RightToLeft.Yes;
186                         Assert.AreEqual (true, eventhandled, "#A23");
187                 }
188
189                 [Test]
190                 public void SizeChangedTest ()
191                 {
192                         Control c = new Control ();
193                         // Test SizeChanged Event
194                         c.SizeChanged += new EventHandler (Event_Handler1);
195                         eventhandled = false;
196                         c.Height = 80;
197                         Assert.AreEqual (true, eventhandled, "#A24");
198                 }
199
200                 [Test]
201                 public void TabIndexChangedTest ()
202                 {
203                         Control c = new Control ();
204                         // Test TabIndexChanged Event
205                         c.TabIndexChanged += new EventHandler (Event_Handler1);
206                         eventhandled = false;
207                         c.TabIndex = 1;
208                         Assert.AreEqual (true, eventhandled, "#A27");
209                 }
210
211                 [Test]
212                 public void TabStopChangedTest ()
213                 {
214                         Control c = new Control ();
215                         // Test TabStopChanged Event
216                         c.TabStopChanged += new EventHandler (Event_Handler1);
217                         eventhandled = false;
218                         c.TabStop = false;
219                         Assert.AreEqual (true, eventhandled, "#A28");
220                 }
221
222                 [Test]
223                 public void TextChangedTest ()
224                 {
225                         Control c = new Control ();
226                         // Test TextChanged Event
227                         c.TextChanged += new EventHandler (Event_Handler1);
228                         eventhandled = false;
229                         c.Text = "some Text";
230                         Assert.AreEqual (true, eventhandled, "#A29");
231                 }
232
233                 [Test]
234                 public void VisibleChangedTest ()
235                 {
236                         Control c = new Control ();
237                         // Test VisibleChanged Event
238                         c.VisibleChanged += new EventHandler (Event_Handler1);
239                         eventhandled = false;
240                         c.Visible = false;
241                         Assert.AreEqual (true, eventhandled, "#A30");
242                 }
243         }
244
245
246         [TestFixture]
247         public class LayoutEventClass
248         {
249                 static bool eventhandled = false;
250                 public static void LayoutEvent (object sender, LayoutEventArgs e)
251                 {
252                         eventhandled = true;
253                 }
254
255                 [Test]
256                 public void LayoutTest ()
257                 {
258                         Control c = new Control ();
259                         c.Layout += new LayoutEventHandler (LayoutEvent);
260                         eventhandled = false;
261                         c.Visible = true;
262                         c.Height = 100;
263                         Assert.AreEqual (true, eventhandled, "#D1");
264
265                 }
266         }
267
268         [TestFixture]
269         public class ControlAddRemoveEventClass
270         {
271                 static bool eventhandled = false;
272                 public static void ControlEvent (object sender, ControlEventArgs e)
273                 {
274                         eventhandled = true;
275                 }
276
277                 [Test]
278                 public void ControlAddedTest ()
279                 {
280                         Control c = new Control ();
281                         c.ControlAdded += new ControlEventHandler (ControlEvent);
282                         TextBox TB = new TextBox ();
283                         eventhandled = false;
284                         c.Controls.Add (TB);
285                         Assert.AreEqual (true, eventhandled, "#F1");
286                 }
287
288                 [Test]
289                 public void ControlRemovedTest ()
290                 {
291                         Control c = new Control ();
292                         c.ControlRemoved += new ControlEventHandler (ControlEvent);
293                         TextBox TB = new TextBox ();
294                         c.Controls.Add (TB);
295                         eventhandled = false;
296                         c.Controls.Remove (TB);
297                         Assert.AreEqual (true, eventhandled, "#F2");
298                 }
299         }
300 }