FormTest.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. //
  2. // FormTest.cs: Test cases for Form.
  3. //
  4. // Author:
  5. // Ritvik Mayank ([email protected])
  6. //
  7. // (C) 2005 Novell, Inc. (http://www.novell.com)
  8. //
  9. using System;
  10. using System.ComponentModel;
  11. using System.Windows.Forms;
  12. using System.Drawing;
  13. using System.Reflection;
  14. using NUnit.Framework;
  15. namespace MonoTests.System.Windows.Forms
  16. {
  17. [TestFixture]
  18. public class FormTest
  19. {
  20. [Test]
  21. public void FormPropertyTest ()
  22. {
  23. Form myform = new Form ();
  24. myform.Visible = true;
  25. myform.Text = "NewForm";
  26. myform.Name = "FormTest";
  27. Assert.AreEqual (null, myform.AcceptButton, "#1");
  28. //Assert.AreEqual (null, myform.ActiveMdiChild, "#2");
  29. //System.NotImplementedException for ActiveMdiChild. Feature not implemented.
  30. Assert.AreEqual (false, myform.AutoScale, "#3");
  31. Assert.AreEqual (13, myform.AutoScaleBaseSize.Height, "#4");
  32. Assert.AreEqual (5, myform.AutoScaleBaseSize.Width, "#5");
  33. Assert.AreEqual (null, myform.CancelButton, "#6");
  34. Assert.AreEqual (273, myform.ClientSize.Height, "#7");
  35. Assert.AreEqual (292, myform.ClientSize.Width, "#8");
  36. Assert.AreEqual (true, myform.ControlBox, "#9");
  37. Assert.IsTrue (myform.DesktopBounds.X > 0, "#10a");
  38. Assert.IsTrue (myform.DesktopBounds.Y > 0, "#10b");
  39. Assert.AreEqual (300, myform.DesktopBounds.Height, "#10c");
  40. Assert.AreEqual (300, myform.DesktopBounds.Width, "#10d");
  41. Assert.IsTrue (myform.DesktopLocation.X > 0, "#11a");
  42. Assert.IsTrue (myform.DesktopLocation.Y > 0, "#11b");
  43. Assert.AreEqual (DialogResult.None, myform.DialogResult, "#12");
  44. Assert.AreEqual (FormBorderStyle.Sizable, myform.FormBorderStyle, "#13");
  45. Assert.AreEqual (false, myform.HelpButton, "#14");
  46. Assert.AreEqual ("System.Drawing.Icon", myform.Icon.GetType ().ToString (), "#15");
  47. Assert.AreEqual (false, myform.IsMdiChild, "#16");
  48. Assert.AreEqual (false, myform.IsMdiContainer, "#17");
  49. Assert.AreEqual (false, myform.KeyPreview, "#18");
  50. Assert.AreEqual (true, myform.MaximizeBox, "#19");
  51. Assert.AreEqual (0, myform.MaximumSize.Height, "#20a");
  52. Assert.AreEqual (0, myform.MaximumSize.Width, "#20b");
  53. Assert.AreEqual (0, myform.MdiChildren.Length, "#21a");
  54. Assert.AreEqual (1, myform.MdiChildren.Rank, "#21b");
  55. Assert.AreEqual (false, myform.MdiChildren.IsSynchronized, "#21c");
  56. Assert.AreEqual (null, myform.MdiParent, "#22");
  57. Assert.AreEqual (null, myform.Menu, "#23");
  58. //Assert.AreEqual (null, myform.MergedMenu, "#24");
  59. //System.NotImplementedException for MergedMenu. Feature not implemented.
  60. Assert.AreEqual (true, myform.MinimizeBox, "#25");
  61. Assert.AreEqual (0, myform.MinimumSize.Height, "#26a");
  62. Assert.AreEqual (0, myform.MinimumSize.Width, "#26b");
  63. Assert.AreEqual (true, myform.MinimumSize.IsEmpty, "#26c");
  64. Assert.AreEqual (false, myform.Modal, "#27");
  65. //Assert.AreEqual (1, myform.Opacity, "#28");
  66. //System.NotImplementedException for Opacity. Feature not implemented.
  67. Assert.AreEqual (0, myform.OwnedForms.Length, "#29a");
  68. Assert.AreEqual (1, myform.OwnedForms.Rank, "#29b");
  69. Assert.AreEqual (null, myform.Owner, "#30");
  70. Assert.AreEqual (true, myform.ShowInTaskbar, "#31");
  71. Assert.AreEqual (300, myform.Size.Height, "#32a");
  72. Assert.AreEqual (300, myform.Size.Width, "#32b");
  73. Assert.AreEqual (SizeGripStyle.Auto, myform.SizeGripStyle, "#33");
  74. Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, myform.StartPosition, "#34");
  75. Assert.AreEqual (true, myform.TopLevel, "#35");
  76. Assert.AreEqual (false, myform.TopMost, "#36");
  77. Assert.AreEqual (Color.Empty, myform.TransparencyKey, "#37");
  78. Assert.AreEqual (FormWindowState.Normal, myform.WindowState, "#38");
  79. myform.Dispose ();
  80. }
  81. [Test]
  82. public void ActivateTest ()
  83. {
  84. Form myform = new Form ();
  85. myform.Visible = true;
  86. myform.Text = "NewForm";
  87. myform.Name = "FormTest";
  88. myform.Activate ();
  89. Assert.AreEqual (true, myform.Focus (), "#40");
  90. myform.Dispose ();
  91. }
  92. [Test]
  93. public void AddOwnedFormTest ()
  94. {
  95. Form parent = new Form ();
  96. parent.Text = "NewParent";
  97. Form ownedForm = new Form ();
  98. ownedForm.Text = "Owned Form";
  99. parent.AddOwnedForm (ownedForm);
  100. ownedForm.Show ();
  101. Assert.AreEqual ("NewParent", ownedForm.Owner.Text, "#41");
  102. ownedForm.Dispose ();
  103. parent.Dispose ();
  104. }
  105. [Test]
  106. public void CloseTest ()
  107. {
  108. Form myform = new Form ();
  109. myform.Visible = true;
  110. myform.Text = "NewForm";
  111. myform.Name = "FormTest";
  112. myform.Close ();
  113. Assert.IsTrue (myform.Size.Height > 0, "#42");
  114. myform.Dispose ();
  115. }
  116. [Test]
  117. [Ignore ("System.NotImplementedException. LayoutMdi not implemented")]
  118. public void LayoutMdiTest ()
  119. {
  120. Form parent = new Form ();
  121. Form child = new Form ();
  122. parent.IsMdiContainer = true;
  123. child.IsMdiContainer = false;
  124. child.MdiParent = parent;
  125. parent.LayoutMdi (MdiLayout.TileHorizontal);
  126. child.Visible = true;
  127. parent.Show ();
  128. }
  129. [Test]
  130. public void RemoveOwnedFormTest ()
  131. {
  132. Form myform = new Form ();
  133. myform.Text = "NewForm";
  134. myform.Name = "FormTest";
  135. myform.RemoveOwnedForm (myform);
  136. myform.Show ();
  137. Assert.AreEqual (null, myform.Owner, "#44");
  138. myform.Dispose ();
  139. }
  140. [Test]
  141. public void SetDesktopBoundsTest ()
  142. {
  143. Form myform = new Form ();
  144. myform.Visible = true;
  145. myform.Text = "NewForm";
  146. myform.Name = "FormTest";
  147. myform.SetDesktopBounds (10, 10, 200 , 200);
  148. Assert.AreEqual (200, myform.DesktopBounds.Height, "#45");
  149. myform.Dispose ();
  150. }
  151. [Test]
  152. public void SetDesktopLocationTest ()
  153. {
  154. Form myform = new Form ();
  155. myform.Visible = true;
  156. myform.Text = "NewForm";
  157. myform.Name = "FormTest";
  158. myform.SetDesktopLocation (10, 10);
  159. Assert.AreEqual (10, myform.DesktopLocation.X, "#46");
  160. myform.Dispose ();
  161. }
  162. [Test, Ignore ("Needs Manual Intervention")]
  163. public void ShowDialogTest ()
  164. {
  165. Form myform = new Form ();
  166. myform.Visible = false;
  167. myform.Text = "NewForm";
  168. myform.Name = "FormTest";
  169. myform.ShowDialog ();
  170. Assert.AreEqual (DialogResult.Cancel, myform.DialogResult, "#47");
  171. myform.Dispose ();
  172. }
  173. [Test]
  174. public void SetDialogResult ()
  175. {
  176. Form myform = new Form ();
  177. try {
  178. myform.DialogResult = (DialogResult) (-1);
  179. Assert.Fail ("#48");
  180. } catch (InvalidEnumArgumentException) {
  181. }
  182. try {
  183. myform.DialogResult = (DialogResult) ((int) DialogResult.No + 1);
  184. Assert.Fail ("#49");
  185. } catch (InvalidEnumArgumentException) {
  186. }
  187. myform.Dispose ();
  188. }
  189. }
  190. }