2010-03-12 Jb Evain <jbevain@novell.com>
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / NumericUpDownTest.cs
index e2b3c2d7a2dcf3926e72d45b5c9d0ee4c2021d15..21cbed52da7418308426f27b24a5b436ab2f9697 100644 (file)
@@ -2,9 +2,11 @@
 using System;\r
 using System.ComponentModel;\r
 using System.Drawing;\r
+using System.Globalization;\r
 using System.Reflection;\r
 using System.Windows.Forms;\r
 using System.Collections;\r
+using Threading = System.Threading;\r
 \r
 using NUnit.Framework;\r
 \r
@@ -13,7 +15,7 @@ using CategoryAttribute = NUnit.Framework.CategoryAttribute;
 namespace MonoTests.System.Windows.Forms\r
 {\r
        [TestFixture]\r
-       public class NumericUpDownTest\r
+       public class NumericUpDownTest : TestHelper\r
        {\r
                [Test]\r
                public void DefaultValues ()\r
@@ -43,5 +45,114 @@ namespace MonoTests.System.Windows.Forms
                        Assert.AreEqual (10, numericUpDown1.Accelerations[3].Seconds, "#A4");\r
                }\r
 #endif\r
+               [Test]\r
+               public void Minimum ()\r
+               {\r
+                       Form f = new Form ();\r
+                       NumericUpDown nud = new NumericUpDown ();\r
+                       nud.Value = 0;\r
+                       nud.Minimum = 2;\r
+                       nud.Maximum = 4;\r
+                       f.Controls.Add (nud);\r
+                       f.Show ();\r
+\r
+                       Assert.AreEqual (2, nud.Value, "#A1");\r
+                       nud.Minimum = 3;\r
+                       Assert.AreEqual (3, nud.Value, "#A2");\r
+                       f.Dispose ();\r
+               }\r
+\r
+               [Test]\r
+               public void Maximum ()\r
+               {\r
+                       Form f = new Form ();\r
+                       NumericUpDown nud = new NumericUpDown ();\r
+                       nud.BeginInit ();\r
+                       nud.Value = 1000;\r
+                       nud.Minimum = 2;\r
+                       nud.Maximum = 4;\r
+                       nud.EndInit ();\r
+                       f.Controls.Add (nud);\r
+                       f.Show ();\r
+\r
+                       Assert.AreEqual (4, nud.Value, "#A1");\r
+                       nud.Maximum = 3;\r
+                       Assert.AreEqual (3, nud.Value, "#A2");\r
+                       f.Dispose ();\r
+               }\r
+\r
+               [Test]\r
+               public void Hexadecimal ()\r
+               {\r
+                       Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");\r
+                       Form f = new Form ();\r
+                       NumericUpDown nud = new NumericUpDown ();\r
+                       nud.Maximum = 100000;\r
+                       f.Controls.Add (nud);\r
+                       f.Show ();\r
+\r
+                       nud.Value = 56789;\r
+                       nud.Hexadecimal = true;\r
+                       Assert.AreEqual ("DDD5", nud.Text, "#A1");\r
+                       Assert.AreEqual (56789, nud.Value, "#A2");\r
+                       f.Dispose ();\r
+               }\r
+\r
+               [Test]\r
+               public void ThousandsSeparator ()\r
+               {\r
+                       Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");\r
+                       Form f = new Form ();\r
+                       NumericUpDown nud = new NumericUpDown ();\r
+                       nud.Maximum = 100000;\r
+                       f.Controls.Add (nud);\r
+                       f.Show ();\r
+\r
+                       nud.Value = 12345;\r
+                       nud.ThousandsSeparator = true;\r
+                       Assert.AreEqual ("12,345", nud.Text, "#A1");\r
+                       Assert.AreEqual (12345, nud.Value, "#A2");\r
+                       f.Dispose ();\r
+               }\r
+\r
+               [Test]\r
+               public void Height ()\r
+               {\r
+                       NumericUpDown nud = new NumericUpDown ();\r
+                       Assert.AreEqual (20, nud.PreferredHeight, "#1");\r
+                       nud.Height = 9999;\r
+                       Assert.AreEqual (nud.PreferredHeight, nud.Height, "#2");\r
+               }\r
+\r
+               [Test]\r
+#if NET_2_0\r
+               [ExpectedException (typeof (ArgumentOutOfRangeException))]\r
+#else\r
+               [ExpectedException (typeof (ArgumentException))]\r
+#endif\r
+               public void SetValueThrowsException ()\r
+               {\r
+                       NumericUpDown nud = new NumericUpDown ();\r
+                       nud.Maximum = 3;\r
+                       nud.Value = 4;\r
+                       nud.Dispose ();\r
+               }\r
+\r
+               [Test]\r
+#if NET_2_0\r
+               [ExpectedException (typeof (ArgumentOutOfRangeException))]\r
+#else\r
+               [ExpectedException (typeof (ArgumentException))]\r
+#endif\r
+               public void InitTest ()\r
+               {\r
+                       NumericUpDown nud = new NumericUpDown ();\r
+                       nud.BeginInit ();\r
+                       nud.Maximum = 3;\r
+                       nud.BeginInit ();\r
+                       nud.EndInit ();\r
+                       nud.Value = 4;\r
+                       nud.Dispose ();\r
+               }\r
        }\r
 }\r