added test cases for ImageList, RadioButton, ScrollBar and StatusBar
authorRitvik Mayank <mritvik@mono-cvs.ximian.com>
Tue, 16 Aug 2005 08:10:02 +0000 (08:10 -0000)
committerRitvik Mayank <mritvik@mono-cvs.ximian.com>
Tue, 16 Aug 2005 08:10:02 +0000 (08:10 -0000)
svn path=/trunk/mcs/; revision=48414

mcs/class/Managed.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms_test.dll.sources
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ImageListTest.cs
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RadioButtonTest.cs [new file with mode: 0644]
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ScrollBarTest.cs [new file with mode: 0644]
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/StatusBarTest.cs [new file with mode: 0644]

index 4e62cf2c374dfa625b5c5db2ce4ed84dc22c23ce..aab9dbc5ffc431371d0049d14c116856278cfcca 100644 (file)
@@ -1,3 +1,8 @@
+2005-08-16  Ritvik Mayank  <mritvik@novell.com>
+       
+       * System.Windows.Forms_test.dll.sources : added ImageListTest.cs,
+         RadioButtonTest.cs, ScrollBarTest.cs and StatusBarTest.cs . 
+         
 2005-08-06  Ritvik Mayank  <mritvik@novell.com>
        
        * System.Windows.Forms_test.dll.sources : sorted and removed test-cases for Form
index b24ad3e783ad480d97367a5fe6da9efc87a012bc..9c9346c4a1a19ea54894d371a0a2a0f1f9ec4ee0 100644 (file)
@@ -19,6 +19,9 @@ System.Windows.Forms/ListBoxTest.cs
 System.Windows.Forms/ListViewEventTest.cs
 System.Windows.Forms/ListViewTest.cs
 System.Windows.Forms/MenuTest.cs
+System.Windows.Forms/RadioButtonTest.cs
+System.Windows.Forms/ScrollBarTest.cs
+System.Windows.Forms/StatusBarTest.cs
 System.Windows.Forms/TestImageIndexConverter.cs
 System.Windows.Forms/TreeNodeTest.cs
 System.Windows.Forms/TreeViewTest.cs
index 8c96ab07c54d3e3789965b1493730ff84f83e3b7..d5d44d7d27eb117b3205870a568e03196d545c4c 100644 (file)
@@ -1,3 +1,10 @@
+2005-08-16  Ritvik Mayank  <mritvik@novell.com>
+
+       * ImageListTest.cs   : Test case for ImageList
+       * RadioButtonTest.cs : Test case for RadioButton
+       * ScrollBarTest.cs   : Test case for ScrollBar
+       * StatusBatTest.cs   : Test case for StatusBar
+
 2005-08-10  Ritvik Mayank  <mritvik@novell.com>
 
        * ControlTest.cs : Commented out test for GetChildAtPointSkip (feature not
index d3a72696221c1d34a9f4db205620996e96c64929..1f9d739e8ba9e496283212eaa6a3361236da99d5 100644 (file)
@@ -12,9 +12,12 @@ using System.Windows.Forms;
 using System.Drawing;
 using System.Reflection;
 using NUnit.Framework;
+using System.Threading;
+
 
 namespace MonoTests.System.Windows.Forms
 {
+
        [TestFixture]
        public class ImageListTest
        {
@@ -23,20 +26,68 @@ namespace MonoTests.System.Windows.Forms
                {
                        Form myform = new Form ();
                        ImageList myimagelist = new ImageList ();
-                       Assert.AreEqual (ColorDepth.Depth8Bit, myimagelist.ColorDepth, "#1");
+
+                       // C
+                       Assert.AreEqual (ColorDepth.Depth8Bit, myimagelist.ColorDepth, "#C1");
                        myimagelist.ColorDepth = ColorDepth.Depth32Bit;
-                       Assert.AreEqual (false, myimagelist.HandleCreated, "#2");
+                       Assert.AreEqual (ColorDepth.Depth32Bit, myimagelist.ColorDepth, "#C2");
+                       Assert.AreEqual (0, myimagelist.Images.Count, "#C3");
+                       // H
+                       Assert.AreEqual (false, myimagelist.HandleCreated, "#H1");
                        myimagelist.Handle.ToInt32 ();
-                       Assert.AreEqual (true, myimagelist.HandleCreated, "#3");
-                       Assert.AreEqual (ColorDepth.Depth32Bit, myimagelist.ColorDepth, "#4");
-                       Assert.AreEqual ("System.IntPtr", myimagelist.Handle.GetType ().FullName, "#5");
-                       Assert.AreEqual (0, myimagelist.Images.Count, "#6");
+                       Assert.AreEqual (true, myimagelist.HandleCreated, "#H2");
+                       Assert.AreEqual ("System.IntPtr", myimagelist.Handle.GetType ().FullName, "#H3");
+               
+                       // I
                        Image myImage = Image.FromFile("M.gif");
                        myimagelist.Images.Add (myImage);
-                       Assert.AreEqual (1, myimagelist.Images.Count, "#7");
-                       Assert.AreEqual (16, myimagelist.ImageSize.Height, "#8");
-                       Assert.AreEqual (16, myimagelist.ImageSize.Width, "#9");
-                       Assert.AreEqual (Color.Transparent, myimagelist.TransparentColor, "#10");
+                       Assert.AreEqual (1, myimagelist.Images.Count, "#I1");
+                       Assert.AreEqual (16, myimagelist.ImageSize.Height, "#I2");
+                       Assert.AreEqual (16, myimagelist.ImageSize.Width, "#I3");
+                       // [MonoTODO ("Add test for ImageStream")]
+                       // [MonoTODO ("Test for Draw Method (visual test)")]
+                                               
+                       // T
+                       Assert.AreEqual (Color.Transparent, myimagelist.TransparentColor, "#T1");
+               }
+               
+               [Test]
+               public void ToStringMethodTest () 
+               {
+                       ImageList myimagelist = new ImageList ();
+                       Assert.AreEqual ("System.Windows.Forms.ImageList Images.Count: 0, ImageSize: {Width=16, Height=16}",                                          myimagelist.ToString (), "#T3");
+               }
+               
+               [TestFixture]
+                       public class ImageListRecreateHandleEventClass
+               {
+                       static bool eventhandled = false;
+                       public static void RecreateHandle_EventHandler (object sender, EventArgs e)
+                       {
+                               eventhandled = true;
+                       }
+
+                       [Test]
+                       public void RecreateHandleEvenTest ()
+                       {
+                               Form myform = new Form ();
+                               Graphics mygraphics = null;
+                               ImageList myimagelist = new ImageList ();
+                               Image myImage = Image.FromFile("M.gif");
+                               myimagelist.Images.Add (myImage);
+                               myimagelist.ColorDepth = ColorDepth.Depth8Bit;
+                               myimagelist.ImageSize = new Size (50,50);
+                               myimagelist.RecreateHandle += new EventHandler (RecreateHandle_EventHandler);
+                               mygraphics = Graphics.FromHwnd(myform.Handle);
+                               myimagelist.Draw(mygraphics, new Point(5, 5), 0);
+                               myimagelist.ImageSize = new Size (100,100);
+                               Assert.AreEqual (true, eventhandled, "#1");
+                               eventhandled = false;
+                               myimagelist.Images.Add (myImage);
+                               myimagelist.ColorDepth = ColorDepth.Depth32Bit;
+                               Assert.AreEqual (true, eventhandled, "#2");
+                       }
+
                }
        }
-}
+}
\ No newline at end of file
diff --git a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RadioButtonTest.cs b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RadioButtonTest.cs
new file mode 100644 (file)
index 0000000..b16dcc7
--- /dev/null
@@ -0,0 +1,104 @@
+//
+// RadioRadioButtonTest.cs: Test cases for RadioRadioButton.
+//
+// Author:
+//   Ritvik Mayank (mritvik@novell.com)
+//
+// (C) 2005 Novell, Inc. (http://www.novell.com)
+//
+
+using System;
+using System.Windows.Forms;
+using System.Drawing;
+using NUnit.Framework;
+
+namespace MonoTests.System.Windows.Forms
+{
+       [TestFixture]
+       public class RadioButtonTest
+       {
+               [Test]
+               public void RadioButtonPropertyTest ()
+               {
+                       RadioButton rButton1 = new RadioButton ();
+                       
+                       // A
+                       Assert.AreEqual (Appearance.Normal, rButton1.Appearance, "#A1");
+                       Assert.AreEqual (true, rButton1.AutoCheck, "#A2");
+
+                       // C
+                       Assert.AreEqual (false, rButton1.Checked, "#C1");
+                       Assert.AreEqual (ContentAlignment.MiddleLeft, rButton1.CheckAlign, "#C2");
+                                       
+                       // S
+                       Assert.AreEqual (null, rButton1.Site, "#S1");   
+
+                       // T
+                       rButton1.Text = "New RadioButton";
+                       Assert.AreEqual ("New RadioButton", rButton1.Text, "#T1");
+                       Assert.AreEqual (ContentAlignment.MiddleLeft, rButton1.TextAlign, "#T2");
+               }
+
+               [Test]
+               public void ToStringTest ()
+               {
+                       RadioButton rButton1 = new RadioButton ();
+                       Assert.AreEqual ("System.Windows.Forms.RadioButton, Checked: False" , rButton1.ToString (), "#9");
+               }
+       }
+       
+       [TestFixture]
+       public class RadioButtonEventTestClass
+       {
+               static bool eventhandled = false;
+               public static void RadioButton_EventHandler (object sender, EventArgs e)
+               {
+                       eventhandled = true;
+               }
+
+               [Test]
+               public void PanelClickTest ()
+               {
+                       Form myForm = new Form ();
+                       RadioButton rButton1 = new RadioButton ();
+                       rButton1.Select ();
+                       rButton1.Visible = true;
+                       myForm.Controls.Add (rButton1);
+                       eventhandled = false;
+                       rButton1.Click += new EventHandler (RadioButton_EventHandler);
+                       myForm.Show ();
+                       rButton1.PerformClick ();
+                       Assert.AreEqual (true, eventhandled, "#2");
+               }
+
+               [Test]
+               public void ApperanceChangedTest ()
+               {
+                       Form myForm = new Form ();
+                       RadioButton rButton1 = new RadioButton ();
+                       rButton1.Select ();
+                       rButton1.Visible = true;
+                       myForm.Controls.Add (rButton1);
+                       rButton1.Appearance = Appearance.Normal;
+                       eventhandled = false;
+                       rButton1.AppearanceChanged += new EventHandler (RadioButton_EventHandler);
+                       rButton1.Appearance = Appearance.Button;
+                       Assert.AreEqual (true, eventhandled, "#2");
+               }
+       
+               [Test]
+               public void CheckedChangedTest ()
+               {
+                       Form myForm = new Form ();
+                       RadioButton rButton1 = new RadioButton ();
+                       rButton1.Select ();
+                       rButton1.Visible = true;
+                       myForm.Controls.Add (rButton1);
+                       rButton1.Checked = false;
+                       eventhandled = false;
+                       rButton1.CheckedChanged += new EventHandler (RadioButton_EventHandler);
+                       rButton1.Checked = true;
+                       Assert.AreEqual (true, eventhandled, "#3");
+               }
+       }
+}
diff --git a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ScrollBarTest.cs b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ScrollBarTest.cs
new file mode 100644 (file)
index 0000000..8cc2eac
--- /dev/null
@@ -0,0 +1,110 @@
+//
+// ScrollBarTest.cs: Test cases for ScrollBar.
+//
+// Author:
+//   Ritvik Mayank (mritvik@novell.com)
+//
+// (C) 2005 Novell, Inc. (http://www.novell.com)
+//
+
+
+using System;
+using NUnit.Framework;
+using System.Windows.Forms;
+using System.Drawing;
+using System.Runtime.Remoting;
+
+namespace MonoTests.System.Windows.Forms
+{
+       [TestFixture]
+       public class ScrollBarTest 
+       {
+
+               [Test]
+               public void ScrollBarPropertyTest ()
+               {       
+                       Form myform = new Form ();
+                       ScrollBar myscrlbar = new HScrollBar (); // Could be checked for VScrollBar as well 
+                               
+                       // B
+                       Assert.AreEqual ("Control", myscrlbar.BackColor.Name, "#B1");
+                       myscrlbar.BackColor = Color.Red;
+                       Assert.AreEqual (255, myscrlbar.BackColor.R, "#B2");
+                       myscrlbar.BackgroundImage = Image.FromFile ("M.gif");
+                       Assert.AreEqual (60, myscrlbar.BackgroundImage.Height, "#B3");
+
+                       // F
+                       Assert.AreEqual ("ControlText", myscrlbar.ForeColor.Name, "#F1");
+       
+                       // I 
+                       Assert.AreEqual (ImeMode.Disable, myscrlbar.ImeMode, "#I1");
+                       
+                       // L
+                       Assert.AreEqual (10, myscrlbar.LargeChange, "#L1");
+                       
+                       // M
+                       Assert.AreEqual (100, myscrlbar.Maximum, "#M1");
+                       Assert.AreEqual (0, myscrlbar.Minimum, "#M2");
+
+                       // S
+                       Assert.AreEqual (null, myscrlbar.Site, "#S1");
+                       Assert.AreEqual (1, myscrlbar.SmallChange, "#S2");
+                       
+                       // T
+                       Assert.AreEqual ("", myscrlbar.Text, "#T1");
+                       myscrlbar.Text = "MONO SCROLLBAR";
+                       Assert.AreEqual ("MONO SCROLLBAR", myscrlbar.Text, "#T2");
+
+                       // V
+                       Assert.AreEqual (0, myscrlbar.Value, "#V1");
+               }
+
+               [Test]
+               [ExpectedException (typeof (ArgumentException))]
+               public void ExceptionChangeTest ()
+               {
+                       ScrollBar myHscrlbar = new HScrollBar ();
+                       myHscrlbar.LargeChange = -1; // LargeChange must be greater than 0
+                       myHscrlbar.SmallChange = -1; // SmallChange must be greater than 0      
+               }
+               
+               [Test]
+               [ExpectedException (typeof (ArgumentException))]
+               public void ExceptionValTest ()
+               {
+                       ScrollBar myHscrlbar1 = new HScrollBar ();
+                       ScrollBar myHscrlbar2 = new HScrollBar ();
+                       myHscrlbar1.Value = -1 ;
+                       myHscrlbar2.Value = 101 ;
+               }
+               
+               [Test]
+               public void ToStringMethodTest () 
+               {
+                       ScrollBar myHscrlbar = new HScrollBar ();
+                       myHscrlbar.Text = "New HScrollBar";
+                       Assert.AreEqual ("System.Windows.Forms.HScrollBar, Minimum: 0, Maximum: 100, Value: 0",
+                                        myHscrlbar.ToString (), "#T3");
+               }
+       }
+       
+       [TestFixture]
+       public class ScrollBarValueChangedEventClass
+       {
+               static bool eventhandled = false;
+               public static void ValueChange_EventHandler (object sender, EventArgs e)
+               {
+                       eventhandled = true;
+               }
+
+               [Test]
+               public void ValueChangeEventTest ()
+               {
+                       ScrollBar myHscrlbar = new HScrollBar ();
+                       myHscrlbar.Value = 40 ;
+                       myHscrlbar.ValueChanged += new EventHandler (ValueChange_EventHandler);
+                       myHscrlbar.Value = 50 ;
+                       Assert.AreEqual (true, eventhandled, "#1");
+               }
+       }       
+}
diff --git a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/StatusBarTest.cs b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/StatusBarTest.cs
new file mode 100644 (file)
index 0000000..2a3555f
--- /dev/null
@@ -0,0 +1,74 @@
+//
+// StatusBarTest.cs: Test cases for StatusBar.
+//
+// Author:
+//   Ritvik Mayank (mritvik@novell.com)
+//
+// (C) 2005 Novell, Inc. (http://www.novell.com)
+//
+
+using System;
+using NUnit.Framework;
+using System.Windows.Forms;
+using System.Drawing;
+using System.Runtime.Remoting;
+
+namespace MonoTests.System.Windows.Forms
+{
+       [TestFixture]
+       public class StatusBarTest 
+       {
+
+               [Test]
+               public void StatusBarPropertyTest ()
+               {       
+                       Form myform = new Form ();
+                       StatusBar mysbar = new StatusBar ();
+                       StatusBarPanel sbarpanel1 = new StatusBarPanel ();
+                       StatusBarPanel sbarpanel2 = new StatusBarPanel ();
+                       sbarpanel1.Text = "Status Quo";
+                       sbarpanel2.Text = "State 2";
+                       mysbar.Panels.Add (sbarpanel1);
+                       mysbar.Panels.Add (sbarpanel2);
+                       myform.Controls.Add (mysbar);
+                       
+                       // B
+                       Assert.AreEqual ("Control", mysbar.BackColor.Name, "#B1");
+                       mysbar.BackColor = Color.Red;
+                       Assert.AreEqual (212, mysbar.BackColor.R, "#B2");
+                       mysbar.BackgroundImage = Image.FromFile ("M.gif");
+                       Assert.AreEqual (60, mysbar.BackgroundImage.Height, "#B3");
+
+                       // D
+                       Assert.AreEqual (DockStyle.Bottom, mysbar.Dock, "#D1");
+
+                       // F
+                       Assert.AreEqual (8.25, mysbar.Font.Size, "#F1");
+                       Assert.AreEqual ("ControlText", mysbar.ForeColor.Name, "#F2");
+       
+                       // P
+                       Assert.AreEqual (sbarpanel1.Text, mysbar.Panels [0].Text , "#P1");
+                       
+                       // S
+                       Assert.AreEqual (false, mysbar.ShowPanels, "#S1");
+                       Assert.AreEqual (true, mysbar.SizingGrip, "#S2");
+                       Assert.AreEqual (null, mysbar.Site, "#S3");
+
+                       // T
+                       Assert.AreEqual ("", mysbar.Text, "#T1");
+                       mysbar.Text = "MONO STATUSBAR";
+                       Assert.AreEqual ("MONO STATUSBAR", mysbar.Text, "#T2");
+
+               }
+               
+               [Test]
+               public void ToStringMethodTest () 
+               {
+                       StatusBar mysbar = new StatusBar ();
+                       mysbar.Text = "New StatusBar";
+                       Assert.AreEqual ("System.Windows.Forms.StatusBar, Panels.Count: 0", mysbar.ToString (), "#T3");
+               }
+               //[MonoTODO ("Test case for DrawItem")] 
+               //[MonoTODO ("Test case for PanelClick")]       
+       }
+}