3 using NUnit.Framework;
\r
4 using System.Windows.Forms;
\r
5 using System.Drawing;
\r
7 namespace ProfessionalColorTest
\r
10 public class SplitContainerTests
\r
13 public void TestSplitContainerConstruction ()
\r
15 SplitContainer sc = new SplitContainer ();
\r
17 Assert.AreEqual (new Size (150, 100), sc.Size, "A1");
\r
18 Assert.AreEqual (FixedPanel.None, sc.FixedPanel, "A2");
\r
19 Assert.AreEqual (false, sc.IsSplitterFixed, "A3");
\r
20 Assert.AreEqual (Orientation.Vertical, sc.Orientation, "A4");
\r
21 Assert.AreEqual (false, sc.Panel1Collapsed, "A6");
\r
22 Assert.AreEqual (25, sc.Panel1MinSize, "A7");
\r
23 Assert.AreEqual (false, sc.Panel2Collapsed, "A9");
\r
24 Assert.AreEqual (25, sc.Panel2MinSize, "A10");
\r
25 Assert.AreEqual (50, sc.SplitterDistance, "A11");
\r
26 Assert.AreEqual (1, sc.SplitterIncrement, "A12");
\r
27 Assert.AreEqual (new Rectangle(50, 0, 4, 100), sc.SplitterRectangle, "A13");
\r
28 Assert.AreEqual (4, sc.SplitterWidth, "A14");
\r
29 Assert.AreEqual (BorderStyle.None, sc.BorderStyle, "A14");
\r
30 Assert.AreEqual (DockStyle.None, sc.Dock, "A15");
\r
34 public void TestNotReleventProperties()
\r
36 // (MSDN lists are the following as "This property is not relevant to this class.")
\r
37 SplitContainer sc = new SplitContainer ();
\r
39 Assert.AreEqual (false, sc.AutoScroll, "B1");
\r
40 sc.AutoScroll = true;
\r
41 Assert.AreEqual (false, sc.AutoScroll, "B1-2");
\r
43 Assert.AreEqual (new Size(0,0), sc.AutoScrollMargin, "B2");
\r
44 sc.AutoScrollMargin = new Size (100, 100);
\r
45 Assert.AreEqual (new Size (100,100), sc.AutoScrollMargin, "B2-2");
\r
47 Assert.AreEqual (new Size (0, 0), sc.AutoScrollMinSize, "B3");
\r
48 sc.AutoScrollMinSize = new Size (100, 100);
\r
49 Assert.AreEqual (new Size (100, 100), sc.AutoScrollMinSize, "B3-2");
\r
51 //Assert.AreEqual (new Point (0, 0), sc.AutoScrollOffset, "B4");
\r
52 //sc.AutoScrollOffset = new Point (100, 100);
\r
53 //Assert.AreEqual (new Point (100, 100), sc.AutoScrollOffset, "B4-2");
\r
55 Assert.AreEqual (new Point (0, 0), sc.AutoScrollPosition, "B5");
\r
56 sc.AutoScrollPosition = new Point (100, 100);
\r
57 Assert.AreEqual (new Point (0, 0), sc.AutoScrollPosition, "B5-2");
\r
59 Assert.AreEqual (false, sc.AutoSize, "B6");
\r
61 Assert.AreEqual (true, sc.AutoSize, "B6-2");
\r
63 //Assert.AreEqual (ImageLayout.Tile, sc.BackgroundImageLayout, "B7");
\r
64 //sc.BackgroundImageLayout = ImageLayout.Stretch;
\r
65 //Assert.AreEqual (ImageLayout.Stretch, sc.BackgroundImageLayout, "B7-2");
\r
67 Assert.AreEqual (null, sc.BindingContext, "B8");
\r
68 sc.BindingContext = new BindingContext();
\r
69 Assert.AreEqual ("System.Windows.Forms.BindingContext", sc.BindingContext.ToString (), "B8-2");
\r
71 Assert.AreEqual (new Padding(0), sc.Padding, "B10");
\r
72 sc.Padding = new Padding (7);
\r
73 Assert.AreEqual (new Padding (7), sc.Padding, "B10-2");
\r
75 Assert.AreEqual (String.Empty, sc.Text, "B11");
\r
77 Assert.AreEqual ("Hello", sc.Text, "B11-2");
\r
82 public void TestRelevantProperties ()
\r
84 SplitContainer sc = new SplitContainer ();
\r
86 sc.BorderStyle = BorderStyle.FixedSingle;
\r
87 Assert.AreEqual (BorderStyle.FixedSingle, sc.BorderStyle, "C1");
\r
89 sc.Dock = DockStyle.Fill;
\r
90 Assert.AreEqual (DockStyle.Fill, sc.Dock, "C2");
\r
92 sc.FixedPanel = FixedPanel.Panel1;
\r
93 Assert.AreEqual (FixedPanel.Panel1, sc.FixedPanel, "C3");
\r
95 sc.IsSplitterFixed = true;
\r
96 Assert.AreEqual (true, sc.IsSplitterFixed, "C4");
\r
98 sc.Orientation = Orientation.Horizontal;
\r
99 Assert.AreEqual (Orientation.Horizontal, sc.Orientation, "C5");
\r
101 sc.Panel1Collapsed = true;
\r
102 Assert.AreEqual (true, sc.Panel1Collapsed, "C6");
\r
104 sc.Panel1MinSize = 10;
\r
105 Assert.AreEqual (10, sc.Panel1MinSize, "C7");
\r
107 sc.Panel2Collapsed = true;
\r
108 Assert.AreEqual (true, sc.Panel2Collapsed, "C8");
\r
110 sc.Panel2MinSize = 10;
\r
111 Assert.AreEqual (10, sc.Panel2MinSize, "C9");
\r
113 sc.SplitterDistance = 77;
\r
114 Assert.AreEqual (77, sc.SplitterDistance, "C10");
\r
116 sc.SplitterIncrement = 5;
\r
117 Assert.AreEqual (5, sc.SplitterIncrement, "C11");
\r
119 sc.SplitterWidth = 10;
\r
120 Assert.AreEqual (10, sc.SplitterWidth, "C12");
\r
124 public void TestPanelProperties ()
\r
126 SplitContainer sc = new SplitContainer ();
\r
127 SplitterPanel p = sc.Panel1;
\r
129 Assert.AreEqual (AnchorStyles.Top | AnchorStyles.Left, p.Anchor, "D1");
\r
130 p.Anchor = AnchorStyles.None;
\r
131 Assert.AreEqual (AnchorStyles.None, p.Anchor, "D1-2");
\r
133 Assert.AreEqual (false, p.AutoSize, "D2");
\r
135 Assert.AreEqual (true, p.AutoSize, "D2-2");
\r
137 //Assert.AreEqual (AutoSizeMode.GrowOnly, p.AutoSizeMode, "D3");
\r
138 //p.AutoSizeMode = AutoSizeMode.GrowAndShrink;
\r
139 //Assert.AreEqual (AutoSizeMode.GrowOnly, p.AutoSizeMode, "D3-2");
\r
141 Assert.AreEqual (BorderStyle.None, p.BorderStyle, "D4");
\r
142 p.BorderStyle = BorderStyle.FixedSingle;
\r
143 Assert.AreEqual (BorderStyle.FixedSingle, p.BorderStyle, "D4-2");
\r
145 //Assert.AreEqual (DockStyle.None, p.Dock, "D5");
\r
146 //p.Dock = DockStyle.Left;
\r
147 //Assert.AreEqual (DockStyle.Left, p.Dock, "D5-2");
\r
149 //Assert.AreEqual (new Point(0,0), p.Location, "D7");
\r
150 //p.Location = new Point (10, 10);
\r
151 //Assert.AreEqual (new Point (0, 0), p.Location, "D7-2");
\r
153 Assert.AreEqual (new Size (0, 0), p.MaximumSize, "D8");
\r
154 p.MaximumSize = new Size (10, 10);
\r
155 Assert.AreEqual (new Size (10, 10), p.MaximumSize, "D8-2");
\r
157 Assert.AreEqual (new Size (0, 0), p.MinimumSize, "D9");
\r
158 p.MinimumSize = new Size (10, 10);
\r
159 Assert.AreEqual (new Size (10, 10), p.MinimumSize, "D9-2");
\r
161 Assert.AreEqual (String.Empty, p.Name, "D10");
\r
162 p.Name = "MyPanel";
\r
163 Assert.AreEqual ("MyPanel", p.Name, "D10-2");
\r
165 // We set a new max/min size above, so let's start over with new controls
\r
166 sc = new SplitContainer();
\r
169 //Assert.AreEqual (new Size (50, 100), p.Size, "D12");
\r
170 //p.Size = new Size (10, 10);
\r
171 //Assert.AreEqual (new Size (50, 100), p.Size, "D12-2");
\r
173 //Assert.AreEqual (0, p.TabIndex, "D13");
\r
175 Assert.AreEqual (4, p.TabIndex, "D13-2");
\r
177 Assert.AreEqual (false, p.TabStop, "D14");
\r
179 Assert.AreEqual (true, p.TabStop, "D14-2");
\r
181 Assert.AreEqual (true, p.Visible, "D15");
\r
183 Assert.AreEqual (false, p.Visible, "D15-2");
\r
187 [ExpectedException (typeof (NotSupportedException))]
\r
188 public void TestPanelHeightProperty ()
\r
190 SplitContainer sc = new SplitContainer ();
\r
191 SplitterPanel p = sc.Panel1;
\r
193 Assert.AreEqual (100, p.Height, "E1");
\r
199 [ExpectedException (typeof (NotSupportedException))]
\r
200 public void TestPanelWidthProperty ()
\r
202 SplitContainer sc = new SplitContainer ();
\r
203 SplitterPanel p = sc.Panel1;
\r
205 Assert.AreEqual (50, p.Width, "F1");
\r
211 [ExpectedException (typeof (NotSupportedException))]
\r
212 public void TestPanelParentProperty ()
\r
214 SplitContainer sc = new SplitContainer ();
\r
215 SplitContainer sc2 = new SplitContainer ();
\r
216 SplitterPanel p = sc.Panel1;
\r
218 Assert.AreEqual (sc, p.Parent, "G1");
\r
224 public void TestSplitterPosition ()
\r
226 SplitContainer sc = new SplitContainer ();
\r
228 Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "H1");
\r
230 sc.Orientation = Orientation.Horizontal;
\r
231 Assert.AreEqual (new Rectangle (0, 50, 150, 4), sc.SplitterRectangle, "H2");
\r
235 [Ignore ("SplitContainer.FixedPanel not yet implemented")]
\r
236 public void TestFixedPanelNone ()
\r
238 SplitContainer sc = new SplitContainer ();
\r
240 Assert.AreEqual (50, sc.SplitterDistance, "I1");
\r
243 Assert.AreEqual (100, sc.SplitterDistance, "I2");
\r
247 [Ignore ("SplitContainer.FixedPanel not yet implemented")]
\r
248 public void TestFixedPanel1 ()
\r
250 SplitContainer sc = new SplitContainer ();
\r
251 sc.FixedPanel = FixedPanel.Panel1;
\r
253 Assert.AreEqual (50, sc.SplitterDistance, "J1");
\r
256 Assert.AreEqual (50, sc.SplitterDistance, "J2");
\r
260 [Ignore ("SplitContainer.FixedPanel not yet implemented")]
\r
261 public void TestFixedPanel2 ()
\r
263 SplitContainer sc = new SplitContainer ();
\r
264 sc.FixedPanel = FixedPanel.Panel2;
\r
266 Assert.AreEqual (50, sc.SplitterDistance, "K1");
\r
269 Assert.AreEqual (200, sc.SplitterDistance, "K2");
\r
273 public void TestSplitterDistance ()
\r
275 SplitContainer sc = new SplitContainer ();
\r
277 Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "L1");
\r
279 sc.SplitterDistance = 100;
\r
280 Assert.AreEqual (new Rectangle (100, 0, 4, 100), sc.SplitterRectangle, "L2");
\r
284 public void TestSplitterWidth ()
\r
286 SplitContainer sc = new SplitContainer ();
\r
288 Assert.AreEqual (new Rectangle (50, 0, 4, 100), sc.SplitterRectangle, "M1");
\r
290 sc.SplitterWidth = 10;
\r
291 Assert.AreEqual (new Rectangle (50, 0, 10, 100), sc.SplitterRectangle, "M2");
\r