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");
54 [ExpectedException (typeof (ArgumentOutOfRangeException))]
55 public void LargeChangeTest ()
57 TrackBar myTrackBar = new TrackBar ();
58 myTrackBar.LargeChange = -1;
62 [ExpectedException (typeof (ArgumentOutOfRangeException))]
63 public void SmallChangeTest ()
65 TrackBar myTrackBar = new TrackBar ();
66 myTrackBar.SmallChange = -1;
70 public void SetRangeTest ()
72 TrackBar myTrackBar = new TrackBar ();
73 myTrackBar.SetRange (2,9);
74 Assert.AreEqual (9, myTrackBar.Maximum, "#setM1");
75 Assert.AreEqual (2, myTrackBar.Minimum, "#setM2");
79 public void ToStringMethodTest ()
81 TrackBar myTrackBar = new TrackBar ();
82 myTrackBar.Text = "New TrackBar";
83 Assert.AreEqual ("System.Windows.Forms.TrackBar, Minimum: 0, Maximum: 10, Value: 0", myTrackBar.ToString (), "#T3");
87 public void OrientationSizeTest ()
92 int default_height = 45;
93 int default_height2 = 42;
95 using (TrackBar myTrackBar = new TrackBar()) {
96 width = myTrackBar.Width;
97 height = myTrackBar.Height;
98 myTrackBar.Orientation = Orientation.Vertical;
99 Assert.AreEqual(width, myTrackBar.Width, "#OS1");
100 Assert.AreEqual(height, myTrackBar.Height, "#OS2");
103 using (Form myForm = new Form()) {
104 using ( TrackBar myTrackBar = new TrackBar()) {
105 width = myTrackBar.Width;
106 height = myTrackBar.Height;
107 myForm.Controls.Add(myTrackBar);
108 handle = myTrackBar.Handle; // causes the handle to be created.
109 myTrackBar.Orientation = Orientation.Vertical;
110 AreEqual(default_height, default_height2, myTrackBar.Width, "#OS3");
111 Assert.AreEqual(width, myTrackBar.Height, "#OS4");
115 using (Form myForm = new Form()) {
116 using ( TrackBar myTrackBar = new TrackBar()) {
117 myForm.Controls.Add(myTrackBar);
118 handle = myTrackBar.Handle; // causes the handle to be created.
119 myTrackBar.Width = 200;
120 myTrackBar.Orientation = Orientation.Vertical;
121 Assert.AreEqual(200, myTrackBar.Height, "#OS5");
124 Assert.AreEqual(handle, handle, "Removes warning");
127 private void AreEqual(int expected1, int expected2, int real, string name)
129 // This is needed since the default size vary between XP theme and W2K theme.
130 if (real != expected1 && real != expected2) {
131 Assert.Fail("{3}: Expected <{0}> or <{1}>, but was <{2}>", expected1, expected2, real, name);
136 [Category ("NotWorking")]
137 public void SizeTestSettingOrientation ()
140 int default_height = 45;
141 int default_height2 = 42;
143 using (TrackBar myTrackBar = new TrackBar()) {
144 myTrackBar.Width = 200;
145 myTrackBar.Height = 250;
146 myTrackBar.Orientation = Orientation.Vertical;
147 Assert.AreEqual(200, myTrackBar.Width, "#SIZE03");
148 Assert.AreEqual(250, myTrackBar.Height, "#SIZE04");
151 using (TrackBar myTrackBar = new TrackBar()) {
152 myTrackBar.AutoSize = false;
153 myTrackBar.Width = 200;
154 myTrackBar.Height = 250;
155 myTrackBar.Orientation = Orientation.Vertical;
156 Assert.AreEqual(200, myTrackBar.Width, "#SIZE07");
157 Assert.AreEqual(250, myTrackBar.Height, "#SIZE08");
160 using (TrackBar myTrackBar = new TrackBar()) {
161 myTrackBar.Width = 200;
162 myTrackBar.Height = 250;
163 myTrackBar.AutoSize = false;
164 myTrackBar.Orientation = Orientation.Vertical;
165 Assert.AreEqual(200, myTrackBar.Width, "#SIZE11");
166 Assert.AreEqual(250, myTrackBar.Height, "#SIZE12");
169 using (TrackBar myTrackBar = new TrackBar()) {
170 using (Form myForm = new Form()) {
171 myForm.Controls.Add(myTrackBar);
172 myTrackBar.Width = 200;
173 myTrackBar.Height = 250;
174 myTrackBar.Orientation = Orientation.Vertical;
175 handle = myTrackBar.Handle;
177 AreEqual(default_height, default_height2, myTrackBar.Width, "#SIZE17");
178 Assert.AreEqual(250, myTrackBar.Height, "#SIZE18");
182 using (TrackBar myTrackBar = new TrackBar()) {
183 using (Form myForm = new Form()) {
184 myForm.Controls.Add(myTrackBar);
185 myTrackBar.Width = 200;
186 myTrackBar.Height = 250;
187 myTrackBar.Orientation = Orientation.Vertical;
188 handle = myTrackBar.Handle;
190 AreEqual(default_height, default_height2, myTrackBar.Width, "#SIZE19");
191 Assert.AreEqual(250, myTrackBar.Height, "#SIZE20");
195 using (TrackBar myTrackBar = new TrackBar()) {
196 using (Form myForm = new Form()) {
197 myForm.Controls.Add(myTrackBar);
198 myTrackBar.Width = 200;
199 myTrackBar.Height = 250;
200 myTrackBar.Orientation = Orientation.Vertical;
201 handle = myTrackBar.Handle;
203 myTrackBar.Orientation = Orientation.Horizontal;
205 Assert.AreEqual(250, myTrackBar.Width, "#SIZE23");
206 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE24");
210 using (TrackBar myTrackBar = new TrackBar()) {
211 myTrackBar.AutoSize = false;
212 myTrackBar.Height = 50;
213 myTrackBar.Width = 80;
214 myTrackBar.Orientation = Orientation.Vertical;
215 myTrackBar.Width = 100;
217 Assert.AreEqual(50, myTrackBar.Height, "#SIZE2_1");
218 Assert.AreEqual(100, myTrackBar.Width, "#SIZE2_2");
220 using (Form myForm = new Form()){
221 myForm.Controls.Add(myTrackBar);
224 Assert.AreEqual(50, myTrackBar.Height, "#SIZE2_3");
225 Assert.AreEqual(100, myTrackBar.Width, "#SIZE2_4");
229 Assert.AreEqual(handle, handle, "Removes warning");
233 public void SizeTest ()
236 int default_height = 45;
237 int default_height2 = 42;
239 using (TrackBar myTrackBar = new TrackBar()) {
240 myTrackBar.Width = 200;
241 myTrackBar.Height = 250;
242 Assert.AreEqual(200, myTrackBar.Width, "#SIZE01");
243 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE02");
246 using (TrackBar myTrackBar = new TrackBar()) {
247 myTrackBar.AutoSize = false;
248 myTrackBar.Width = 200;
249 myTrackBar.Height = 250;
250 Assert.AreEqual(200, myTrackBar.Width, "#SIZE05");
251 Assert.AreEqual(250, myTrackBar.Height, "#SIZE06");
254 using (TrackBar myTrackBar = new TrackBar()) {
255 myTrackBar.Width = 200;
256 myTrackBar.Height = 250;
257 myTrackBar.AutoSize = false;
258 Assert.AreEqual(200, myTrackBar.Width, "#SIZE09");
259 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE10");
262 using (TrackBar myTrackBar = new TrackBar()) {
263 using (Form myForm = new Form()) {
264 myForm.Controls.Add(myTrackBar);
265 myTrackBar.Width = 200;
266 myTrackBar.Height = 250;
267 myTrackBar.Orientation = Orientation.Vertical;
268 myTrackBar.Orientation = Orientation.Horizontal;
269 handle = myTrackBar.Handle;
271 Assert.AreEqual(200, myTrackBar.Width, "#SIZE21");
272 AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE22");
276 Assert.AreEqual(handle, handle, "Removes warning");
280 public void EventsTest ()
282 TrackBar trackbar = new TrackBar ();
283 trackbar.Maximum = 10;
284 trackbar.Minimum = 1;
285 trackbar.LargeChange = 2;
287 trackbar.ValueChanged += new EventHandler (trackbar_ValueChanged);
288 trackbar.Scroll += new EventHandler (trackbar_Scroll);
291 Assert.AreEqual ("ValueChanged=6;", event_log, "#A1");
296 void trackbar_Scroll (object sender, EventArgs e)
298 event_log += "Scroll=" + ((TrackBar)sender).Value + ";";
301 void trackbar_ValueChanged (object sender, EventArgs e)
303 event_log += "ValueChanged=" + ((TrackBar)sender).Value + ";";