SplitContainerTests.cs 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. #if NET_2_0
  2. using System;
  3. using NUnit.Framework;
  4. using System.Windows.Forms;
  5. using System.Drawing;
  6. namespace ProfessionalColorTest
  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 TestNotReleventProperties()
  32. {
  33. // (MSDN lists are the following as "This property is not relevant to this class.")
  34. SplitContainer sc = new SplitContainer ();
  35. Assert.AreEqual (false, sc.AutoScroll, "B1");
  36. sc.AutoScroll = true;
  37. Assert.AreEqual (false, sc.AutoScroll, "B1-2");
  38. Assert.AreEqual (new Size(0,0), sc.AutoScrollMargin, "B2");
  39. sc.AutoScrollMargin = new Size (100, 100);
  40. Assert.AreEqual (new Size (100,100), sc.AutoScrollMargin, "B2-2");
  41. Assert.AreEqual (new Size (0, 0), sc.AutoScrollMinSize, "B3");
  42. sc.AutoScrollMinSize = new Size (100, 100);
  43. Assert.AreEqual (new Size (100, 100), sc.AutoScrollMinSize, "B3-2");
  44. //Assert.AreEqual (new Point (0, 0), sc.AutoScrollOffset, "B4");
  45. //sc.AutoScrollOffset = new Point (100, 100);
  46. //Assert.AreEqual (new Point (100, 100), sc.AutoScrollOffset, "B4-2");
  47. Assert.AreEqual (new Point (0, 0), sc.AutoScrollPosition, "B5");
  48. sc.AutoScrollPosition = new Point (100, 100);
  49. Assert.AreEqual (new Point (0, 0), sc.AutoScrollPosition, "B5-2");
  50. Assert.AreEqual (false, sc.AutoSize, "B6");
  51. sc.AutoSize = true;
  52. Assert.AreEqual (true, sc.AutoSize, "B6-2");
  53. //Assert.AreEqual (ImageLayout.Tile, sc.BackgroundImageLayout, "B7");
  54. //sc.BackgroundImageLayout = ImageLayout.Stretch;
  55. //Assert.AreEqual (ImageLayout.Stretch, sc.BackgroundImageLayout, "B7-2");
  56. Assert.AreEqual (null, sc.BindingContext, "B8");
  57. sc.BindingContext = new BindingContext();
  58. Assert.AreEqual ("System.Windows.Forms.BindingContext", sc.BindingContext.ToString (), "B8-2");
  59. Assert.AreEqual (new Padding(0), sc.Padding, "B10");
  60. sc.Padding = new Padding (7);
  61. Assert.AreEqual (new Padding (7), sc.Padding, "B10-2");
  62. Assert.AreEqual (String.Empty, sc.Text, "B11");
  63. sc.Text = "Hello";
  64. Assert.AreEqual ("Hello", sc.Text, "B11-2");
  65. }
  66. [Test]
  67. public void TestRelevantProperties ()
  68. {
  69. SplitContainer sc = new SplitContainer ();
  70. sc.BorderStyle = BorderStyle.FixedSingle;
  71. Assert.AreEqual (BorderStyle.FixedSingle, sc.BorderStyle, "C1");
  72. sc.Dock = DockStyle.Fill;
  73. Assert.AreEqual (DockStyle.Fill, sc.Dock, "C2");
  74. sc.FixedPanel = FixedPanel.Panel1;
  75. Assert.AreEqual (FixedPanel.Panel1, sc.FixedPanel, "C3");
  76. sc.IsSplitterFixed = true;
  77. Assert.AreEqual (true, sc.IsSplitterFixed, "C4");
  78. sc.Orientation = Orientation.Horizontal;
  79. Assert.AreEqual (Orientation.Horizontal, sc.Orientation, "C5");
  80. sc.Panel1Collapsed = true;
  81. Assert.AreEqual (true, sc.Panel1Collapsed, "C6");
  82. sc.Panel1MinSize = 10;
  83. Assert.AreEqual (10, sc.Panel1MinSize, "C7");
  84. sc.Panel2Collapsed = true;
  85. Assert.AreEqual (true, sc.Panel2Collapsed, "C8");
  86. sc.Panel2MinSize = 10;
  87. Assert.AreEqual (10, sc.Panel2MinSize, "C9");
  88. sc.SplitterDistance = 77;
  89. Assert.AreEqual (77, sc.SplitterDistance, "C10");
  90. sc.SplitterIncrement = 5;
  91. Assert.AreEqual (5, sc.SplitterIncrement, "C11");
  92. sc.SplitterWidth = 10;
  93. Assert.AreEqual (10, sc.SplitterWidth, "C12");
  94. }
  95. [Test]
  96. public void TestPanelProperties ()
  97. {
  98. SplitContainer sc = new SplitContainer ();
  99. SplitterPanel p = sc.Panel1;
  100. Assert.AreEqual (AnchorStyles.Top | AnchorStyles.Left, p.Anchor, "D1");
  101. p.Anchor = AnchorStyles.None;
  102. Assert.AreEqual (AnchorStyles.None, p.Anchor, "D1-2");
  103. Assert.AreEqual (false, p.AutoSize, "D2");
  104. p.AutoSize = true;
  105. Assert.AreEqual (true, p.AutoSize, "D2-2");
  106. //Assert.AreEqual (AutoSizeMode.GrowOnly, p.AutoSizeMode, "D3");
  107. //p.AutoSizeMode = AutoSizeMode.GrowAndShrink;
  108. //Assert.AreEqual (AutoSizeMode.GrowOnly, p.AutoSizeMode, "D3-2");
  109. Assert.AreEqual (BorderStyle.None, p.BorderStyle, "D4");
  110. p.BorderStyle = BorderStyle.FixedSingle;
  111. Assert.AreEqual (BorderStyle.FixedSingle, p.BorderStyle, "D4-2");
  112. //Assert.AreEqual (DockStyle.None, p.Dock, "D5");
  113. //p.Dock = DockStyle.Left;
  114. //Assert.AreEqual (DockStyle.Left, p.Dock, "D5-2");
  115. //Assert.AreEqual (new Point(0,0), p.Location, "D7");
  116. //p.Location = new Point (10, 10);
  117. //Assert.AreEqual (new Point (0, 0), p.Location, "D7-2");
  118. Assert.AreEqual (new Size (0, 0), p.MaximumSize, "D8");
  119. p.MaximumSize = new Size (10, 10);
  120. Assert.AreEqual (new Size (10, 10), p.MaximumSize, "D8-2");
  121. Assert.AreEqual (new Size (0, 0), p.MinimumSize, "D9");
  122. p.MinimumSize = new Size (10, 10);
  123. Assert.AreEqual (new Size (10, 10), p.MinimumSize, "D9-2");
  124. Assert.AreEqual (String.Empty, p.Name, "D10");
  125. p.Name = "MyPanel";
  126. Assert.AreEqual ("MyPanel", p.Name, "D10-2");
  127. // We set a new max/min size above, so let's start over with new controls
  128. sc = new SplitContainer();
  129. p = sc.Panel1;
  130. //Assert.AreEqual (new Size (50, 100), p.Size, "D12");
  131. //p.Size = new Size (10, 10);
  132. //Assert.AreEqual (new Size (50, 100), p.Size, "D12-2");
  133. //Assert.AreEqual (0, p.TabIndex, "D13");
  134. p.TabIndex = 4;
  135. Assert.AreEqual (4, p.TabIndex, "D13-2");
  136. Assert.AreEqual (false, p.TabStop, "D14");
  137. p.TabStop = true;
  138. Assert.AreEqual (true, p.TabStop, "D14-2");
  139. Assert.AreEqual (true, p.Visible, "D15");
  140. p.Visible = false;
  141. Assert.AreEqual (false, p.Visible, "D15-2");
  142. }
  143. [Test]
  144. [ExpectedException (typeof (NotSupportedException))]
  145. public void TestPanelHeightProperty ()
  146. {
  147. SplitContainer sc = new SplitContainer ();
  148. SplitterPanel p = sc.Panel1;
  149. Assert.AreEqual (100, p.Height, "E1");
  150. p.Height = 200;
  151. }
  152. [Test]
  153. [ExpectedException (typeof (NotSupportedException))]
  154. public void TestPanelWidthProperty ()
  155. {
  156. SplitContainer sc = new SplitContainer ();
  157. SplitterPanel p = sc.Panel1;
  158. Assert.AreEqual (50, p.Width, "F1");
  159. p.Width = 200;
  160. }
  161. [Test]
  162. [ExpectedException (typeof (NotSupportedException))]
  163. public void TestPanelParentProperty ()
  164. {
  165. SplitContainer sc = new SplitContainer ();
  166. SplitContainer sc2 = new SplitContainer ();
  167. SplitterPanel p = sc.Panel1;
  168. Assert.AreEqual (sc, p.Parent, "G1");
  169. p.Parent = sc2;
  170. }
  171. [Test]
  172. public void TestSplitterPosition ()
  173. {
  174. SplitContainer sc = new SplitContainer ();
  175. Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "H1");
  176. sc.Orientation = Orientation.Horizontal;
  177. Assert.AreEqual (new Rectangle (0, 50, 150, 4), sc.SplitterRectangle, "H2");
  178. }
  179. [Test]
  180. [Ignore ("SplitContainer.FixedPanel not yet implemented")]
  181. public void TestFixedPanelNone ()
  182. {
  183. SplitContainer sc = new SplitContainer ();
  184. Assert.AreEqual (50, sc.SplitterDistance, "I1");
  185. sc.Width = 300;
  186. Assert.AreEqual (100, sc.SplitterDistance, "I2");
  187. }
  188. [Test]
  189. [Ignore ("SplitContainer.FixedPanel not yet implemented")]
  190. public void TestFixedPanel1 ()
  191. {
  192. SplitContainer sc = new SplitContainer ();
  193. sc.FixedPanel = FixedPanel.Panel1;
  194. Assert.AreEqual (50, sc.SplitterDistance, "J1");
  195. sc.Width = 300;
  196. Assert.AreEqual (50, sc.SplitterDistance, "J2");
  197. }
  198. [Test]
  199. [Ignore ("SplitContainer.FixedPanel not yet implemented")]
  200. public void TestFixedPanel2 ()
  201. {
  202. SplitContainer sc = new SplitContainer ();
  203. sc.FixedPanel = FixedPanel.Panel2;
  204. Assert.AreEqual (50, sc.SplitterDistance, "K1");
  205. sc.Width = 300;
  206. Assert.AreEqual (200, sc.SplitterDistance, "K2");
  207. }
  208. [Test]
  209. public void TestSplitterDistance ()
  210. {
  211. SplitContainer sc = new SplitContainer ();
  212. Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "L1");
  213. sc.SplitterDistance = 100;
  214. Assert.AreEqual (new Rectangle (100, 0, 4, 100), sc.SplitterRectangle, "L2");
  215. }
  216. [Test]
  217. public void TestSplitterWidth ()
  218. {
  219. SplitContainer sc = new SplitContainer ();
  220. Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "M1");
  221. sc.SplitterWidth = 10;
  222. Assert.AreEqual (new Rectangle (50, 0, 10, 100), sc.SplitterRectangle, "M2");
  223. }
  224. }
  225. }
  226. #endif