ControlCollectionTest.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. namespace MonoTests.System.Windows.Forms
  9. {
  10. [TestFixture]
  11. public class ControlCollectionTest
  12. {
  13. [Test]
  14. public void ControlCollectionTests ()
  15. {
  16. Control c = new Control ();
  17. c.Name = "A";
  18. Control c2 = new Control ();
  19. c2.Name = "B";
  20. Control c3 = new Control ();
  21. c3.Name = "a";
  22. Control c4 = new Control ();
  23. c4.Name = "B";
  24. Control c5 = new Control ();
  25. c5.Name = "a";
  26. c.Controls.Add (c2);
  27. c.Controls.Add (c3);
  28. c2.Controls.Add (c4);
  29. c2.Controls.Add (c5);
  30. // this[key]
  31. Assert.AreSame (c2, c.Controls["B"], "A1");
  32. Assert.AreSame (c2, c.Controls["b"], "A2");
  33. // Owner
  34. Assert.AreSame (c, c.Controls.Owner, "A3");
  35. // ContainsKey
  36. Assert.AreEqual (true, c.Controls.ContainsKey ("A"), "A4");
  37. Assert.AreEqual (true, c.Controls.ContainsKey ("a"), "A5");
  38. Assert.AreEqual (false, c.Controls.ContainsKey ("C"), "A6");
  39. // Find
  40. Assert.AreEqual (1, c.Controls.Find ("A", false).Length, "A7");
  41. Assert.AreEqual (1, c.Controls.Find ("a", false).Length, "A8");
  42. Assert.AreEqual (0, c.Controls.Find ("C", false).Length, "A9");
  43. Assert.AreEqual (2, c.Controls.Find ("A", true).Length, "A10");
  44. Assert.AreEqual (2, c.Controls.Find ("a", true).Length, "A11");
  45. Assert.AreEqual (0, c.Controls.Find ("C", true).Length, "A12");
  46. Assert.AreEqual (1, c2.Controls.Find ("b", true).Length, "A13");
  47. // IndexOfKey
  48. Assert.AreEqual (1, c.Controls.IndexOfKey ("A"), "A14");
  49. Assert.AreEqual (1, c.Controls.IndexOfKey ("a"), "A15");
  50. Assert.AreEqual (-1, c.Controls.IndexOfKey ("C"), "A16");
  51. // RemoveByKey
  52. c.Controls.RemoveByKey ("A");
  53. Assert.AreEqual (1, c.Controls.Count, "A17");
  54. c.Controls.RemoveByKey ("b");
  55. Assert.AreEqual (0, c.Controls.Count, "A18");
  56. c.Controls.RemoveByKey (null);
  57. }
  58. [Test]
  59. [ExpectedException (typeof (ArgumentNullException))]
  60. public void ControlCollectionFindANE ()
  61. {
  62. Control c = new Control ();
  63. c.Controls.Find ("", false);
  64. }
  65. }
  66. }
  67. #endif