2009-01-05 Carlos Alberto Cortez <calberto.cortez@gmail.com>
authorCarlos Alberto Cortez <calberto.cortez@gmail.com>
Tue, 6 Jan 2009 08:42:08 +0000 (08:42 -0000)
committerCarlos Alberto Cortez <calberto.cortez@gmail.com>
Tue, 6 Jan 2009 08:42:08 +0000 (08:42 -0000)
* RadioButtonTest.cs: New test for Checked property. Also reset
'event_called' field to keep sanity for other tests.

svn path=/trunk/mcs/; revision=122523

mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RadioButtonTest.cs

index c42b06ccba6387b798815f15dc9bee710a1d0eb7..7bde8598ab8974d17fde7fd1358648dbe4856f81 100644 (file)
@@ -1,3 +1,8 @@
+2009-01-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RadioButtonTest.cs: New test for Checked property. Also reset
+       'event_called' field to keep sanity for other tests.
+
 2008-12-31  Ivan N. Zlatev  <contact@i-nz.net>
 
        * DataGridViewTest.cs: Add a test for bug #457305.
index 6f92785db4f0cc1b2bf4cf914247ee0eddcf0cb1..3bc7b4228899076b4f604ffcc272f9eb52a1de32 100644 (file)
@@ -40,18 +40,60 @@ namespace MonoTests.System.Windows.Forms
                        Assert.IsFalse (rButton1.TabStop, "#T3");
                }
 
+               [Test]
+               public void CheckedTest ()
+               {
+                       RadioButton rb = new RadioButton ();
+
+                       Assert.AreEqual (false, rb.TabStop, "#A1");
+                       Assert.AreEqual (false, rb.Checked, "#A2");
+
+                       rb.Checked = true;
+
+                       Assert.AreEqual (true, rb.TabStop, "#B1");
+                       Assert.AreEqual (true, rb.Checked, "#B2");
+
+                       rb.Checked = false;
+
+                       Assert.AreEqual (false, rb.TabStop, "#C1");
+                       Assert.AreEqual (false, rb.Checked, "#C2");
+
+                       // RadioButton is NOT checked, but since it is the only
+                       // RadioButton instance in Form, when it gets selected (Form.Show)
+                       // it should acquire the focus
+                       Form f = new Form ();
+                       f.Controls.Add (rb);
+                       rb.CheckedChanged += new EventHandler (rb_checked_changed);
+                       event_received = false;
+
+                       f.ActiveControl = rb;
+                       f.Show ();
+
+                       Assert.AreEqual (true, event_received, "#D1");
+                       Assert.AreEqual (true, rb.Checked, "#D2");
+                       Assert.AreEqual (true, rb.TabStop, "#D3");
+
+                       f.Dispose ();
+               }
+
                bool event_received = false;
                void rb_tabstop_changed (object sender, EventArgs e)
                {
                        event_received = true;
                }
 
+               void rb_checked_changed (object sender, EventArgs e)
+               {
+                       event_received = true;
+               }
+
                [Test]
                public void TabStopEventTest ()
                {
                        RadioButton rb = new RadioButton ();
 
                        rb.TabStopChanged += new EventHandler (rb_tabstop_changed);
+                       event_received = false;
 
                        rb.TabStop = true;