UpDownTest.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. //
  2. //
  3. //
  4. // Authors:
  5. // Alexander Olk ([email protected])
  6. //
  7. using System;
  8. using System.Windows.Forms;
  9. using System.Drawing;
  10. using NUnit.Framework;
  11. namespace MonoTests.System.Windows.Forms
  12. {
  13. [TestFixture]
  14. public class UpDownTest
  15. {
  16. [Test]
  17. [Category ("NotWorking")]
  18. public void UpDownBasePropTest ()
  19. {
  20. NumericUpDown n1 = new NumericUpDown ();
  21. Assert.AreEqual (BorderStyle.Fixed3D, n1.BorderStyle, "#1");
  22. Assert.AreEqual (true, n1.InterceptArrowKeys, "#2");
  23. Assert.AreEqual (LeftRightAlignment.Right, n1.UpDownAlign, "#3");
  24. Assert.AreEqual ("System.Windows.Forms.NumericUpDown, Minimum = 0, Maximum = 100", n1.ToString (), "#3a");
  25. }
  26. [Test]
  27. public void NumericUpDownStandardPropTest ()
  28. {
  29. NumericUpDown n1 = new NumericUpDown ();
  30. Assert.AreEqual (100, n1.Maximum, "#4");
  31. Assert.AreEqual (0, n1.Minimum, "#5");
  32. Assert.AreEqual (0, n1.Value, "#6");
  33. Assert.AreEqual (0, n1.DecimalPlaces, "#7");
  34. Assert.AreEqual (false, n1.Hexadecimal, "#8");
  35. Assert.AreEqual (false, n1.ThousandsSeparator, "#9");
  36. Assert.AreEqual (1, n1.Increment, "#10");
  37. }
  38. [Test]
  39. [Category ("NotWorking")]
  40. public void NumericUpDownEnhancedPropTest ()
  41. {
  42. NumericUpDown n1 = new NumericUpDown ();
  43. n1.Minimum = 200;
  44. Assert.AreEqual (200, n1.Maximum, "#11");
  45. Assert.AreEqual (200, n1.Value, "#12");
  46. n1.Minimum = 100;
  47. n1.Maximum = 50;
  48. Assert.AreEqual (50, n1.Minimum, "#13");
  49. n1.Minimum = 0;
  50. n1.Maximum = 100;
  51. n1.Value = 90;
  52. n1.Maximum = 50;
  53. Assert.AreEqual (50, n1.Value, "#14");
  54. n1.Minimum = 0;
  55. n1.Maximum = 100;
  56. n1.Value = 90;
  57. n1.DownButton ();
  58. Assert.AreEqual (89, n1.Value, "#15");
  59. n1.UpButton ();
  60. Assert.AreEqual (90, n1.Value, "#16");
  61. NumericNew nn = new NumericNew ();
  62. Assert.AreEqual (true, nn.update_edit_text_called, "#17");
  63. Assert.AreEqual (false, nn.user_edit, "#18");
  64. nn.Reset ();
  65. nn.user_edit = true;
  66. nn.Text = "10";
  67. Assert.AreEqual (true, nn.validate_edit_text_called, "#19");
  68. Assert.AreEqual (true, nn.update_edit_text_called, "#20");
  69. nn.Reset ();
  70. nn.user_edit = false;
  71. nn.Text = "11";
  72. Assert.AreEqual (true, nn.validate_edit_text_called, "#21");
  73. Assert.AreEqual (true, nn.update_edit_text_called, "#22");
  74. nn.DownButton ();
  75. Assert.AreEqual (10, nn.Value, "#23");
  76. }
  77. public class NumericNew : NumericUpDown
  78. {
  79. public bool update_edit_text_called = false;
  80. public bool validate_edit_text_called = false;
  81. public bool user_edit {
  82. get {
  83. return UserEdit;
  84. }
  85. set {
  86. UserEdit = value;
  87. }
  88. }
  89. public void Reset ()
  90. {
  91. update_edit_text_called = false;
  92. validate_edit_text_called = false;
  93. }
  94. protected override void UpdateEditText ()
  95. {
  96. update_edit_text_called = true;
  97. base.UpdateEditText ();
  98. }
  99. protected override void ValidateEditText ()
  100. {
  101. validate_edit_text_called = true;
  102. base.ValidateEditText ();
  103. }
  104. }
  105. [Test]
  106. public void DomainUpDownStandardPropTest ()
  107. {
  108. DomainUpDown d1 = new DomainUpDown ();
  109. Assert.AreEqual (0, d1.Items.Count, "#24");
  110. Assert.AreEqual (false, d1.Sorted, "#25");
  111. Assert.AreEqual (false, d1.Wrap, "#26");
  112. Assert.AreEqual ("System.Windows.Forms.DomainUpDown, Items.Count: 0, SelectedIndex: -1", d1.ToString (), "#26a");
  113. d1.Items.Add ("item1");
  114. d1.Items.Add ("item2");
  115. d1.Items.Add ("item3");
  116. d1.Items.Add ("item4");
  117. Assert.AreEqual (4, d1.Items.Count, "#27");
  118. Assert.AreEqual (-1, d1.SelectedIndex, "#28");
  119. Assert.AreEqual (null, d1.SelectedItem, "#29");
  120. }
  121. [Test]
  122. [Category ("NotWorking")]
  123. public void DomainUpDownEnhancedPropTest ()
  124. {
  125. DomainUpDown d1 = new DomainUpDown ();
  126. d1.Items.Add ("item1");
  127. d1.Items.Add ("item2");
  128. d1.Items.Add ("item3");
  129. d1.Items.Add ("item4");
  130. d1.SelectedIndex = 3;
  131. Assert.AreEqual (3, d1.SelectedIndex, "#30");
  132. d1.Items.Remove ("item1");
  133. Assert.AreEqual (3, d1.Items.Count, "#31");
  134. Assert.AreEqual (2, d1.SelectedIndex, "#32");
  135. d1.Items.Remove ("item4");
  136. Assert.AreEqual (2, d1.Items.Count, "#33");
  137. Assert.AreEqual (-1, d1.SelectedIndex, "#34");
  138. Assert.AreEqual (null, d1.SelectedItem, "#35");
  139. // strange, ArgumentOutOfRangeException on windows
  140. // d1.SelectedIndex = 1;
  141. //Assert.AreEqual (1, d1.SelectedIndex, "#36");
  142. d1.Items.Clear ();
  143. Assert.AreEqual (0, d1.Items.Count, "#37");
  144. Assert.AreEqual (-1, d1.SelectedIndex, "#38");
  145. Assert.AreEqual (null, d1.SelectedItem, "#39");
  146. d1.Items.Add ("zitem1");
  147. d1.Items.Add ("oitem2");
  148. d1.Items.Add ("mitem3");
  149. d1.Items.Add ("aitem4");
  150. d1.SelectedIndex = 0;
  151. Assert.AreEqual ("zitem1", d1.SelectedItem.ToString (), "#40");
  152. d1.Sorted = true;
  153. Assert.AreEqual ("aitem4", d1.SelectedItem.ToString (), "#41");
  154. Assert.AreEqual ("aitem4", d1.Items[0].ToString (), "#42");
  155. d1.Items.Clear ();
  156. d1.Items.Add ("item1");
  157. d1.Items.Add ("item2");
  158. d1.Items.Add ("item3");
  159. d1.Items.Add ("item4");
  160. d1.SelectedIndex = 0;
  161. d1.UpButton ();
  162. Assert.AreEqual ("item1", d1.SelectedItem.ToString (), "#43");
  163. d1.DownButton ();
  164. Assert.AreEqual ("item2", d1.SelectedItem.ToString (), "#44");
  165. d1.SelectedIndex = 0;
  166. d1.Wrap = true;
  167. d1.UpButton ();
  168. Assert.AreEqual ("item4", d1.SelectedItem.ToString (), "#45");
  169. d1.DownButton ();
  170. Assert.AreEqual ("item1", d1.SelectedItem.ToString (), "#46");
  171. d1.Text = "item3";
  172. Assert.AreEqual (null, d1.SelectedItem, "#47");
  173. }
  174. }
  175. }