CheckedListBoxTest.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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. }
  53. [Test]
  54. public void GetItemCheckedTest ()
  55. {
  56. Form f = new Form ();
  57. f.Visible = true;
  58. CheckedListBox mychklistbox = new CheckedListBox ();
  59. mychklistbox.Items.Add ("test1",true);
  60. mychklistbox.Items.Add ("test2",CheckState.Indeterminate);
  61. mychklistbox.Items.Add ("test3");
  62. mychklistbox.Visible = true;
  63. f.Controls.Add (mychklistbox);
  64. Assert.AreEqual (true, mychklistbox.GetItemChecked (0), "#10");
  65. Assert.AreEqual (true, mychklistbox.GetItemChecked (1), "#11");
  66. Assert.AreEqual (false, mychklistbox.GetItemChecked (2), "#12");
  67. }
  68. [Test]
  69. [ExpectedException (typeof (ArgumentOutOfRangeException) )]
  70. public void GetItemCheckedExceptionTest ()
  71. {
  72. CheckedListBox mychklistbox = new CheckedListBox ();
  73. mychklistbox.Items.Add ("test1",true);
  74. Assert.AreEqual (true, mychklistbox.GetItemChecked (1), "#13");
  75. }
  76. [Test]
  77. public void GetItemCheckStateTest ()
  78. {
  79. Form f = new Form ();
  80. f.Visible = true;
  81. CheckedListBox mychklistbox = new CheckedListBox ();
  82. mychklistbox.Items.Add ("test1",true);
  83. mychklistbox.Items.Add ("test2",CheckState.Indeterminate);
  84. mychklistbox.Items.Add ("test3");
  85. mychklistbox.Visible = true;
  86. f.Controls.Add (mychklistbox);
  87. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#14");
  88. Assert.AreEqual (CheckState.Indeterminate, mychklistbox.GetItemCheckState (1), "#15");
  89. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (2), "#16");
  90. }
  91. [Test]
  92. public void SetItemCheckedTest ()
  93. {
  94. Form myform = new Form ();
  95. myform.Visible = true;
  96. CheckedListBox mychklistbox = new CheckedListBox ();
  97. mychklistbox.Items.Add ("test1");
  98. mychklistbox.Items.Add ("test2");
  99. mychklistbox.Visible = true;
  100. myform.Controls.Add (mychklistbox);
  101. mychklistbox.SetItemChecked (0,true);
  102. mychklistbox.SetItemChecked (1,false);
  103. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#17");
  104. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (1), "#18");
  105. }
  106. [Test]
  107. public void SetItemCheckStateTest ()
  108. {
  109. Form myform = new Form ();
  110. myform.Visible = true;
  111. CheckedListBox mychklistbox = new CheckedListBox ();
  112. mychklistbox.Items.Add ("test1");
  113. mychklistbox.Items.Add ("test2");
  114. mychklistbox.Items.Add ("test3");
  115. mychklistbox.Visible = true;
  116. myform.Controls.Add (mychklistbox);
  117. mychklistbox.SetItemCheckState (0,CheckState.Checked);
  118. mychklistbox.SetItemCheckState (1,CheckState.Indeterminate);
  119. mychklistbox.SetItemCheckState (2,CheckState.Unchecked);
  120. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#19");
  121. Assert.AreEqual (CheckState.Indeterminate, mychklistbox.GetItemCheckState (1), "#20");
  122. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (2), "#21");
  123. }
  124. }
  125. }