2 // TrackBarTest.cs: Test cases for TrackBar.
5 // Ritvik Mayank (mritvik@novell.com)
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
11 using System.Windows.Forms;
13 using System.Reflection;
14 using NUnit.Framework;
16 namespace MonoTests.System.Windows.Forms
19 public class TrackBarBaseTest : TestHelper
22 public void TrackBarPropertyTest ()
24 TrackBar myTrackBar = new TrackBar ();
27 Assert.AreEqual (true, myTrackBar.AutoSize, "#A1");
30 Assert.AreEqual (5, myTrackBar.LargeChange, "#L1");
33 Assert.AreEqual (10, myTrackBar.Maximum, "#M1");
34 Assert.AreEqual (0, myTrackBar.Minimum, "#M2");
37 Assert.AreEqual (Orientation.Horizontal, myTrackBar.Orientation, "#O1");
40 Assert.AreEqual (1, myTrackBar.SmallChange, "#S1");
43 Assert.AreEqual (1, myTrackBar.TickFrequency, "#T1");
44 Assert.AreEqual (TickStyle.BottomRight, myTrackBar.TickStyle, "#T2");
45 Assert.AreEqual ("", myTrackBar.Text, "#T3");
46 myTrackBar.Text = "New TrackBar";
47 Assert.AreEqual ("New TrackBar", myTrackBar.Text, "#T4");
50 Assert.AreEqual (0, myTrackBar.Value, "#V1");
55 [ExpectedException (typeof (ArgumentOutOfRangeException))]
57 [ExpectedException (typeof (ArgumentException))]
59 public void LargeChangeTest ()
61 TrackBar myTrackBar = new TrackBar ();
62 myTrackBar.LargeChange = -1;
67 [ExpectedException (typeof (ArgumentOutOfRangeException))]
69 [ExpectedException (typeof (ArgumentException))]
71 public void SmallChangeTest ()
73 TrackBar myTrackBar = new TrackBar ();
74 myTrackBar.SmallChange = -1;
78 public void SetRangeTest ()
80 TrackBar myTrackBar = new TrackBar ();
81 myTrackBar.SetRange (2,9);
82 Assert.AreEqual (9, myTrackBar.Maximum, "#setM1");
83 Assert.AreEqual (2, myTrackBar.Minimum, "#setM2");
87 public void ToStringMethodTest ()
89 TrackBar myTrackBar = new TrackBar ();
90 myTrackBar.Text = "New TrackBar";
91 Assert.AreEqual ("System.Windows.Forms.TrackBar, Minimum: 0, Maximum: 10, Value: 0", myTrackBar.ToString (), "#T3");
95 public void OrientationSizeTest ()
100 int default_height = 45;
101 int default_height2 = 42;
103 using (TrackBar myTrackBar = new TrackBar()) {
104 width = myTrackBar.Width;
105 height = myTrackBar.Height;
106 myTrackBar.Orientation = Orientation.Vertical;
107 Assert.AreEqual(width, myTrackBar.Width, "#OS1");
108 Assert.AreEqual(height, myTrackBar.Height, "#OS2");
111 using (Form myForm = new Form()) {
112 using ( TrackBar myTrackBar = new TrackBar()) {
113 width = myTrackBar.Width;
114 height = myTrackBar.Height;
115 myForm.Controls.Add(myTrackBar);
116 handle = myTrackBar.Handle; // causes the handle to be created.
117 myTrackBar.Orientation = Orientation.Vertical;
118 AreEqual(default_height, default_height2, myTrackBar.Width, "#OS3");
119 Assert.AreEqual(width, myTrackBar.Height, "#OS4");
123 using (Form myForm = new Form()) {
124 using ( TrackBar myTrackBar = new TrackBar()) {
125 myForm.Controls.Add(myTrackBar);
126 handle = myTrackBar.Handle; // causes the handle to be created.
127 myTrackBar.Width = 200;
128 myTrackBar.Orientation = Orientation.Vertical;
129 Assert.AreEqual(200, myTrackBar.Height, "#OS5");
132 Assert.AreEqual(handle, handle, "Removes warning");
135 private void AreEqual(int expected1, int expected2, int real, string name)
137 // This is needed since the default size vary between XP theme and W2K theme.
138 if (real != expected1 && real != expected2) {
139 Assert.Fail("{3}: Expected <{0}> or <{1}>, but was <{2}>", expected1, expected2, real, name);
144 [Category ("NotWorking")]
145 public void SizeTestSettingOrientation ()
148 int default_height = 45;
149 int default_height2 = 42;
151 using (TrackBar myTrackBar = new TrackBar()) {
152 myTrackBar.Width = 200;
153 myTrackBar.Height = 250;
154 myTrackBar.Orientation = Orientation.Vertical;
155 Assert.AreEqual(200, myTrackBar.Width, "#SIZE03");
156 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE04");
159 using (TrackBar myTrackBar = new TrackBar()) {
160 myTrackBar.AutoSize = false;
161 myTrackBar.Width = 200;
162 myTrackBar.Height = 250;
163 myTrackBar.Orientation = Orientation.Vertical;
164 Assert.AreEqual(200, myTrackBar.Width, "#SIZE07");
165 Assert.AreEqual(250, myTrackBar.Height, "#SIZE08");
168 using (TrackBar myTrackBar = new TrackBar()) {
169 myTrackBar.Width = 200;
170 myTrackBar.Height = 250;
171 myTrackBar.AutoSize = false;
172 myTrackBar.Orientation = Orientation.Vertical;
173 Assert.AreEqual(200, myTrackBar.Width, "#SIZE11");
174 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE12");
177 using (TrackBar myTrackBar = new TrackBar()) {
178 using (Form myForm = new Form()) {
179 myForm.Controls.Add(myTrackBar);
180 myTrackBar.Width = 200;
181 myTrackBar.Height = 250;
182 myTrackBar.Orientation = Orientation.Vertical;
183 handle = myTrackBar.Handle;
185 AreEqual(default_height, default_height2, myTrackBar.Width, "#SIZE17");
186 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE18");
190 using (TrackBar myTrackBar = new TrackBar()) {
191 using (Form myForm = new Form()) {
192 myForm.Controls.Add(myTrackBar);
193 myTrackBar.Width = 200;
194 myTrackBar.Height = 250;
195 myTrackBar.Orientation = Orientation.Vertical;
196 handle = myTrackBar.Handle;
198 AreEqual(default_height, default_height2, myTrackBar.Width, "#SIZE19");
199 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE20");
203 using (TrackBar myTrackBar = new TrackBar()) {
204 using (Form myForm = new Form()) {
205 myForm.Controls.Add(myTrackBar);
206 myTrackBar.Width = 200;
207 myTrackBar.Height = 250;
208 myTrackBar.Orientation = Orientation.Vertical;
209 handle = myTrackBar.Handle;
211 myTrackBar.Orientation = Orientation.Horizontal;
213 AreEqual(default_height, default_height2, myTrackBar.Width, "#SIZE23");
214 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE24");
218 using (TrackBar myTrackBar = new TrackBar()) {
219 myTrackBar.AutoSize = false;
220 myTrackBar.Height = 50;
221 myTrackBar.Width = 80;
222 myTrackBar.Orientation = Orientation.Vertical;
223 myTrackBar.Width = 100;
225 Assert.AreEqual(50, myTrackBar.Height, "#SIZE2_1");
226 Assert.AreEqual(100, myTrackBar.Width, "#SIZE2_2");
228 using (Form myForm = new Form()){
229 myForm.Controls.Add(myTrackBar);
232 Assert.AreEqual(50, myTrackBar.Height, "#SIZE2_3");
233 Assert.AreEqual(100, myTrackBar.Width, "#SIZE2_4");
237 Assert.AreEqual(handle, handle, "Removes warning");
241 public void SizeTest ()
244 int default_height = 45;
245 int default_height2 = 42;
247 using (TrackBar myTrackBar = new TrackBar()) {
248 myTrackBar.Width = 200;
249 myTrackBar.Height = 250;
250 Assert.AreEqual(200, myTrackBar.Width, "#SIZE01");
251 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE02");
254 using (TrackBar myTrackBar = new TrackBar()) {
255 myTrackBar.AutoSize = false;
256 myTrackBar.Width = 200;
257 myTrackBar.Height = 250;
258 Assert.AreEqual(200, myTrackBar.Width, "#SIZE05");
259 Assert.AreEqual(250, myTrackBar.Height, "#SIZE06");
262 using (TrackBar myTrackBar = new TrackBar()) {
263 myTrackBar.Width = 200;
264 myTrackBar.Height = 250;
265 myTrackBar.AutoSize = false;
266 Assert.AreEqual(200, myTrackBar.Width, "#SIZE09");
267 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE10");
270 using (TrackBar myTrackBar = new TrackBar()) {
271 using (Form myForm = new Form()) {
272 myForm.Controls.Add(myTrackBar);
273 myTrackBar.Width = 200;
274 myTrackBar.Height = 250;
275 myTrackBar.Orientation = Orientation.Vertical;
276 myTrackBar.Orientation = Orientation.Horizontal;
277 handle = myTrackBar.Handle;
279 Assert.AreEqual(200, myTrackBar.Width, "#SIZE21");
280 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE22");
284 Assert.AreEqual(handle, handle, "Removes warning");