CheckedListBoxTest.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. //
  2. // Copyright (c) 2005 Novell, Inc.
  3. //
  4. // Authors:
  5. // Ritvik Mayank ([email protected])
  6. //
  7. using System;
  8. using System.Collections;
  9. using System.Windows.Forms;
  10. using System.Drawing;
  11. using System.Reflection;
  12. using NUnit.Framework;
  13. namespace MonoTests.System.Windows.Forms
  14. {
  15. [TestFixture]
  16. public class CheckedListBoxTest
  17. {
  18. [Test]
  19. public void CheckedListBoxPropertyTest ()
  20. {
  21. Form myform = new Form ();
  22. myform.Visible = true;
  23. CheckedListBox mychklistbox = new CheckedListBox ();
  24. ArrayList checked_items = new ArrayList (2);
  25. ArrayList checked_pos = new ArrayList (2);
  26. mychklistbox.Items.Add ("test1", true);
  27. checked_items.Add ("test1"); checked_pos.Add (0);
  28. mychklistbox.Items.Add ("test2");
  29. mychklistbox.Items.Add ("test3", true);
  30. checked_items.Add ("test3"); checked_pos.Add (2);
  31. mychklistbox.Visible = true;
  32. myform.Controls.Add (mychklistbox);
  33. Assert.AreEqual (checked_items.Count, mychklistbox.CheckedIndices.Count, "#1");
  34. Assert.AreEqual (checked_items.Count, mychklistbox.CheckedItems.Count, "#2");
  35. foreach (object o in mychklistbox.CheckedItems)
  36. {
  37. Assert.IsTrue (checked_items.Contains (o),"#3");
  38. checked_items.Remove (o);
  39. }
  40. Assert.AreEqual (0, checked_items.Count);
  41. for (int i = 0; i < mychklistbox.Items.Count; ++i)
  42. {
  43. if (checked_pos.Contains (i))
  44. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (i),"#4");
  45. else
  46. Assert.IsFalse (CheckState.Checked == mychklistbox.GetItemCheckState (i),"#5");
  47. }
  48. Assert.AreEqual (false, mychklistbox.CheckOnClick, "#6");
  49. Assert.AreEqual (3, mychklistbox.Items.Count, "#7");
  50. Assert.AreEqual (SelectionMode.One, mychklistbox.SelectionMode, "#8");
  51. Assert.AreEqual (false , mychklistbox.ThreeDCheckBoxes, "#9");
  52. myform.Dispose ();
  53. }
  54. [Test]
  55. public void GetItemCheckedTest ()
  56. {
  57. Form f = new Form ();
  58. f.Visible = true;
  59. CheckedListBox mychklistbox = new CheckedListBox ();
  60. mychklistbox.Items.Add ("test1",true);
  61. mychklistbox.Items.Add ("test2",CheckState.Indeterminate);
  62. mychklistbox.Items.Add ("test3");
  63. mychklistbox.Visible = true;
  64. f.Controls.Add (mychklistbox);
  65. Assert.AreEqual (true, mychklistbox.GetItemChecked (0), "#10");
  66. Assert.AreEqual (true, mychklistbox.GetItemChecked (1), "#11");
  67. Assert.AreEqual (false, mychklistbox.GetItemChecked (2), "#12");
  68. f.Dispose ();
  69. }
  70. [Test]
  71. [ExpectedException (typeof (ArgumentOutOfRangeException) )]
  72. public void GetItemCheckedExceptionTest ()
  73. {
  74. CheckedListBox mychklistbox = new CheckedListBox ();
  75. mychklistbox.Items.Add ("test1",true);
  76. Assert.AreEqual (true, mychklistbox.GetItemChecked (1), "#13");
  77. }
  78. [Test]
  79. public void GetItemCheckStateTest ()
  80. {
  81. Form f = new Form ();
  82. f.Visible = true;
  83. CheckedListBox mychklistbox = new CheckedListBox ();
  84. mychklistbox.Items.Add ("test1",true);
  85. mychklistbox.Items.Add ("test2",CheckState.Indeterminate);
  86. mychklistbox.Items.Add ("test3");
  87. mychklistbox.Visible = true;
  88. f.Controls.Add (mychklistbox);
  89. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#14");
  90. Assert.AreEqual (CheckState.Indeterminate, mychklistbox.GetItemCheckState (1), "#15");
  91. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (2), "#16");
  92. f.Dispose ();
  93. }
  94. [Test]
  95. public void SetItemCheckedTest ()
  96. {
  97. Form myform = new Form ();
  98. myform.Visible = true;
  99. CheckedListBox mychklistbox = new CheckedListBox ();
  100. mychklistbox.Items.Add ("test1");
  101. mychklistbox.Items.Add ("test2");
  102. mychklistbox.Visible = true;
  103. myform.Controls.Add (mychklistbox);
  104. mychklistbox.SetItemChecked (0,true);
  105. mychklistbox.SetItemChecked (1,false);
  106. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#17");
  107. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (1), "#18");
  108. myform.Dispose ();
  109. }
  110. [Test]
  111. public void SetItemCheckStateTest ()
  112. {
  113. Form myform = new Form ();
  114. myform.Visible = true;
  115. CheckedListBox mychklistbox = new CheckedListBox ();
  116. mychklistbox.Items.Add ("test1");
  117. mychklistbox.Items.Add ("test2");
  118. mychklistbox.Items.Add ("test3");
  119. mychklistbox.Visible = true;
  120. myform.Controls.Add (mychklistbox);
  121. mychklistbox.SetItemCheckState (0,CheckState.Checked);
  122. mychklistbox.SetItemCheckState (1,CheckState.Indeterminate);
  123. mychklistbox.SetItemCheckState (2,CheckState.Unchecked);
  124. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#19");
  125. Assert.AreEqual (CheckState.Indeterminate, mychklistbox.GetItemCheckState (1), "#20");
  126. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (2), "#21");
  127. myform.Dispose ();
  128. }
  129. }
  130. }