[bcl] Remove more NET_2_0 checks from class libs
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / StatusBarTest.cs
1 //
2 // StatusBarTest.cs: Test cases for StatusBar.
3 //
4 // Author:
5 //   Ritvik Mayank (mritvik@novell.com)
6 //
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
8 //
9
10 using System;
11 using NUnit.Framework;
12 using System.Windows.Forms;
13 using System.Drawing;
14 using System.Runtime.Remoting;
15 using System.Collections;
16
17 namespace MonoTests.System.Windows.Forms
18 {
19         [TestFixture]
20         public class StatusBarTest : TestHelper 
21         {
22                 [Test]
23                 public void StatusBarTextTest ()
24                 {
25                         string a = new string ('a', 127);
26                         string ab = a + "b";
27                         StatusBar sb = new StatusBar();
28                         sb.Text = ab;
29                         Assert.AreEqual (ab, sb.Text, "#01");
30                 }
31                 
32                 [Test]
33                 public void StatusBarShowPanelsTest ()
34                 {
35                         StatusBar sb = new StatusBar ();
36                         sb.ShowPanels = true;
37                         sb.Text = "Test";
38                         Assert.AreEqual ("Test", sb.Text, "#01");
39                 }       
40
41                 [Test]
42                 public void StatusBarPropertyTest ()
43                 {       
44                         Form myform = new Form ();
45                         myform.ShowInTaskbar = false;
46                         StatusBar mysbar = new StatusBar ();
47                         StatusBarPanel sbarpanel1 = new StatusBarPanel ();
48                         StatusBarPanel sbarpanel2 = new StatusBarPanel ();
49                         sbarpanel1.Text = "Status Quo";
50                         sbarpanel2.Text = "State 2";
51                         mysbar.Panels.Add (sbarpanel1);
52                         mysbar.Panels.Add (sbarpanel2);
53                         myform.Controls.Add (mysbar);
54                         
55                         // B
56                         Assert.AreEqual ("Control", mysbar.BackColor.Name, "#B1");
57
58                         // D
59                         Assert.AreEqual (DockStyle.Bottom, mysbar.Dock, "#D1");
60
61                         // F
62                         Assert.AreEqual ("ControlText", mysbar.ForeColor.Name, "#F2");
63         
64                         // P
65                         Assert.AreEqual (sbarpanel1.Text, mysbar.Panels [0].Text , "#P1");
66                         
67                         // S
68                         Assert.AreEqual (false, mysbar.ShowPanels, "#S1");
69                         Assert.AreEqual (true, mysbar.SizingGrip, "#S2");
70                         Assert.AreEqual (null, mysbar.Site, "#S3");
71
72                         // T
73                         Assert.AreEqual ("", mysbar.Text, "#T1");
74                         mysbar.Text = "MONO STATUSBAR";
75                         Assert.AreEqual ("MONO STATUSBAR", mysbar.Text, "#T2");
76
77                         myform.Dispose ();
78                 }
79                 
80                 [Test]
81                 public void ToStringMethodTest () 
82                 {
83                         StatusBar mysbar = new StatusBar ();
84                         mysbar.Text = "New StatusBar";
85                         Assert.AreEqual ("System.Windows.Forms.StatusBar, Panels.Count: 0", mysbar.ToString (), "#T3");
86                 }
87                 //[MonoTODO ("Test case for DrawItem")] 
88                 //[MonoTODO ("Test case for PanelClick")]       
89         }
90         
91         [TestFixture]
92         public class StatusBarPanelCollectionTest : TestHelper
93         {
94                 [Test]
95                 public void Test ()
96                 {
97
98                 }
99                 [Test]
100                 public void DefaultPropertiesTest ()
101                 {
102                         StatusBar bar = new StatusBar ();
103                         StatusBar.StatusBarPanelCollection collection = new StatusBar.StatusBarPanelCollection (bar);
104                         
105                         Assert.AreEqual (0, collection.Count, "C1");
106                         Assert.AreEqual (false, collection.IsReadOnly, "I1");
107                 }
108                 
109                 
110                 [Test]
111                 public void AddRemoveTest ()
112                 {
113                         StatusBar bar = new StatusBar ();
114                         StatusBar.StatusBarPanelCollection collection = new StatusBar.StatusBarPanelCollection (bar);
115
116                         StatusBarPanel panel = new StatusBarPanel ();
117                         StatusBarPanel panel2 = new StatusBarPanel ();
118                         
119                         collection.Add (panel);
120                         Assert.AreEqual (1, collection.Count, "#1");
121
122                         collection.Remove (panel);
123                         Assert.AreEqual (0, collection.Count, "#2");
124
125                         collection.Add (panel);
126                         collection.RemoveAt (0);
127                         Assert.AreEqual (0, collection.Count, "#3");
128
129                         collection.Add (panel);
130                         Assert.AreEqual (0, collection.IndexOf (panel), "#4");
131                         Assert.AreEqual (-1, collection.IndexOf (panel2), "#5");
132
133                         collection.Add (panel2);
134                         Assert.AreEqual (1, collection.IndexOf (panel2), "#6");
135
136                         collection.RemoveAt (0);
137                         Assert.AreEqual (0, collection.IndexOf (panel2), "#7");
138                         Assert.AreEqual (1, collection.Count, "#8");
139                         
140                         Assert.AreEqual (false, collection.Contains (panel), "#9");
141                         Assert.AreEqual (true, collection.Contains (panel2), "#10");
142                         
143                 }
144
145                 [Test]
146                 public void ItemByKeyTest ()
147                 {
148                         StatusBar bar = new StatusBar ();
149                         StatusBar.StatusBarPanelCollection c = new StatusBar.StatusBarPanelCollection (bar);
150
151                         StatusBarPanel panel1 = new StatusBarPanel ();
152                         StatusBarPanel panel2 = new StatusBarPanel ();
153                         StatusBarPanel panel3 = new StatusBarPanel ();
154                         StatusBarPanel panel4 = new StatusBarPanel ();
155                         StatusBarPanel panel5 = new StatusBarPanel ();
156
157
158                         panel1.Name = "p1";
159                         panel2.Name = "p2";
160                         panel3.Name = "P2";
161                         panel4.Name = "";
162                         panel5.Name = null;
163
164                         c.AddRange (new StatusBarPanel [] { panel1, panel2, panel3, panel4, panel5 });
165
166                         Assert.AreEqual (null, c [""], "#1");
167                         Assert.AreEqual (null, c [null], "#2");
168                         Assert.AreEqual (panel1, c ["p1"], "#3");
169                         Assert.AreEqual (panel1, c ["P1"], "#4");
170                         Assert.AreEqual (panel2, c ["p2"], "#5");
171                         Assert.AreEqual (panel2, c ["P2"], "#6");
172                         Assert.AreEqual (null, c ["p3"], "#7");
173                         Assert.AreEqual (null, c ["p"], "#8");  
174                 }
175
176                 [Test]
177                 public void RemoveByKeyTest ()
178                 {
179                         StatusBar bar = new StatusBar ();
180                         StatusBar.StatusBarPanelCollection c = new StatusBar.StatusBarPanelCollection (bar);
181
182                         StatusBarPanel panel1 = new StatusBarPanel ();
183                         StatusBarPanel panel2 = new StatusBarPanel ();
184                         StatusBarPanel panel3 = new StatusBarPanel ();
185                         StatusBarPanel panel4 = new StatusBarPanel ();
186                         StatusBarPanel panel5 = new StatusBarPanel ();
187
188
189                         panel1.Name = "p1";
190                         panel2.Name = "p2";
191                         panel3.Name = "P2";
192                         panel4.Name = "";
193                         panel5.Name = null;
194
195                         c.AddRange (new StatusBarPanel [] { panel1, panel2, panel3, panel4, panel5 });
196
197                         Assert.AreEqual (true, c.ContainsKey ("p1"), "#A1");
198                         Assert.AreEqual (true, c.ContainsKey ("P1"), "#A2");
199                         Assert.AreEqual (true, c.ContainsKey ("P2"), "#A3");
200                         Assert.AreEqual (false, c.ContainsKey (""), "#A4");
201                         Assert.AreEqual (false, c.ContainsKey (null), "#A5");
202                         Assert.AreEqual (false, c.ContainsKey ("p3"), "#A6");
203                         Assert.AreEqual (false, c.ContainsKey ("p"), "#A7");
204                         Assert.AreEqual (null, c [""], "#A8");
205                         Assert.AreEqual (null, c [null], "#A9");
206                         Assert.AreEqual (panel1, c ["p1"], "#A10");
207                         Assert.AreEqual (panel1, c ["P1"], "#A11");
208                         Assert.AreEqual (panel2, c ["p2"], "#A12");
209                         Assert.AreEqual (panel2, c ["P2"], "#A13");
210                         Assert.AreEqual (null, c ["p3"], "#A14");
211                         Assert.AreEqual (null, c ["p"], "#A15");        
212                         
213                         c.RemoveByKey ("P2");
214
215                         Assert.AreEqual (true, c.ContainsKey ("p1"), "#B1");
216                         Assert.AreEqual (true, c.ContainsKey ("P1"), "#B2");
217                         Assert.AreEqual (true, c.ContainsKey ("P2"), "#B3");
218                         Assert.AreEqual (false, c.ContainsKey (""), "#B4");
219                         Assert.AreEqual (false, c.ContainsKey (null), "#B5");
220                         Assert.AreEqual (false, c.ContainsKey ("p3"), "#B6");
221                         Assert.AreEqual (false, c.ContainsKey ("p"), "#B7");
222                         Assert.AreEqual (null, c [""], "#B8");
223                         Assert.AreEqual (null, c [null], "#B9");
224                         Assert.AreEqual (panel1, c ["p1"], "#B10");
225                         Assert.AreEqual (panel1, c ["P1"], "#B11");
226                         Assert.AreEqual (panel3, c ["p2"], "#B12");
227                         Assert.AreEqual (panel3, c ["P2"], "#B13");
228                         Assert.AreEqual (null, c ["p3"], "#B14");
229                         Assert.AreEqual (null, c ["p"], "#B15");
230
231                         c.RemoveByKey ("p2");
232
233                         Assert.AreEqual (true, c.ContainsKey ("p1"), "#C1");
234                         Assert.AreEqual (true, c.ContainsKey ("P1"), "#C2");
235                         Assert.AreEqual (false, c.ContainsKey ("P2"), "#C3");
236                         Assert.AreEqual (false, c.ContainsKey (""), "#C4");
237                         Assert.AreEqual (false, c.ContainsKey (null), "#C5");
238                         Assert.AreEqual (false, c.ContainsKey ("p3"), "#C6");
239                         Assert.AreEqual (false, c.ContainsKey ("p"), "#C7");
240                         Assert.AreEqual (null, c [""], "#C8");
241                         Assert.AreEqual (null, c [null], "#C9");
242                         Assert.AreEqual (panel1, c ["p1"], "#C10");
243                         Assert.AreEqual (panel1, c ["P1"], "#C11");
244                         Assert.AreEqual (null, c ["p2"], "#C12");
245                         Assert.AreEqual (null, c ["P2"], "#C13");
246                         Assert.AreEqual (null, c ["p3"], "#C14");
247                         Assert.AreEqual (null, c ["p"], "#C15");
248
249                         c.RemoveByKey ("p2");
250
251                         Assert.AreEqual (true, c.ContainsKey ("p1"), "#D1");
252                         Assert.AreEqual (true, c.ContainsKey ("P1"), "#D2");
253                         Assert.AreEqual (false, c.ContainsKey ("P2"), "#D3");
254                         Assert.AreEqual (false, c.ContainsKey (""), "#D4");
255                         Assert.AreEqual (false, c.ContainsKey (null), "#D5");
256                         Assert.AreEqual (false, c.ContainsKey ("p3"), "#D6");
257                         Assert.AreEqual (false, c.ContainsKey ("p"), "#D7");
258                         Assert.AreEqual (null, c [""], "#D8");
259                         Assert.AreEqual (null, c [null], "#D9");
260                         Assert.AreEqual (panel1, c ["p1"], "#D10");
261                         Assert.AreEqual (panel1, c ["P1"], "#D11");
262                         Assert.AreEqual (null, c ["p2"], "#D12");
263                         Assert.AreEqual (null, c ["P2"], "#D13");
264                         Assert.AreEqual (null, c ["p3"], "#D14");
265                         Assert.AreEqual (null, c ["p"], "#D15");
266                         
267                         c.RemoveByKey ("P1");
268
269                         Assert.AreEqual (false, c.ContainsKey ("p1"), "#E1");
270                         Assert.AreEqual (false, c.ContainsKey ("P1"), "#E2");
271                         Assert.AreEqual (false, c.ContainsKey ("P2"), "#E3");
272                         Assert.AreEqual (false, c.ContainsKey (""), "#E4");
273                         Assert.AreEqual (false, c.ContainsKey (null), "#E5");
274                         Assert.AreEqual (false, c.ContainsKey ("p3"), "#E6");
275                         Assert.AreEqual (false, c.ContainsKey ("p"), "#E7");
276                         Assert.AreEqual (null, c [""], "#E8");
277                         Assert.AreEqual (null, c [null], "#E9");
278                         Assert.AreEqual (null, c ["p1"], "#E10");
279                         Assert.AreEqual (null, c ["P1"], "#E11");
280                         Assert.AreEqual (null, c ["p2"], "#E12");
281                         Assert.AreEqual (null, c ["P2"], "#E13");
282                         Assert.AreEqual (null, c ["p3"], "#E14");
283                         Assert.AreEqual (null, c ["p"], "#E15");
284
285                         c.RemoveByKey ("");
286
287                         Assert.AreEqual (false, c.ContainsKey ("p1"), "#F1");
288                         Assert.AreEqual (false, c.ContainsKey ("P1"), "#F2");
289                         Assert.AreEqual (false, c.ContainsKey ("P2"), "#F3");
290                         Assert.AreEqual (false, c.ContainsKey (""), "#F4");
291                         Assert.AreEqual (false, c.ContainsKey (null), "#F5");
292                         Assert.AreEqual (false, c.ContainsKey ("p3"), "#F6");
293                         Assert.AreEqual (false, c.ContainsKey ("p"), "#F7");
294                         Assert.AreEqual (null, c [""], "#F8");
295                         Assert.AreEqual (null, c [null], "#F9");
296                         Assert.AreEqual (null, c ["p1"], "#F10");
297                         Assert.AreEqual (null, c ["P1"], "#F11");
298                         Assert.AreEqual (null, c ["p2"], "#F12");
299                         Assert.AreEqual (null, c ["P2"], "#F13");
300                         Assert.AreEqual (null, c ["p3"], "#F14");
301                         Assert.AreEqual (null, c ["p"], "#F15");
302
303
304                         c.RemoveByKey (null);
305
306                         Assert.AreEqual (false, c.ContainsKey ("p1"), "#G1");
307                         Assert.AreEqual (false, c.ContainsKey ("P1"), "#G2");
308                         Assert.AreEqual (false, c.ContainsKey ("P2"), "#G3");
309                         Assert.AreEqual (false, c.ContainsKey (""), "#G4");
310                         Assert.AreEqual (false, c.ContainsKey (null), "#G5");
311                         Assert.AreEqual (false, c.ContainsKey ("p3"), "#G6");
312                         Assert.AreEqual (false, c.ContainsKey ("p"), "#G7");
313                         Assert.AreEqual (null, c [""], "#G8");
314                         Assert.AreEqual (null, c [null], "#G9");
315                         Assert.AreEqual (null, c ["p1"], "#G10");
316                         Assert.AreEqual (null, c ["P1"], "#G11");
317                         Assert.AreEqual (null, c ["p2"], "#G12");
318                         Assert.AreEqual (null, c ["P2"], "#G13");
319                         Assert.AreEqual (null, c ["p3"], "#G14");
320                         Assert.AreEqual (null, c ["p"], "#G15");
321                         
322                 }
323                 
324                 public void ContainsKeyTest ()
325                 {
326
327                         StatusBar bar = new StatusBar ();
328                         StatusBar.StatusBarPanelCollection c = new StatusBar.StatusBarPanelCollection (bar);
329
330                         StatusBarPanel panel1 = new StatusBarPanel ();
331                         StatusBarPanel panel2 = new StatusBarPanel ();
332                         StatusBarPanel panel3 = new StatusBarPanel ();
333                         StatusBarPanel panel4 = new StatusBarPanel ();
334                         StatusBarPanel panel5 = new StatusBarPanel ();
335
336
337                         panel1.Name = "p1";
338                         panel2.Name = "p2";
339                         panel3.Name = "P2";
340                         panel4.Name = "";
341                         panel5.Name = null;
342                         
343                         c.AddRange (new StatusBarPanel [] {panel1, panel2, panel3, panel4, panel5});
344                         
345                         Assert.AreEqual (true, c.ContainsKey ("p1"), "#1");
346                         Assert.AreEqual (true, c.ContainsKey ("P1"), "#2");
347                         Assert.AreEqual (true, c.ContainsKey ("P2"), "#3");
348                         Assert.AreEqual (false, c.ContainsKey (""), "#4");
349                         Assert.AreEqual (false, c.ContainsKey (null), "#5");
350                         Assert.AreEqual (false, c.ContainsKey ("p3"), "#6");
351                         Assert.AreEqual (false, c.ContainsKey ("p"), "#7");
352
353                 }
354                 
355                 public void IndexByKeyTest ()
356                 {
357                         StatusBar bar = new StatusBar ();
358                         StatusBar.StatusBarPanelCollection c = new StatusBar.StatusBarPanelCollection (bar);
359
360                         StatusBarPanel panel1 = new StatusBarPanel ();
361                         StatusBarPanel panel2 = new StatusBarPanel ();
362                         StatusBarPanel panel3 = new StatusBarPanel ();
363                         StatusBarPanel panel4 = new StatusBarPanel ();
364                         StatusBarPanel panel5 = new StatusBarPanel ();
365
366
367                         panel1.Name = "p1";
368                         panel2.Name = "p2";
369                         panel3.Name = "P2";
370                         panel4.Name = "";
371                         panel5.Name = null;
372
373                         c.AddRange (new StatusBarPanel [] { panel1, panel2, panel3, panel4, panel5 });
374                         
375                         Assert.AreEqual (-1, c.IndexOfKey (""), "#1");
376                         Assert.AreEqual (-1, c.IndexOfKey (null), "#2");
377                         Assert.AreEqual (0, c.IndexOfKey ("p1"), "#3");
378                         Assert.AreEqual (0, c.IndexOfKey ("P1"), "#4");
379                         Assert.AreEqual (1, c.IndexOfKey ("p2"), "#5");
380                         Assert.AreEqual (1, c.IndexOfKey ("P2"), "#6");
381                         Assert.AreEqual (-1, c.IndexOfKey ("p3"), "#7");
382                         Assert.AreEqual (-1, c.IndexOfKey ("p"), "#8");                 
383                 }
384
385                 [Test]
386                 public void PanelParentAlwaysSet()
387                 {
388                         // Ensure that the panel is always correctly initialized (Parent set) 
389                         // even when added to the collection even by the IList interface methods.
390                         //
391                         StatusBar.StatusBarPanelCollection coll;
392                         coll = CreateStatusBarPanelCollection ();
393                         StatusBarPanel sbp;
394                         //
395                         coll.Add ("panel1");
396                         Assert.IsNotNull (coll [0].Parent, "Add(String) null!");
397                         //
398                         sbp = new StatusBarPanel ();
399                         Assert.IsNull (sbp.Parent, "checking test precondition that Parent is null initially");
400                         coll.Add (sbp);
401                         Assert.IsNotNull (sbp.Parent, "Add(StatusBarPanel) null!");
402                         //
403                         sbp = new StatusBarPanel ();
404                         coll.Insert (1, sbp);
405                         Assert.IsNotNull (sbp.Parent, "Insert(int, StatusBarPanel) null!");
406                         //
407                         sbp = new StatusBarPanel ();
408                         coll[0] = sbp;
409                         Assert.IsNotNull (sbp.Parent, "this[int] null!");
410                         //
411                         // IList interface
412                         sbp = new StatusBarPanel ();
413                         ((IList)coll).Add (sbp);
414                         Assert.IsNotNull (sbp.Parent, "IList.Add(object) null!");
415                         //
416                         sbp = new StatusBarPanel ();
417                         ((IList)coll).Insert (2, sbp);
418                         Assert.IsNotNull (sbp.Parent, "IList.Insert(int, object) null!");
419                         //
420                         sbp = new StatusBarPanel ();
421                         ((IList)coll)[0] = sbp;
422                         Assert.IsNotNull (sbp.Parent, "IList.this[int] null!");
423                 }
424
425                 [Test]
426                 public void Interface_Misc()
427                 {
428                         // Test other interface methods.
429                         //
430                         StatusBar.StatusBarPanelCollection coll;
431                         // From bug XXXXXX -- Ensure that the internal list is initialized when 
432                         // calling an interface method first.
433                         coll = CreateStatusBarPanelCollection ();
434                         object[] arr = new object[coll.Count];
435                         ((ICollection)coll).CopyTo (arr, 0);
436                         coll = CreateStatusBarPanelCollection ();
437                         ((IList)coll).Add (new StatusBarPanel ());
438                         //
439                         // Check what happens when a non-StatusBarPanel type is passed into the 
440                         // interface methods.
441                         object tmp = new Version (1, 2, 3, 4);
442                         try {
443                                 ((IList)coll) [0] = tmp;
444                         } catch (ArgumentException) { }
445                         try {
446                                 ((IList)coll).Add (tmp);
447                         } catch (ArgumentException) { }
448                         Assert.IsFalse (((IList)coll).Contains (tmp), "Contains(tmp)");
449                         Assert.AreEqual (-1, ((IList)coll).IndexOf (tmp), "IndexOf (tmp)");
450                         try {
451                                 ((IList)coll).Insert (0, tmp);
452                         } catch (ArgumentException) { }
453                         ((IList)coll).Remove (tmp);
454                         //
455                         // Note that adding null fails, thus the try cast to 
456                         // StatusBarPanel means that the Contains/IndexOf/Remove 
457                         // methods will fail as shown above when passed another type.
458                         try {
459                                 coll.Add ((StatusBarPanel)null);
460                         } catch (ArgumentNullException) { }
461                 }
462
463                 StatusBar.StatusBarPanelCollection CreateStatusBarPanelCollection()
464                 {
465                         return new StatusBar.StatusBarPanelCollection (new StatusBar ());
466                 }
467
468                 [Test]
469                 public void Interface_AddRemoveTest()
470                 {
471                         // Copy of test, for the equivalent ICollection/IList members.
472                         //
473                         StatusBar bar = new StatusBar ();
474                         StatusBar.StatusBarPanelCollection collectionX = new StatusBar.StatusBarPanelCollection (bar);
475                         IList collection = collectionX;
476
477                         StatusBarPanel panel = new StatusBarPanel ();
478                         StatusBarPanel panel2 = new StatusBarPanel ();
479
480                         collection.Add (panel);
481                         Assert.AreEqual (1, collection.Count, "#1");
482
483                         collection.Remove (panel);
484                         Assert.AreEqual (0, collection.Count, "#2");
485
486                         collection.Add (panel);
487                         collection.RemoveAt (0);
488                         Assert.AreEqual (0, collection.Count, "#3");
489
490                         collection.Add (panel);
491                         Assert.AreEqual (0, collection.IndexOf (panel), "#4");
492                         Assert.AreEqual (-1, collection.IndexOf (panel2), "#5");
493
494                         collection.Add (panel2);
495                         Assert.AreEqual (1, collection.IndexOf (panel2), "#6");
496
497                         collection.RemoveAt (0);
498                         Assert.AreEqual (0, collection.IndexOf (panel2), "#7");
499                         Assert.AreEqual (1, collection.Count, "#8");
500
501                         Assert.AreEqual (false, collection.Contains (panel), "#9");
502                         Assert.AreEqual (true, collection.Contains (panel2), "#10");
503
504                 }
505
506                 [Test]
507                 public void Insert()
508                 {
509                         StatusBar bar = new StatusBar ();
510                         StatusBar.StatusBarPanelCollection collection = new StatusBar.StatusBarPanelCollection (bar);
511
512                         StatusBarPanel panel = new StatusBarPanel ();
513                         StatusBarPanel panel2 = new StatusBarPanel ();
514
515                         collection.Add (panel);
516                         Assert.AreEqual (1, collection.Count, "#1");
517
518                         collection.Insert (0, panel);
519                         Assert.AreEqual (2, collection.Count, "#2");
520                 }
521
522                 [Test]
523                 public void Interface_Insert()
524                 {
525                         // Copy of test, for the equivalent ICollection/IList members.
526                         //
527                         StatusBar bar = new StatusBar ();
528                         StatusBar.StatusBarPanelCollection collectionX = new StatusBar.StatusBarPanelCollection (bar);
529                         IList collection = collectionX;
530
531                         StatusBarPanel panel = new StatusBarPanel ();
532                         StatusBarPanel panel2 = new StatusBarPanel ();
533
534                         collection.Add (panel);
535                         Assert.AreEqual (1, collection.Count, "#1");
536
537                         collection.Insert (0, panel);
538                         Assert.AreEqual (2, collection.Count, "#2");
539                 }
540
541         }
542 }