CheckedListBoxTest.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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. ListBox mylistbox = new ListBox ();
  25. ArrayList checked_items = new ArrayList (2);
  26. ArrayList checked_pos = new ArrayList (2);
  27. mychklistbox.Items.Add ("test1", true);
  28. checked_items.Add ("test1"); checked_pos.Add (0);
  29. mychklistbox.Items.Add ("test2");
  30. mychklistbox.Items.Add ("test3", true);
  31. checked_items.Add ("test3"); checked_pos.Add (2);
  32. mychklistbox.Visible = true;
  33. myform.Controls.Add (mychklistbox);
  34. Assert.AreEqual (checked_items.Count, mychklistbox.CheckedIndices.Count, "#1");
  35. Assert.AreEqual (checked_items.Count, mychklistbox.CheckedItems.Count, "#2");
  36. foreach (object o in mychklistbox.CheckedItems)
  37. {
  38. Assert.IsTrue (checked_items.Contains (o),"#3");
  39. checked_items.Remove (o);
  40. }
  41. Assert.AreEqual (0, checked_items.Count);
  42. for (int i = 0; i < mychklistbox.Items.Count; ++i)
  43. {
  44. if (checked_pos.Contains (i))
  45. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (i),"#4");
  46. else
  47. Assert.IsFalse (CheckState.Checked == mychklistbox.GetItemCheckState (i),"#5");
  48. }
  49. Assert.AreEqual (false, mychklistbox.CheckOnClick, "#6");
  50. Assert.AreEqual (3, mychklistbox.Items.Count, "#7");
  51. Assert.AreEqual (SelectionMode.One, mychklistbox.SelectionMode, "#8");
  52. Assert.AreEqual (false , mychklistbox.ThreeDCheckBoxes, "#9");
  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. }
  69. [Test]
  70. [ExpectedException (typeof (ArgumentOutOfRangeException) )]
  71. public void GetItemCheckedExceptionTest ()
  72. {
  73. CheckedListBox mychklistbox = new CheckedListBox ();
  74. mychklistbox.Items.Add ("test1",true);
  75. Assert.AreEqual (true, mychklistbox.GetItemChecked (1), "#13");
  76. }
  77. [Test]
  78. public void GetItemCheckStateTest ()
  79. {
  80. Form f = new Form ();
  81. f.Visible = true;
  82. CheckedListBox mychklistbox = new CheckedListBox ();
  83. mychklistbox.Items.Add ("test1",true);
  84. mychklistbox.Items.Add ("test2",CheckState.Indeterminate);
  85. mychklistbox.Items.Add ("test3");
  86. mychklistbox.Visible = true;
  87. f.Controls.Add (mychklistbox);
  88. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#14");
  89. Assert.AreEqual (CheckState.Indeterminate, mychklistbox.GetItemCheckState (1), "#15");
  90. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (2), "#16");
  91. }
  92. [Test]
  93. public void SetItemCheckedTest ()
  94. {
  95. Form myform = new Form ();
  96. myform.Visible = true;
  97. CheckedListBox mychklistbox = new CheckedListBox ();
  98. mychklistbox.Items.Add ("test1");
  99. mychklistbox.Items.Add ("test2");
  100. mychklistbox.Visible = true;
  101. myform.Controls.Add (mychklistbox);
  102. mychklistbox.SetItemChecked (0,true);
  103. mychklistbox.SetItemChecked (1,false);
  104. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#17");
  105. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (1), "#18");
  106. }
  107. [Test]
  108. public void SetItemCheckStateTest ()
  109. {
  110. Form myform = new Form ();
  111. myform.Visible = true;
  112. CheckedListBox mychklistbox = new CheckedListBox ();
  113. mychklistbox.Items.Add ("test1");
  114. mychklistbox.Items.Add ("test2");
  115. mychklistbox.Items.Add ("test3");
  116. mychklistbox.Visible = true;
  117. myform.Controls.Add (mychklistbox);
  118. mychklistbox.SetItemCheckState (0,CheckState.Checked);
  119. mychklistbox.SetItemCheckState (1,CheckState.Indeterminate);
  120. mychklistbox.SetItemCheckState (2,CheckState.Unchecked);
  121. Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#19");
  122. Assert.AreEqual (CheckState.Indeterminate, mychklistbox.GetItemCheckState (1), "#20");
  123. Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (2), "#21");
  124. }
  125. }
  126. }