2 // Copyright (c) 2005 Novell, Inc.
5 // Ritvik Mayank (mritvik@novell.com)
6 // Hisham Mardam Bey (hisham.mardambey@gmail.com)
12 using NUnit.Framework;
13 using System.Windows.Forms;
15 using System.Collections;
17 namespace MonoTests.System.Windows.Forms
20 public class ScrollbarTest
23 public void PubPropTest ()
25 ScrollBar myscrlbar = new HScrollBar ();
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");
34 Assert.AreEqual ("ff000000", myscrlbar.ForeColor.Name, "F1");
37 //Assert.AreEqual (ImeMode.Disable, myscrlbar.ImeMode, "I1");
40 Assert.AreEqual (10, myscrlbar.LargeChange, "L1");
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");
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");
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");
65 Assert.AreEqual (100, myscrlbar.Value, "V1");
66 myscrlbar.Value = 150;
67 Assert.AreEqual (150, myscrlbar.Value, "V2");
71 [ExpectedException (typeof (ArgumentException))]
72 public void ExceptionValueTest ()
74 ScrollBar myscrlbar = new HScrollBar ();
75 myscrlbar.Minimum = 10;
76 myscrlbar.Maximum = 20;
82 public void PubMethodTest ()
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");
92 public class ScrollBarEventTest
94 static bool eventhandled = false;
95 public void ScrollBar_EventHandler (object sender,EventArgs e)
101 public void BackColorChangedTest ()
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;
114 public void BackgroundImageChangedTest ()
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;
126 [Test, Ignore ("Incomplete.")]
127 public void ClickTest ()
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);
135 Assert.AreEqual (true, eventhandled, "C1");
138 [Test, Ignore ("Incomplete.")]
139 public void DoubleClickTest ()
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);
147 Assert.AreEqual (true, eventhandled, "D1");
151 public void FontChangedTest ()
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;
165 public void ForeColorChangedTest ()
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;
178 public void ImeModehangedTest ()
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;
190 [Test, Ignore ("Incomplete.")]
191 public void MouseDownTest ()
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);
199 Assert.AreEqual (true, eventhandled, "M5");
200 eventhandled = false;
203 [Test, Ignore ("Incomplete.")]
204 public void MouseMoveTest ()
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);
212 Assert.AreEqual (true, eventhandled, "M6");
213 eventhandled = false;
216 [Test, Ignore ("Incomplete.")]
217 public void MouseUpTest ()
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);
225 Assert.AreEqual (true, eventhandled, "M7");
226 eventhandled = false;
229 [Test, Ignore ("Incomplete.")]
230 public void PaintTest ()
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);
238 Assert.AreEqual (true, eventhandled, "P1");
239 eventhandled = false;
242 [Test, Ignore ("Incomplete.")]
243 public void ScrollTest ()
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);
251 Assert.AreEqual (true, eventhandled, "S4");
252 eventhandled = false;
255 [Test, Ignore ("Is this raised? Check on MS.")]
256 public void TextChangedTest ()
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);
264 Assert.AreEqual (true, eventhandled, "T6");
265 eventhandled = false;
269 public void ValueChangeTest ()
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;
283 public class MyHScrollBar : HScrollBar
285 public MyHScrollBar () : base ()
289 public Size MyDefaultSize {
290 get { return DefaultSize; }
293 public CreateParams MyCreateParams {
294 get { return CreateParams; }
299 public class MyHScrollBarTest
302 public void ProtectedTest ()
304 MyHScrollBar msbar = new MyHScrollBar ();
306 Assert.AreEqual (80, msbar.MyDefaultSize.Width, "D1");
307 Assert.AreEqual (16, msbar.MyDefaultSize.Height, "D2");
311 public class MyVScrollBar : VScrollBar
313 public MyVScrollBar () : base ()
317 public Size MyDefaultSize {
318 get { return DefaultSize; }
321 public CreateParams MyCreateParams {
322 get { return CreateParams; }
327 public class MyVScrollBarTest
330 public void PubMethodTest ()
332 MyVScrollBar msbar = new MyVScrollBar ();
334 Assert.AreEqual (RightToLeft.No, msbar.RightToLeft, "R1");
339 public void ProtMethodTest ()
341 MyVScrollBar msbar = new MyVScrollBar ();
343 Assert.AreEqual (16, msbar.MyDefaultSize.Width, "D3");
344 Assert.AreEqual (80, msbar.MyDefaultSize.Height, "D4");
348 public class MyScrollBar : HScrollBar
350 private ArrayList results = new ArrayList ();
351 public MyScrollBar () : base ()
353 // TODO: add event handlers (+=)
356 protected override void OnBackColorChanged (EventArgs e)
358 results.Add ("OnBackColorChanged");
359 base.OnBackColorChanged (e);
362 protected override void OnBackgroundImageChanged (EventArgs e)
364 results.Add ("OnBackgroundImageChanged");
365 base.OnBackgroundImageChanged (e);
368 protected override void OnClick (EventArgs e)
370 results.Add ("OnClick");
374 protected override void OnDoubleClick (EventArgs e)
376 results.Add ("OnDoubleClick");
377 base.OnDoubleClick (e);
380 protected override void OnFontChanged (EventArgs e)
382 results.Add ("OnFontChanged");
383 base.OnFontChanged (e);
386 protected override void OnForeColorChanged (EventArgs e)
388 results.Add ("OnForeColorChanged");
389 base.OnForeColorChanged (e);
392 protected override void OnImeModeChanged (EventArgs e)
394 results.Add ("OnImeModeChanged");
395 base.OnImeModeChanged (e);
398 protected override void OnMouseDown (MouseEventArgs e)
400 results.Add ("OnMouseDown");
401 base.OnMouseDown (e);
404 protected override void OnMouseMove (MouseEventArgs e)
406 results.Add ("OnMouseMove");
407 base.OnMouseMove (e);
410 protected override void OnMouseUp (MouseEventArgs e)
412 results.Add ("OnMouseUp");
416 protected override void OnHandleCreated (EventArgs e)
418 results.Add ("OnHandleCreated");
419 base.OnHandleCreated (e);
422 protected override void OnBindingContextChanged (EventArgs e)
424 results.Add ("OnBindingContextChanged");
425 base.OnBindingContextChanged (e);
428 protected override void OnInvalidated (InvalidateEventArgs e)
430 results.Add("OnInvalidated");
431 base.OnInvalidated (e);
434 protected override void OnResize (EventArgs e)
436 results.Add("OnResize");
440 protected override void OnSizeChanged (EventArgs e)
442 results.Add("OnSizeChanged");
443 base.OnSizeChanged (e);
446 protected override void OnLayout (LayoutEventArgs e)
448 results.Add("OnLayout");
452 protected override void OnVisibleChanged (EventArgs e)
454 results.Add("OnVisibleChanged");
455 base.OnVisibleChanged (e);
458 protected override void OnScroll (ScrollEventArgs e)
460 results.Add("OnScroll");
464 protected override void OnTextChanged (EventArgs e)
466 results.Add("OnTextChanged");
467 base.OnTextChanged (e);
470 protected override void OnValueChanged (EventArgs e)
472 results.Add("OnValueChanged");
473 base.OnValueChanged (e);
476 protected override void OnPaint (PaintEventArgs e)
478 results.Add("OnPaint");
482 public ArrayList Results {
483 get { return results; }
488 public class HScrollBarTestEventsOrder
490 public string [] ArrayListToString (ArrayList arrlist)
492 string [] retval = new string [arrlist.Count];
493 for (int i = 0; i < arrlist.Count; i++)
494 retval[i] = (string)arrlist[i];
499 public void CreateEventsOrder ()
501 string[] EventsWanted = {
503 "OnBindingContextChanged",
504 "OnBindingContextChanged"
506 Form myform = new Form ();
507 myform.Visible = true;
508 MyScrollBar s = new MyScrollBar ();
509 myform.Controls.Add (s);
511 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
515 public void BackColorChangedEventsOrder ()
517 string[] EventsWanted = {
519 "OnBindingContextChanged",
520 "OnBindingContextChanged",
521 "OnBackColorChanged",
524 Form myform = new Form ();
525 myform.Visible = true;
526 MyScrollBar s = new MyScrollBar ();
527 myform.Controls.Add (s);
528 s.BackColor = Color.Aqua;
530 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
534 public void BackgroundImageChangedEventsOrder ()
536 string[] EventsWanted = {
538 "OnBindingContextChanged",
539 "OnBindingContextChanged",
540 "OnBackgroundImageChanged",
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");
549 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
552 [Test, Ignore ("Not implemented yet, needs msg")]
553 public void ClickEventsOrder ()
555 string[] EventsWanted = {
557 "OnBindingContextChanged",
558 "OnBindingContextChanged",
561 Form myform = new Form ();
562 myform.Visible = true;
563 MyScrollBar s = new MyScrollBar ();
564 myform.Controls.Add (s);
566 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
569 [Test, Ignore ("Not implemented yet, needs msg")]
570 public void DoubleClickEventsOrder ()
572 string[] EventsWanted = {
574 "OnBindingContextChanged",
575 "OnBindingContextChanged",
578 Form myform = new Form ();
579 myform.Visible = true;
580 MyScrollBar s = new MyScrollBar ();
581 myform.Controls.Add (s);
583 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
587 public void FontChangedEventsOrder ()
589 string[] EventsWanted = {
591 "OnBindingContextChanged",
592 "OnBindingContextChanged"
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;
601 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
605 public void ForeColorChangedEventsOrder ()
607 string[] EventsWanted = {
609 "OnBindingContextChanged",
610 "OnBindingContextChanged",
611 "OnForeColorChanged",
614 Form myform = new Form ();
615 myform.Visible = true;
616 MyScrollBar s = new MyScrollBar ();
617 myform.Controls.Add (s);
618 s.ForeColor = Color.Aqua;
620 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
624 public void ImeModeChangedChangedEventsOrder ()
626 string[] EventsWanted = {
628 "OnBindingContextChanged",
629 "OnBindingContextChanged",
632 Form myform = new Form ();
633 myform.Visible = true;
634 MyScrollBar s = new MyScrollBar ();
635 myform.Controls.Add (s);
636 s.ImeMode = ImeMode.Katakana;
638 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
641 [Test, Ignore ("Not implemented yet, needs msg.")]
642 public void MouseDownEventsOrder ()
644 string[] EventsWanted = {
646 "OnBindingContextChanged",
647 "OnBindingContextChanged"
649 Form myform = new Form ();
650 myform.Visible = true;
651 MyScrollBar s = new MyScrollBar ();
652 myform.Controls.Add (s);
654 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
657 [Test, Ignore ("Not implemented yet, needs msg.")]
658 public void MouseMoveEventsOrder ()
660 string[] EventsWanted = {
662 "OnBindingContextChanged",
663 "OnBindingContextChanged"
665 Form myform = new Form ();
666 myform.Visible = true;
667 MyScrollBar s = new MyScrollBar ();
668 myform.Controls.Add (s);
670 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
673 [Test, Ignore ("Not implemented yet, needs msg.")]
674 public void MouseUpEventsOrder ()
676 string[] EventsWanted = {
678 "OnBindingContextChanged",
679 "OnBindingContextChanged"
681 Form myform = new Form ();
682 myform.Visible = true;
683 MyScrollBar s = new MyScrollBar ();
684 myform.Controls.Add (s);
686 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
690 public void PaintEventsOrder ()
692 string[] EventsWanted = {
694 "OnBindingContextChanged",
695 "OnBindingContextChanged"
697 Form myform = new Form ();
698 myform.Visible = true;
699 MyScrollBar s = new MyScrollBar ();
700 myform.Controls.Add (s);
703 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
706 [Test, Ignore ("Not implemented yet, needs msg.")]
707 public void ScrollEventsOrder ()
709 string[] EventsWanted = {
711 "OnBindingContextChanged",
712 "OnBindingContextChanged"
714 Form myform = new Form ();
715 myform.Visible = true;
716 MyScrollBar s = new MyScrollBar ();
717 myform.Controls.Add (s);
719 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
723 public void TextChangedEventsOrder ()
725 string[] EventsWanted = {
727 "OnBindingContextChanged",
728 "OnBindingContextChanged",
731 Form myform = new Form ();
732 myform.Visible = true;
733 MyScrollBar s = new MyScrollBar ();
734 myform.Controls.Add (s);
737 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));
741 public void ValueChangedEventsOrder ()
743 string[] EventsWanted = {
745 "OnBindingContextChanged",
746 "OnBindingContextChanged",
749 Form myform = new Form ();
750 myform.Visible = true;
751 MyScrollBar s = new MyScrollBar ();
752 myform.Controls.Add (s);
755 Assert.AreEqual (EventsWanted, ArrayListToString (s.Results));