SplitContainerTests.cs 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. #if NET_2_0
  2. using System;
  3. using NUnit.Framework;
  4. using System.Windows.Forms;
  5. using System.Drawing;
  6. namespace MonoTests.System.Windows.Forms
  7. {
  8. [TestFixture]
  9. public class SplitContainerTests
  10. {
  11. [Test]
  12. public void TestSplitContainerConstruction ()
  13. {
  14. SplitContainer sc = new SplitContainer ();
  15. Assert.AreEqual (new Size (150, 100), sc.Size, "A1");
  16. Assert.AreEqual (FixedPanel.None, sc.FixedPanel, "A2");
  17. Assert.AreEqual (false, sc.IsSplitterFixed, "A3");
  18. Assert.AreEqual (Orientation.Vertical, sc.Orientation, "A4");
  19. Assert.AreEqual (false, sc.Panel1Collapsed, "A6");
  20. Assert.AreEqual (25, sc.Panel1MinSize, "A7");
  21. Assert.AreEqual (false, sc.Panel2Collapsed, "A9");
  22. Assert.AreEqual (25, sc.Panel2MinSize, "A10");
  23. Assert.AreEqual (50, sc.SplitterDistance, "A11");
  24. Assert.AreEqual (1, sc.SplitterIncrement, "A12");
  25. Assert.AreEqual (new Rectangle(50, 0, 4, 100), sc.SplitterRectangle, "A13");
  26. Assert.AreEqual (4, sc.SplitterWidth, "A14");
  27. Assert.AreEqual (BorderStyle.None, sc.BorderStyle, "A14");
  28. Assert.AreEqual (DockStyle.None, sc.Dock, "A15");
  29. }
  30. [Test]
  31. public void TestProperties ()
  32. {
  33. SplitContainer sc = new SplitContainer ();
  34. sc.BorderStyle = BorderStyle.FixedSingle;
  35. Assert.AreEqual (BorderStyle.FixedSingle, sc.BorderStyle, "C1");
  36. sc.Dock = DockStyle.Fill;
  37. Assert.AreEqual (DockStyle.Fill, sc.Dock, "C2");
  38. sc.FixedPanel = FixedPanel.Panel1;
  39. Assert.AreEqual (FixedPanel.Panel1, sc.FixedPanel, "C3");
  40. sc.IsSplitterFixed = true;
  41. Assert.AreEqual (true, sc.IsSplitterFixed, "C4");
  42. sc.Orientation = Orientation.Horizontal;
  43. Assert.AreEqual (Orientation.Horizontal, sc.Orientation, "C5");
  44. sc.Panel1Collapsed = true;
  45. Assert.AreEqual (true, sc.Panel1Collapsed, "C6");
  46. sc.Panel1MinSize = 10;
  47. Assert.AreEqual (10, sc.Panel1MinSize, "C7");
  48. sc.Panel2Collapsed = true;
  49. Assert.AreEqual (true, sc.Panel2Collapsed, "C8");
  50. sc.Panel2MinSize = 10;
  51. Assert.AreEqual (10, sc.Panel2MinSize, "C9");
  52. sc.SplitterDistance = 77;
  53. Assert.AreEqual (77, sc.SplitterDistance, "C10");
  54. sc.SplitterIncrement = 5;
  55. Assert.AreEqual (5, sc.SplitterIncrement, "C11");
  56. sc.SplitterWidth = 10;
  57. Assert.AreEqual (10, sc.SplitterWidth, "C12");
  58. }
  59. [Test]
  60. public void TestPanelProperties ()
  61. {
  62. SplitContainer sc = new SplitContainer ();
  63. SplitterPanel p = sc.Panel1;
  64. Assert.AreEqual (AnchorStyles.Top | AnchorStyles.Left, p.Anchor, "D1");
  65. p.Anchor = AnchorStyles.None;
  66. Assert.AreEqual (AnchorStyles.None, p.Anchor, "D1-2");
  67. Assert.AreEqual (false, p.AutoSize, "D2");
  68. p.AutoSize = true;
  69. Assert.AreEqual (true, p.AutoSize, "D2-2");
  70. //Assert.AreEqual (AutoSizeMode.GrowOnly, p.AutoSizeMode, "D3");
  71. //p.AutoSizeMode = AutoSizeMode.GrowAndShrink;
  72. //Assert.AreEqual (AutoSizeMode.GrowOnly, p.AutoSizeMode, "D3-2");
  73. Assert.AreEqual (BorderStyle.None, p.BorderStyle, "D4");
  74. p.BorderStyle = BorderStyle.FixedSingle;
  75. Assert.AreEqual (BorderStyle.FixedSingle, p.BorderStyle, "D4-2");
  76. //Assert.AreEqual (DockStyle.None, p.Dock, "D5");
  77. //p.Dock = DockStyle.Left;
  78. //Assert.AreEqual (DockStyle.Left, p.Dock, "D5-2");
  79. //Assert.AreEqual (new Point(0,0), p.Location, "D7");
  80. //p.Location = new Point (10, 10);
  81. //Assert.AreEqual (new Point (0, 0), p.Location, "D7-2");
  82. Assert.AreEqual (new Size (0, 0), p.MaximumSize, "D8");
  83. p.MaximumSize = new Size (10, 10);
  84. Assert.AreEqual (new Size (10, 10), p.MaximumSize, "D8-2");
  85. Assert.AreEqual (new Size (0, 0), p.MinimumSize, "D9");
  86. p.MinimumSize = new Size (10, 10);
  87. Assert.AreEqual (new Size (10, 10), p.MinimumSize, "D9-2");
  88. Assert.AreEqual (String.Empty, p.Name, "D10");
  89. p.Name = "MyPanel";
  90. Assert.AreEqual ("MyPanel", p.Name, "D10-2");
  91. // We set a new max/min size above, so let's start over with new controls
  92. sc = new SplitContainer();
  93. p = sc.Panel1;
  94. //Assert.AreEqual (new Size (50, 100), p.Size, "D12");
  95. //p.Size = new Size (10, 10);
  96. //Assert.AreEqual (new Size (50, 100), p.Size, "D12-2");
  97. //Assert.AreEqual (0, p.TabIndex, "D13");
  98. p.TabIndex = 4;
  99. Assert.AreEqual (4, p.TabIndex, "D13-2");
  100. Assert.AreEqual (false, p.TabStop, "D14");
  101. p.TabStop = true;
  102. Assert.AreEqual (true, p.TabStop, "D14-2");
  103. Assert.AreEqual (true, p.Visible, "D15");
  104. p.Visible = false;
  105. Assert.AreEqual (false, p.Visible, "D15-2");
  106. }
  107. [Test]
  108. [ExpectedException (typeof (NotSupportedException))]
  109. public void TestPanelHeightProperty ()
  110. {
  111. SplitContainer sc = new SplitContainer ();
  112. SplitterPanel p = sc.Panel1;
  113. Assert.AreEqual (100, p.Height, "E1");
  114. p.Height = 200;
  115. }
  116. [Test]
  117. [ExpectedException (typeof (NotSupportedException))]
  118. public void TestPanelWidthProperty ()
  119. {
  120. SplitContainer sc = new SplitContainer ();
  121. SplitterPanel p = sc.Panel1;
  122. Assert.AreEqual (50, p.Width, "F1");
  123. p.Width = 200;
  124. }
  125. [Test]
  126. [ExpectedException (typeof (NotSupportedException))]
  127. public void TestPanelParentProperty ()
  128. {
  129. SplitContainer sc = new SplitContainer ();
  130. SplitContainer sc2 = new SplitContainer ();
  131. SplitterPanel p = sc.Panel1;
  132. Assert.AreEqual (sc, p.Parent, "G1");
  133. p.Parent = sc2;
  134. }
  135. [Test]
  136. public void TestSplitterPosition ()
  137. {
  138. SplitContainer sc = new SplitContainer ();
  139. Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "H1");
  140. sc.Orientation = Orientation.Horizontal;
  141. Assert.AreEqual (new Rectangle (0, 50, 150, 4), sc.SplitterRectangle, "H2");
  142. }
  143. [Test]
  144. [Ignore ("SplitContainer.FixedPanel not yet implemented")]
  145. public void TestFixedPanelNone ()
  146. {
  147. SplitContainer sc = new SplitContainer ();
  148. Assert.AreEqual (50, sc.SplitterDistance, "I1");
  149. sc.Width = 300;
  150. Assert.AreEqual (100, sc.SplitterDistance, "I2");
  151. }
  152. [Test]
  153. [Ignore ("SplitContainer.FixedPanel not yet implemented")]
  154. public void TestFixedPanel1 ()
  155. {
  156. SplitContainer sc = new SplitContainer ();
  157. sc.FixedPanel = FixedPanel.Panel1;
  158. Assert.AreEqual (50, sc.SplitterDistance, "J1");
  159. sc.Width = 300;
  160. Assert.AreEqual (50, sc.SplitterDistance, "J2");
  161. }
  162. [Test]
  163. [Ignore ("SplitContainer.FixedPanel not yet implemented")]
  164. public void TestFixedPanel2 ()
  165. {
  166. SplitContainer sc = new SplitContainer ();
  167. sc.FixedPanel = FixedPanel.Panel2;
  168. Assert.AreEqual (50, sc.SplitterDistance, "K1");
  169. sc.Width = 300;
  170. Assert.AreEqual (200, sc.SplitterDistance, "K2");
  171. }
  172. [Test]
  173. public void TestSplitterDistance ()
  174. {
  175. SplitContainer sc = new SplitContainer ();
  176. Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "L1");
  177. sc.SplitterDistance = 100;
  178. Assert.AreEqual (new Rectangle (100, 0, 4, 100), sc.SplitterRectangle, "L2");
  179. }
  180. [Test]
  181. public void TestSplitterWidth ()
  182. {
  183. SplitContainer sc = new SplitContainer ();
  184. Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "M1");
  185. sc.SplitterWidth = 10;
  186. Assert.AreEqual (new Rectangle (50, 0, 10, 100), sc.SplitterRectangle, "M2");
  187. }
  188. }
  189. }
  190. #endif