2 // Copyright (c) 2005 Novell, Inc.
5 // Ritvik Mayank (mritvik@novell.com)
9 using System.Collections;
10 using System.Windows.Forms;
12 using System.Reflection;
13 using NUnit.Framework;
15 namespace MonoTests.System.Windows.Forms
18 public class CheckedListBoxTest
21 public void CheckedListBoxPropertyTest ()
23 Form myform = new Form ();
24 myform.Visible = true;
25 CheckedListBox mychklistbox = new CheckedListBox ();
26 ArrayList checked_items = new ArrayList (2);
27 ArrayList checked_pos = new ArrayList (2);
28 mychklistbox.Items.Add ("test1", true);
29 checked_items.Add ("test1"); checked_pos.Add (0);
30 mychklistbox.Items.Add ("test2");
31 mychklistbox.Items.Add ("test3", true);
32 checked_items.Add ("test3"); checked_pos.Add (2);
33 mychklistbox.Visible = true;
34 myform.Controls.Add (mychklistbox);
35 Assert.AreEqual (checked_items.Count, mychklistbox.CheckedIndices.Count, "#1");
36 Assert.AreEqual (checked_items.Count, mychklistbox.CheckedItems.Count, "#2");
37 foreach (object o in mychklistbox.CheckedItems)
39 Assert.IsTrue (checked_items.Contains (o),"#3");
40 checked_items.Remove (o);
43 Assert.AreEqual (0, checked_items.Count);
44 for (int i = 0; i < mychklistbox.Items.Count; ++i)
46 if (checked_pos.Contains (i))
47 Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (i),"#4");
49 Assert.IsFalse (CheckState.Checked == mychklistbox.GetItemCheckState (i),"#5");
51 Assert.AreEqual (false, mychklistbox.CheckOnClick, "#6");
52 Assert.AreEqual (3, mychklistbox.Items.Count, "#7");
53 Assert.AreEqual (SelectionMode.One, mychklistbox.SelectionMode, "#8");
54 Assert.AreEqual (false , mychklistbox.ThreeDCheckBoxes, "#9");
58 public void GetItemCheckedTest ()
62 CheckedListBox mychklistbox = new CheckedListBox ();
63 mychklistbox.Items.Add ("test1",true);
64 mychklistbox.Items.Add ("test2",CheckState.Indeterminate);
65 mychklistbox.Items.Add ("test3");
66 mychklistbox.Visible = true;
67 f.Controls.Add (mychklistbox);
68 Assert.AreEqual (true, mychklistbox.GetItemChecked (0), "#10");
69 Assert.AreEqual (true, mychklistbox.GetItemChecked (1), "#11");
70 Assert.AreEqual (false, mychklistbox.GetItemChecked (2), "#12");
74 [ExpectedException (typeof (ArgumentOutOfRangeException) )]
75 public void GetItemCheckedExceptionTest ()
77 CheckedListBox mychklistbox = new CheckedListBox ();
78 mychklistbox.Items.Add ("test1",true);
79 Assert.AreEqual (true, mychklistbox.GetItemChecked (1), "#13");
83 public void GetItemCheckStateTest ()
87 CheckedListBox mychklistbox = new CheckedListBox ();
88 mychklistbox.Items.Add ("test1",true);
89 mychklistbox.Items.Add ("test2",CheckState.Indeterminate);
90 mychklistbox.Items.Add ("test3");
91 mychklistbox.Visible = true;
92 f.Controls.Add (mychklistbox);
93 Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#14");
94 Assert.AreEqual (CheckState.Indeterminate, mychklistbox.GetItemCheckState (1), "#15");
95 Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (2), "#16");
99 public void SetItemCheckedTest ()
101 Form myform = new Form ();
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");
115 public void SetItemCheckStateTest ()
117 Form myform = new Form ();
118 myform.Visible = true;
119 CheckedListBox mychklistbox = new CheckedListBox ();
120 mychklistbox.Items.Add ("test1");
121 mychklistbox.Items.Add ("test2");
122 mychklistbox.Items.Add ("test3");
123 mychklistbox.Visible = true;
124 myform.Controls.Add (mychklistbox);
125 mychklistbox.SetItemCheckState (0,CheckState.Checked);
126 mychklistbox.SetItemCheckState (1,CheckState.Indeterminate);
127 mychklistbox.SetItemCheckState (2,CheckState.Unchecked);
128 Assert.AreEqual (CheckState.Checked, mychklistbox.GetItemCheckState (0), "#19");
129 Assert.AreEqual (CheckState.Indeterminate, mychklistbox.GetItemCheckState (1), "#20");
130 Assert.AreEqual (CheckState.Unchecked, mychklistbox.GetItemCheckState (2), "#21");