* Test/System.Windows.Forms/TestHelper.cs: Inconsistent eol fixes and
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / ControlCollectionTest.cs
1 #if NET_2_0
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5 using NUnit.Framework;
6 using System.Drawing;
7 using System.Windows.Forms;
8
9 namespace MonoTests.System.Windows.Forms
10 {
11         [TestFixture]
12         public class ControlCollectionTest : TestHelper
13         {
14                 [Test]
15                 public void ControlCollectionTests ()
16                 {
17                         Control c = new Control ();
18                         c.Name = "A";
19                         Control c2 = new Control ();
20                         c2.Name = "B";
21                         Control c3 = new Control ();
22                         c3.Name = "a";
23                         Control c4 = new Control ();
24                         c4.Name = "B";
25                         Control c5 = new Control ();
26                         c5.Name = "a";
27                         
28                         c.Controls.Add (c2);
29                         c.Controls.Add (c3);
30                         c2.Controls.Add (c4);
31                         c2.Controls.Add (c5);
32                         
33                         // this[key]
34                         Assert.AreSame (c2, c.Controls["B"], "A1");
35                         Assert.AreSame (c2, c.Controls["b"], "A2");
36                         
37                         // Owner
38                         Assert.AreSame (c, c.Controls.Owner, "A3");
39                         
40                         // ContainsKey
41                         Assert.AreEqual (true, c.Controls.ContainsKey ("A"), "A4");
42                         Assert.AreEqual (true, c.Controls.ContainsKey ("a"), "A5");
43                         Assert.AreEqual (false, c.Controls.ContainsKey ("C"), "A6"); 
44                 
45                         // Find
46                         Assert.AreEqual (1, c.Controls.Find ("A", false).Length, "A7");
47                         Assert.AreEqual (1, c.Controls.Find ("a", false).Length, "A8");
48                         Assert.AreEqual (0, c.Controls.Find ("C", false).Length, "A9");
49
50                         Assert.AreEqual (2, c.Controls.Find ("A", true).Length, "A10");
51                         Assert.AreEqual (2, c.Controls.Find ("a", true).Length, "A11");
52                         Assert.AreEqual (0, c.Controls.Find ("C", true).Length, "A12");
53                         Assert.AreEqual (1, c2.Controls.Find ("b", true).Length, "A13");
54                         
55                         // IndexOfKey
56                         Assert.AreEqual (1, c.Controls.IndexOfKey ("A"), "A14");
57                         Assert.AreEqual (1, c.Controls.IndexOfKey ("a"), "A15");
58                         Assert.AreEqual (-1, c.Controls.IndexOfKey ("C"), "A16");
59         
60                         // RemoveByKey
61                         c.Controls.RemoveByKey ("A");
62                         Assert.AreEqual (1, c.Controls.Count, "A17");
63                         
64                         c.Controls.RemoveByKey ("b");
65                         Assert.AreEqual (0, c.Controls.Count, "A18");
66
67                         c.Controls.RemoveByKey (null);
68                 }
69
70                 [Test]
71                 [ExpectedException (typeof (ArgumentNullException))]
72                 public void ControlCollectionFindANE ()
73                 {
74                         Control c = new Control ();
75                         c.Controls.Find ("", false);
76                 }
77         }
78 }
79 #endif