Fix image path.
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / ScrollBarTest.cs
1 //
2 // Copyright (c) 2005 Novell, Inc.
3 //
4 // Authors:
5 //      Ritvik Mayank (mritvik@novell.com)
6 //      Hisham Mardam Bey (hisham.mardambey@gmail.com)
7 //
8 //
9                                                 
10
11 using System;
12 using NUnit.Framework;
13 using System.Windows.Forms;
14 using System.Drawing;
15 using System.Collections;
16
17 namespace MonoTests.System.Windows.Forms
18 {
19         [TestFixture]   
20         public class ScrollbarTest
21         {               
22                 [Test]
23                 public void PubPropTest ()
24                 {
25                         ScrollBar myscrlbar = new HScrollBar ();
26                         
27                         // B
28                         myscrlbar.BackColor = Color.Red;
29                         Assert.AreEqual (255, myscrlbar.BackColor.R, "B2");
30                         myscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
31                         Assert.AreEqual (16, myscrlbar.BackgroundImage.Height, "B3");
32                         
33                         // F
34                         Assert.AreEqual ("ff000000", myscrlbar.ForeColor.Name, "F1");
35                         
36                         // I
37                         //Assert.AreEqual (ImeMode.Disable, myscrlbar.ImeMode, "I1");
38                         
39                         // L
40                         Assert.AreEqual (10, myscrlbar.LargeChange, "L1");
41                         
42                         // M
43                         Assert.AreEqual (100, myscrlbar.Maximum, "M1");
44                         Assert.AreEqual (0, myscrlbar.Minimum, "M2");
45                         myscrlbar.Maximum = 300;
46                         myscrlbar.Minimum = 100;
47                         Assert.AreEqual (300, myscrlbar.Maximum, "M3");
48                         Assert.AreEqual (100, myscrlbar.Minimum, "M4");
49                         
50                         // S
51                         Assert.AreEqual (null, myscrlbar.Site, "S1");
52                         Assert.AreEqual (1, myscrlbar.SmallChange, "S2");
53                         myscrlbar.SmallChange = 10;
54                         Assert.AreEqual (10, myscrlbar.SmallChange, "S3");
55                         
56                         // T
57                         Assert.AreEqual (false, myscrlbar.TabStop, "T1");
58                         myscrlbar.TabStop = true;
59                         Assert.AreEqual (true, myscrlbar.TabStop, "T2");
60                         Assert.AreEqual ("", myscrlbar.Text, "T3");
61                         myscrlbar.Text = "MONO SCROLLBAR";
62                         Assert.AreEqual ("MONO SCROLLBAR", myscrlbar.Text, "T4");
63                         
64                         // V
65                         Assert.AreEqual (100, myscrlbar.Value, "V1");
66                         myscrlbar.Value = 150;                  
67                         Assert.AreEqual (150, myscrlbar.Value, "V2");
68                 }
69                 
70                 [Test]
71                 [ExpectedException (typeof (ArgumentException))]
72                 public void ExceptionValueTest ()
73                 {
74                         ScrollBar myscrlbar = new HScrollBar ();
75                         myscrlbar.Minimum = 10;
76                         myscrlbar.Maximum = 20;                 
77                         myscrlbar.Value = 9;
78                         myscrlbar.Value = 21;
79                 }
80                 
81                 [Test]
82                 public void PubMethodTest ()
83                 {
84                         ScrollBar myscrlbar = new HScrollBar ();
85                         myscrlbar.Text = "New HScrollBar";
86                         Assert.AreEqual ("System.Windows.Forms.HScrollBar, Minimum: 0, Maximum: 100, Value: 0",
87                                          myscrlbar.ToString (), "T5");
88                 }                               
89         }
90
91         [TestFixture]   
92         public class ScrollBarEventTest
93         {
94                 static bool eventhandled = false;
95                 public void ScrollBar_EventHandler (object sender,EventArgs e)
96                 {
97                         eventhandled = true;
98                 }
99                                 
100                 [Test]
101                 public void BackColorChangedTest ()
102                 {
103                         Form myform = new Form ();
104                         myform.Visible = true;                  
105                         ScrollBar myHscrlbar = new HScrollBar ();
106                         myform.Controls.Add (myHscrlbar);
107                         myHscrlbar.BackColorChanged += new EventHandler (ScrollBar_EventHandler);
108                         myHscrlbar.BackColor = Color.Red;
109                         Assert.AreEqual (true, eventhandled, "B4");
110                         eventhandled = false;                   
111                 }
112                 
113                 [Test]
114                 public void BackgroundImageChangedTest ()
115                 {
116                         Form myform = new Form ();
117                         myform.Visible = true;                  
118                         ScrollBar myHscrlbar = new HScrollBar ();
119                         myform.Controls.Add (myHscrlbar);
120                         myHscrlbar.BackgroundImageChanged += new EventHandler (ScrollBar_EventHandler);
121                         myHscrlbar.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
122                         Assert.AreEqual (true, eventhandled, "B5");
123                         eventhandled = false;
124                 }
125                 
126                 [Test, Ignore ("Incomplete.")]
127                 public void ClickTest ()
128                 {
129                         Form myform = new Form ();
130                         myform.Visible = true;                  
131                         ScrollBar myHscrlbar = new HScrollBar ();
132                         myform.Controls.Add (myHscrlbar);
133                         myHscrlbar.Click += new EventHandler (ScrollBar_EventHandler);
134
135                         Assert.AreEqual (true, eventhandled, "C1");
136                 }
137                 
138                 [Test, Ignore ("Incomplete.")]
139                 public void DoubleClickTest ()
140                 {
141                         Form myform = new Form ();
142                         myform.Visible = true;                  
143                         ScrollBar myHscrlbar = new HScrollBar ();
144                         myform.Controls.Add (myHscrlbar);
145                         myHscrlbar.DoubleClick += new EventHandler (ScrollBar_EventHandler);
146
147                         Assert.AreEqual (true, eventhandled, "D1");
148                 }               
149                 
150                 [Test]
151                 public void FontChangedTest ()
152                 {
153                         Form myform = new Form ();
154                         myform.Visible = true;                  
155                         ScrollBar myHscrlbar = new HScrollBar ();
156                         myform.Controls.Add (myHscrlbar);
157                         myHscrlbar.FontChanged += new EventHandler (ScrollBar_EventHandler);
158                         FontDialog myFontDialog = new FontDialog();
159                         myHscrlbar.Font = myFontDialog.Font;
160                         Assert.AreEqual (true, eventhandled, "F2");
161                         eventhandled = false;
162                 }
163
164                 [Test]
165                 public void ForeColorChangedTest ()
166                 {
167                         Form myform = new Form ();
168                         myform.Visible = true;                  
169                         ScrollBar myHscrlbar = new HScrollBar ();
170                         myform.Controls.Add (myHscrlbar);
171                         myHscrlbar.ForeColorChanged += new EventHandler (ScrollBar_EventHandler);
172                         myHscrlbar.ForeColor = Color.Azure;
173                         Assert.AreEqual (true, eventhandled, "F3");
174                         eventhandled = false;
175                 }
176                                 
177                 [Test]
178                 public void ImeModehangedTest ()
179                 {
180                         Form myform = new Form ();
181                         myform.Visible = true;                  
182                         ScrollBar myHscrlbar = new HScrollBar ();
183                         myform.Controls.Add (myHscrlbar);
184                         myHscrlbar.ImeModeChanged += new EventHandler (ScrollBar_EventHandler);
185                         myHscrlbar.ImeMode = ImeMode.Katakana;
186                         Assert.AreEqual (true, eventhandled, "I2");
187                         eventhandled = false;
188                 }
189                 
190                 [Test, Ignore ("Incomplete.")]
191                 public void MouseDownTest ()
192                 {
193                         Form myform = new Form ();
194                         myform.Visible = true;                  
195                         ScrollBar myHscrlbar = new HScrollBar ();
196                         myform.Controls.Add (myHscrlbar);
197                         myHscrlbar.MouseDown += new MouseEventHandler (ScrollBar_EventHandler);
198
199                         Assert.AreEqual (true, eventhandled, "M5");
200                         eventhandled = false;
201                 }
202                 
203                 [Test, Ignore ("Incomplete.")]
204                 public void MouseMoveTest ()
205                 {
206                         Form myform = new Form ();
207                         myform.Visible = true;                  
208                         ScrollBar myHscrlbar = new HScrollBar ();
209                         myform.Controls.Add (myHscrlbar);
210                         myHscrlbar.MouseMove += new MouseEventHandler (ScrollBar_EventHandler);
211
212                         Assert.AreEqual (true, eventhandled, "M6");
213                         eventhandled = false;
214                 }
215                 
216                 [Test, Ignore ("Incomplete.")]
217                 public void MouseUpTest ()
218                 {
219                         Form myform = new Form ();
220                         myform.Visible = true;                  
221                         ScrollBar myHscrlbar = new HScrollBar ();
222                         myform.Controls.Add (myHscrlbar);
223                         myHscrlbar.MouseUp += new MouseEventHandler (ScrollBar_EventHandler);
224
225                         Assert.AreEqual (true, eventhandled, "M7");
226                         eventhandled = false;
227                 }
228                 
229                 [Test, Ignore ("Incomplete.")]
230                 public void PaintTest ()
231                 {
232                         Form myform = new Form ();
233                         myform.Visible = true;                  
234                         ScrollBar myHscrlbar = new HScrollBar ();
235                         myform.Controls.Add (myHscrlbar);
236                         myHscrlbar.Paint += new PaintEventHandler (ScrollBar_EventHandler);
237
238                         Assert.AreEqual (true, eventhandled, "P1");
239                         eventhandled = false;
240                 }
241                 
242                 [Test, Ignore ("Incomplete.")]
243                 public void ScrollTest ()
244                 {
245                         Form myform = new Form ();
246                         myform.Visible = true;                  
247                         ScrollBar myHscrlbar = new HScrollBar ();
248                         myform.Controls.Add (myHscrlbar);
249                         myHscrlbar.Scroll += new ScrollEventHandler (ScrollBar_EventHandler);
250                         
251                         Assert.AreEqual (true, eventhandled, "S4");
252                         eventhandled = false;
253                 }       
254                 
255                 [Test, Ignore ("Is this raised? Check on MS.")]
256                 public void TextChangedTest ()
257                 {
258                         Form myform = new Form ();
259                         myform.Visible = true;                  
260                         ScrollBar myHscrlbar = new HScrollBar ();
261                         myform.Controls.Add (myHscrlbar);
262                         myHscrlbar.TextChanged += new EventHandler (ScrollBar_EventHandler);
263
264                         Assert.AreEqual (true, eventhandled, "T6");
265                         eventhandled = false;
266                 }               
267                  
268                 [Test]
269                 public void ValueChangeTest ()
270                 {
271                         Form myform = new Form ();
272                         myform.Visible = true;                  
273                         ScrollBar myHscrlbar = new HScrollBar ();
274                         myform.Controls.Add (myHscrlbar);
275                         myHscrlbar.Value = 40 ;
276                         myHscrlbar.ValueChanged += new EventHandler (ScrollBar_EventHandler);
277                         myHscrlbar.Value = 50 ;
278                         Assert.AreEqual (true, eventhandled, "V3");
279                         eventhandled = false;                   
280                 }                               
281         }   
282    
283         public class MyHScrollBar : HScrollBar
284         {
285                 public MyHScrollBar () : base ()
286                 {                       
287                 }
288                 
289                 public Size MyDefaultSize {
290                         get { return DefaultSize; }
291                 }
292                 
293                 public CreateParams MyCreateParams {
294                         get { return CreateParams; }
295                 }
296         }
297    
298         [TestFixture]   
299         public class MyHScrollBarTest
300         {
301                 [Test]
302                 public void ProtectedTest ()
303                 {
304                         MyHScrollBar msbar = new MyHScrollBar ();
305                         
306                         Assert.AreEqual (80, msbar.MyDefaultSize.Width, "D1");
307                         Assert.AreEqual (16, msbar.MyDefaultSize.Height, "D2");
308                 }               
309         }
310    
311         public class MyVScrollBar : VScrollBar
312         {
313                 public MyVScrollBar () : base ()
314                 {                       
315                 }
316                 
317                 public Size MyDefaultSize {
318                         get { return DefaultSize; }
319                 }
320                 
321                 public CreateParams MyCreateParams {
322                         get { return CreateParams; }
323                 }
324         }
325    
326         [TestFixture]   
327         public class MyVScrollBarTest
328         {
329                 [Test]
330                 public void PubMethodTest ()
331                 {
332                         MyVScrollBar msbar = new MyVScrollBar ();
333                         
334                         Assert.AreEqual (RightToLeft.No, msbar.RightToLeft, "R1");
335                         
336                 }
337                 
338                 [Test]
339                 public void ProtMethodTest ()
340                 {
341                         MyVScrollBar msbar = new MyVScrollBar ();
342                         
343                         Assert.AreEqual (16, msbar.MyDefaultSize.Width, "D3");
344                         Assert.AreEqual (80, msbar.MyDefaultSize.Height, "D4");
345                 }               
346         }
347    
348         public class MyScrollBar : HScrollBar
349         {
350                 private ArrayList results = new ArrayList ();
351                 public MyScrollBar () : base ()
352                 {
353                         // TODO: add event handlers (+=)
354                 }
355                 
356                 protected override void OnBackColorChanged (EventArgs e)
357                 {
358                         results.Add ("OnBackColorChanged");
359                         base.OnBackColorChanged (e);
360                 }
361                 
362                 protected override void OnBackgroundImageChanged (EventArgs e)
363                 {
364                         results.Add ("OnBackgroundImageChanged");
365                         base.OnBackgroundImageChanged (e);
366                 }
367                 
368                 protected override void OnClick (EventArgs e)
369                 {
370                         results.Add ("OnClick");
371                         base.OnClick (e);
372                 }
373                 
374                 protected override void OnDoubleClick (EventArgs e)
375                 {
376                         results.Add ("OnDoubleClick");
377                         base.OnDoubleClick (e);
378                 }
379                 
380                 protected override void OnFontChanged (EventArgs e)
381                 {
382                         results.Add ("OnFontChanged");
383                         base.OnFontChanged (e);
384                 }
385                 
386                 protected override void OnForeColorChanged (EventArgs e)
387                 {
388                         results.Add ("OnForeColorChanged");
389                         base.OnForeColorChanged (e);
390                 }
391                 
392                 protected override void OnImeModeChanged (EventArgs e)
393                 {
394                         results.Add ("OnImeModeChanged");
395                         base.OnImeModeChanged (e);
396                 }
397                 
398                 protected override void OnMouseDown (MouseEventArgs e)
399                 {
400                         results.Add ("OnMouseDown");
401                         base.OnMouseDown (e);
402                 }
403                 
404                 protected override void OnMouseMove (MouseEventArgs e)
405                 {
406                         results.Add ("OnMouseMove");
407                         base.OnMouseMove (e);
408                 }
409                 
410                 protected override void OnMouseUp (MouseEventArgs e)
411                 {
412                         results.Add ("OnMouseUp");
413                         base.OnMouseUp (e);
414                 }
415                 
416                 protected override void OnHandleCreated (EventArgs e)
417                 {
418                         results.Add ("OnHandleCreated");
419                         base.OnHandleCreated (e);
420                 }
421                 
422                 protected override void OnBindingContextChanged (EventArgs e)
423                 {
424                         results.Add ("OnBindingContextChanged");
425                         base.OnBindingContextChanged (e);
426                 }
427                 
428                 protected override void OnInvalidated (InvalidateEventArgs e)
429                 {
430                         results.Add("OnInvalidated");
431                         base.OnInvalidated (e);
432                 }
433                 
434                 protected override void OnResize (EventArgs e)
435                 {
436                         results.Add("OnResize");
437                         base.OnResize (e);
438                 }
439                 
440                 protected override void OnSizeChanged (EventArgs e)
441                 {
442                         results.Add("OnSizeChanged");
443                         base.OnSizeChanged (e);
444                 }
445                 
446                 protected override void OnLayout (LayoutEventArgs e)
447                 {
448                         results.Add("OnLayout");
449                         base.OnLayout (e);
450                 }
451                 
452                 protected override void OnVisibleChanged (EventArgs e)
453                 {
454                         results.Add("OnVisibleChanged");
455                         base.OnVisibleChanged (e);
456                 }
457                 
458                 protected override void OnScroll (ScrollEventArgs e)
459                 {
460                         results.Add("OnScroll");
461                         base.OnScroll (e);
462                 }
463                 
464                 protected override void OnTextChanged (EventArgs e)
465                 {
466                         results.Add("OnTextChanged");
467                         base.OnTextChanged (e);
468                 }
469                 
470                 protected override void OnValueChanged (EventArgs e)
471                 {
472                         results.Add("OnValueChanged");
473                         base.OnValueChanged (e);
474                 }
475                 
476                 protected override void OnPaint (PaintEventArgs e)
477                 {
478                         results.Add("OnPaint");
479                         base.OnPaint (e);
480                 }
481                 
482                 public ArrayList Results {
483                         get {   return results; }
484                 }               
485         }       
486         
487         [TestFixture]
488         public class HScrollBarTestEventsOrder
489         {                               
490                 public string [] ArrayListToString (ArrayList arrlist)
491                 {
492                         string [] retval = new string [arrlist.Count];
493                         for (int i = 0; i < arrlist.Count; i++)
494                           retval[i] = (string)arrlist[i];
495                         return retval;
496                 }
497                 
498                 [Test]
499                 public void CreateEventsOrder ()
500                 {
501                         string[] EventsWanted = {
502                                 "OnHandleCreated",
503                                   "OnBindingContextChanged",
504                                   "OnBindingContextChanged"
505                         };              
506                         Form myform = new Form ();
507                         myform.Visible = true;
508                         MyScrollBar s = new MyScrollBar ();
509                         myform.Controls.Add (s);
510                         
511                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
512                 }
513                 
514                 [Test]
515                 public void BackColorChangedEventsOrder ()
516                 {
517                         string[] EventsWanted = {
518                                 "OnHandleCreated",
519                                   "OnBindingContextChanged",
520                                   "OnBindingContextChanged",
521                                   "OnBackColorChanged",
522                                   "OnInvalidated"
523                         };              
524                         Form myform = new Form ();
525                         myform.Visible = true;
526                         MyScrollBar s = new MyScrollBar ();
527                         myform.Controls.Add (s);
528                         s.BackColor = Color.Aqua;
529                         
530                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
531                 }
532                 
533                 [Test]
534                 public void BackgroundImageChangedEventsOrder ()
535                 {
536                         string[] EventsWanted = {
537                                 "OnHandleCreated",
538                                   "OnBindingContextChanged",
539                                   "OnBindingContextChanged",
540                                   "OnBackgroundImageChanged",
541                                   "OnInvalidated"
542                         };              
543                         Form myform = new Form ();
544                         myform.Visible = true;
545                         MyScrollBar s = new MyScrollBar ();
546                         myform.Controls.Add (s);
547                         s.BackgroundImage = Image.FromFile ("Test/System.Windows.Forms/bitmaps/a.png");
548                         
549                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
550                 }
551                 
552                 [Test, Ignore ("Not implemented yet, needs msg")]
553                 public void ClickEventsOrder ()
554                 {
555                         string[] EventsWanted = {
556                                 "OnHandleCreated",
557                                   "OnBindingContextChanged",
558                                   "OnBindingContextChanged",
559                                   "OnClick"
560                         };              
561                         Form myform = new Form ();
562                         myform.Visible = true;
563                         MyScrollBar s = new MyScrollBar ();
564                         myform.Controls.Add (s);                        
565                         
566                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
567                 }               
568                 
569                 [Test, Ignore ("Not implemented yet, needs msg")]
570                 public void DoubleClickEventsOrder ()
571                 {
572                         string[] EventsWanted = {
573                                 "OnHandleCreated",
574                                   "OnBindingContextChanged",
575                                   "OnBindingContextChanged",
576                                   "OnDoubleClick"
577                         };              
578                         Form myform = new Form ();
579                         myform.Visible = true;
580                         MyScrollBar s = new MyScrollBar ();
581                         myform.Controls.Add (s);                        
582                         
583                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
584                 }
585                 
586                 [Test]
587                 public void FontChangedEventsOrder ()
588                 {
589                         string[] EventsWanted = {
590                                 "OnHandleCreated",
591                                   "OnBindingContextChanged",
592                                   "OnBindingContextChanged"
593                         };              
594                         Form myform = new Form ();
595                         myform.Visible = true;
596                         MyScrollBar s = new MyScrollBar ();
597                         myform.Controls.Add (s);
598                         FontDialog myFontDialog = new FontDialog();
599                         s.Font = myFontDialog.Font;
600                         
601                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
602                 }
603                 
604                 [Test]
605                 public void ForeColorChangedEventsOrder ()
606                 {
607                         string[] EventsWanted = {
608                                 "OnHandleCreated",
609                                   "OnBindingContextChanged",
610                                   "OnBindingContextChanged",
611                                   "OnForeColorChanged",
612                                   "OnInvalidated"
613                         };              
614                         Form myform = new Form ();
615                         myform.Visible = true;
616                         MyScrollBar s = new MyScrollBar ();
617                         myform.Controls.Add (s);
618                         s.ForeColor = Color.Aqua;
619                         
620                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
621                 }
622                 
623                 [Test]
624                 public void ImeModeChangedChangedEventsOrder ()
625                 {
626                         string[] EventsWanted = {
627                                 "OnHandleCreated",
628                                   "OnBindingContextChanged",
629                                   "OnBindingContextChanged",            
630                                   "OnImeModeChanged"            
631                         };              
632                         Form myform = new Form ();
633                         myform.Visible = true;
634                         MyScrollBar s = new MyScrollBar ();
635                         myform.Controls.Add (s);
636                         s.ImeMode = ImeMode.Katakana;
637                         
638                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
639                 }
640                 
641                 [Test, Ignore ("Not implemented yet, needs msg.")]
642                 public void MouseDownEventsOrder ()
643                 {
644                         string[] EventsWanted = {
645                                 "OnHandleCreated",
646                                   "OnBindingContextChanged",
647                                   "OnBindingContextChanged"
648                         };              
649                         Form myform = new Form ();
650                         myform.Visible = true;
651                         MyScrollBar s = new MyScrollBar ();
652                         myform.Controls.Add (s);
653                         
654                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
655                 }
656                 
657                 [Test, Ignore ("Not implemented yet, needs msg.")]
658                 public void MouseMoveEventsOrder ()
659                 {
660                         string[] EventsWanted = {
661                                 "OnHandleCreated",
662                                   "OnBindingContextChanged",
663                                   "OnBindingContextChanged"
664                         };              
665                         Form myform = new Form ();
666                         myform.Visible = true;
667                         MyScrollBar s = new MyScrollBar ();
668                         myform.Controls.Add (s);
669                         
670                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
671                 }
672                 
673                 [Test, Ignore ("Not implemented yet, needs msg.")]
674                 public void MouseUpEventsOrder ()
675                 {
676                         string[] EventsWanted = {
677                                 "OnHandleCreated",
678                                   "OnBindingContextChanged",
679                                   "OnBindingContextChanged"
680                         };              
681                         Form myform = new Form ();
682                         myform.Visible = true;
683                         MyScrollBar s = new MyScrollBar ();
684                         myform.Controls.Add (s);
685                         
686                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
687                 }
688                 
689                 [Test]
690                 public void PaintEventsOrder ()
691                 {
692                         string[] EventsWanted = {
693                                 "OnHandleCreated",
694                                   "OnBindingContextChanged",
695                                   "OnBindingContextChanged"
696                         };              
697                         Form myform = new Form ();
698                         myform.Visible = true;
699                         MyScrollBar s = new MyScrollBar ();
700                         myform.Controls.Add (s);
701                         s.Visible = true;
702                         
703                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
704                 }
705                 
706                 [Test, Ignore ("Not implemented yet, needs msg.")]
707                 public void ScrollEventsOrder ()
708                 {
709                         string[] EventsWanted = {
710                                 "OnHandleCreated",
711                                   "OnBindingContextChanged",
712                                   "OnBindingContextChanged"
713                         };              
714                         Form myform = new Form ();
715                         myform.Visible = true;
716                         MyScrollBar s = new MyScrollBar ();
717                         myform.Controls.Add (s);                        
718                         
719                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
720                 }
721                 
722                 [Test]
723                 public void TextChangedEventsOrder ()
724                 {
725                         string[] EventsWanted = {
726                                 "OnHandleCreated",
727                                   "OnBindingContextChanged",
728                                   "OnBindingContextChanged",
729                                   "OnTextChanged"
730                         };              
731                         Form myform = new Form ();
732                         myform.Visible = true;
733                         MyScrollBar s = new MyScrollBar ();
734                         myform.Controls.Add (s);
735                         s.Text = "foobar";
736                         
737                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
738                 }               
739                 
740                 [Test]
741                 public void ValueChangedEventsOrder ()
742                 {
743                         string[] EventsWanted = {
744                                 "OnHandleCreated",
745                                   "OnBindingContextChanged",
746                                   "OnBindingContextChanged",
747                                   "OnValueChanged"
748                         };              
749                         Form myform = new Form ();
750                         myform.Visible = true;
751                         MyScrollBar s = new MyScrollBar ();
752                         myform.Controls.Add (s);
753                         s.Value = 10;
754                         
755                         Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
756                 }
757         }         
758 }
759