2006-12-19 Daniel Nauck <dna@mono-project.de>
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / RadioButtonTest.cs
1 //
2 // RadioRadioButtonTest.cs: Test cases for RadioRadioButton.
3 //
4 // Author:
5 //   Ritvik Mayank (mritvik@novell.com)
6 //
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
8 //
9
10 using System;
11 using System.Windows.Forms;
12 using System.Drawing;
13 using NUnit.Framework;
14
15 namespace MonoTests.System.Windows.Forms
16 {
17         [TestFixture]
18         public class RadioButtonTest
19         {
20                 [Test]
21                 public void RadioButtonPropertyTest ()
22                 {
23                         RadioButton rButton1 = new RadioButton ();
24                         
25                         // A
26                         Assert.AreEqual (Appearance.Normal, rButton1.Appearance, "#A1");
27                         Assert.AreEqual (true, rButton1.AutoCheck, "#A2");
28
29                         // C
30                         Assert.AreEqual (false, rButton1.Checked, "#C1");
31                         Assert.AreEqual (ContentAlignment.MiddleLeft, rButton1.CheckAlign, "#C2");
32                                         
33                         // S
34                         Assert.AreEqual (null, rButton1.Site, "#S1");   
35
36                         // T
37                         rButton1.Text = "New RadioButton";
38                         Assert.AreEqual ("New RadioButton", rButton1.Text, "#T1");
39                         Assert.AreEqual (ContentAlignment.MiddleLeft, rButton1.TextAlign, "#T2");
40                         Assert.IsFalse (rButton1.TabStop, "#T3");
41                 }
42
43                 bool event_received = false;
44                 void rb_tabstop_changed (object sender, EventArgs e)
45                 {
46                         event_received = true;
47                 }
48
49                 [Test]
50                 public void TabStopEventTest ()
51                 {
52                         RadioButton rb = new RadioButton ();
53
54                         rb.TabStopChanged += new EventHandler (rb_tabstop_changed);
55
56                         rb.TabStop = true;
57
58                         Assert.IsTrue (event_received);
59                 }
60
61                 [Test]
62                 public void ToStringTest ()
63                 {
64                         RadioButton rButton1 = new RadioButton ();
65                         Assert.AreEqual ("System.Windows.Forms.RadioButton, Checked: False" , rButton1.ToString (), "#9");
66                 }
67         }
68         
69         [TestFixture]
70         public class RadioButtonEventTestClass
71         {
72                 static bool eventhandled = false;
73                 public static void RadioButton_EventHandler (object sender, EventArgs e)
74                 {
75                         eventhandled = true;
76                 }
77
78                 [Test]
79                 public void PanelClickTest ()
80                 {
81                         Form myForm = new Form ();
82                         myForm.ShowInTaskbar = false;
83                         RadioButton rButton1 = new RadioButton ();
84                         rButton1.Select ();
85                         rButton1.Visible = true;
86                         myForm.Controls.Add (rButton1);
87                         eventhandled = false;
88                         rButton1.Click += new EventHandler (RadioButton_EventHandler);
89                         myForm.Show ();
90                         rButton1.PerformClick ();
91                         Assert.AreEqual (true, eventhandled, "#2");
92                         myForm.Dispose ();
93                 }
94
95                 [Test]
96                 public void ApperanceChangedTest ()
97                 {
98                         Form myForm = new Form ();
99                         myForm.ShowInTaskbar = false;
100                         RadioButton rButton1 = new RadioButton ();
101                         rButton1.Select ();
102                         rButton1.Visible = true;
103                         myForm.Controls.Add (rButton1);
104                         rButton1.Appearance = Appearance.Normal;
105                         eventhandled = false;
106                         rButton1.AppearanceChanged += new EventHandler (RadioButton_EventHandler);
107                         rButton1.Appearance = Appearance.Button;
108                         Assert.AreEqual (true, eventhandled, "#2");
109                         myForm.Dispose ();
110                 }
111         
112                 [Test]
113                 public void CheckedChangedTest ()
114                 {
115                         Form myForm = new Form ();
116                         myForm.ShowInTaskbar = false;
117                         RadioButton rButton1 = new RadioButton ();
118                         rButton1.Select ();
119                         rButton1.Visible = true;
120                         myForm.Controls.Add (rButton1);
121                         rButton1.Checked = false;
122                         eventhandled = false;
123                         rButton1.CheckedChanged += new EventHandler (RadioButton_EventHandler);
124                         rButton1.Checked = true;
125                         Assert.AreEqual (true, eventhandled, "#3");
126                         myForm.Dispose ();
127                 }
128         }
129 }