CheckedListBoxTest.cs 4.8 KB

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