Exemple #1
0
        public void SelectedValue2()
        {
            Form f = new Form();

            f.ShowInTaskbar = false;
            ListControlChild child = new ListControlChild();

            ArrayList list = new ArrayList();

            list.Add(new MockItem("A", 0));
            list.Add(new MockItem("B", 1));
            list.Add(new MockItem("C", 2));
            child.DataSource  = list;
            child.ValueMember = "Text";

            MockItem item = new MockItem(String.Empty, 0);

            child.DataBindings.Add("SelectedValue", item, "Text");

            Assert.AreEqual(-1, child.SelectedIndex, "#A1");

            f.Controls.Add(child);
            Assert.AreEqual(-1, child.SelectedIndex, "#B1");

            // When the form is shown, normally the SelectedIndex is the
            // CurrencyManager.Position (0 in this case), but it should remain as -1
            // since SelectedValue is bound to a String.Empty value. See #324286
            f.Show();
            CurrencyManager manager = (CurrencyManager)f.BindingContext [list];

            Assert.AreEqual(-1, child.SelectedIndex, "#C1");
            Assert.AreEqual(0, manager.Position, "#C2");

            f.Dispose();
        }
		public void DisplayMember_HandleCreated ()
		{
			MockItem itemA = new MockItem ("A1", 1);
			MockItem itemB = new MockItem ("B2", 2);
			MockItem itemC = new MockItem ("C3", 3);
			MockItem itemD = new MockItem ("D4", 4);
			MockItem itemE = new MockItem ("E5", 5);
			MockItem itemF = new MockItem ("F6", 6);

			CheckedListBox clb = new CheckedListBox ();
			clb.Items.Add (itemA, true);
			clb.Items.Add (itemC, false);
			clb.Items.Add (itemB, true);

			Form form = new Form ();
			form.ShowInTaskbar = false;
			form.Controls.Add (clb);
			form.Show ();

			Assert.AreEqual (string.Empty, clb.Text, "#A1");
			clb.SelectedIndex = 1;
			Assert.AreEqual (itemC.GetType ().FullName, clb.Text, "#A2");
			clb.DisplayMember = "Text";
			Assert.AreEqual ("C3", clb.Text, "#A3");
			clb.SelectedIndex = 2;
			Assert.AreEqual ("B2", clb.Text, "#A4");

			clb.Text = "C3";
			Assert.AreEqual (1, clb.SelectedIndex, "#B1");
			Assert.AreEqual ("C3", clb.Text, "#B2");
			clb.Text = "B";
			Assert.AreEqual (1, clb.SelectedIndex, "#B3");
			Assert.AreEqual ("C3", clb.Text, "#B4");

			ArrayList itemList = new ArrayList ();
			itemList.Add (itemD);
			itemList.Add (itemE);
			itemList.Add (itemF);

			clb.DataSource = itemList;
			clb.DisplayMember = string.Empty;
			clb.SelectedIndex = 1;

			Assert.AreEqual (itemC.GetType ().FullName, clb.Text, "#C1");
			clb.DisplayMember = "Text";
			Assert.AreEqual ("E5", clb.Text, "#C2");
			clb.SelectedIndex = 2;
			Assert.AreEqual ("F6", clb.Text, "#C3");

			clb.Text = "E5";
			Assert.AreEqual (1, clb.SelectedIndex, "#D1");
			Assert.AreEqual ("E5", clb.Text, "#D2");
			clb.Text = "D";
			Assert.AreEqual (1, clb.SelectedIndex, "#D3");
			Assert.AreEqual ("E5", clb.Text, "#D4");

			form.Dispose ();
		}
        public void DomainUpDown_Items_Add()
        {
            MockItem itemA = new MockItem("itemA");
            MockItem itemB = new MockItem("itemB");
            MockItem itemC = new MockItem("itemC");

            MockDomainUpDown dud = new MockDomainUpDown();

            dud.SelectedItemChanged += new EventHandler(DomainUpDown_SelectedItemChanged);
            dud.TextChanged         += new EventHandler(DomainUpDown_TextChanged);
            dud.Reset();

            dud.Items.Add(itemA);
            Assert.AreEqual(0, dud.CallStack.Count, "#A1");
            Assert.AreEqual(0, selected_item_changed, "#A2");
            Assert.AreEqual(0, text_changed, "#A3");
            Assert.AreEqual(-1, dud.SelectedIndex, "#A4");
            Assert.AreEqual(string.Empty, dud.Text, "#A5");
            Assert.AreEqual(1, dud.Items.Count, "#A6");
            Assert.AreSame(itemA, dud.Items [0], "#A7");

            dud.Items.Add(itemC);
            Assert.AreEqual(0, dud.CallStack.Count, "#B1");
            Assert.AreEqual(0, selected_item_changed, "#B2");
            Assert.AreEqual(0, text_changed, "#B3");
            Assert.AreEqual(-1, dud.SelectedIndex, "#B4");
            Assert.AreEqual(string.Empty, dud.Text, "#B5");
            Assert.AreEqual(2, dud.Items.Count, "#B6");
            Assert.AreSame(itemC, dud.Items [1], "#B7");

            dud.Items.Add(itemA);
            Assert.AreEqual(0, dud.CallStack.Count, "#C1");
            Assert.AreEqual(0, selected_item_changed, "#C2");
            Assert.AreEqual(0, text_changed, "#C3");
            Assert.AreEqual(-1, dud.SelectedIndex, "#C4");
            Assert.AreEqual(string.Empty, dud.Text, "#C5");
            Assert.AreEqual(3, dud.Items.Count, "#C6");
            Assert.AreSame(itemA, dud.Items [2], "#C7");

            dud.Sorted = true;
            Assert.AreEqual(3, dud.Items.Count, "#D1");
            Assert.AreSame(itemA, dud.Items [0], "#D2");
            Assert.AreSame(itemA, dud.Items [1], "#D3");
            Assert.AreSame(itemC, dud.Items [2], "#D4");

            // adding item causes re-sort
            dud.Items.Add(itemB);
            Assert.AreEqual(0, dud.CallStack.Count, "#E1");
            Assert.AreEqual(0, selected_item_changed, "#E2");
            Assert.AreEqual(0, text_changed, "#E3");
            Assert.AreEqual(-1, dud.SelectedIndex, "#E4");
            Assert.AreEqual(string.Empty, dud.Text, "#E5");
            Assert.AreEqual(4, dud.Items.Count, "#E6");
            Assert.AreSame(itemA, dud.Items [0], "#E7");
            Assert.AreSame(itemA, dud.Items [1], "#E8");
            Assert.AreSame(itemB, dud.Items [2], "#E9");
            Assert.AreSame(itemC, dud.Items [3], "#E10");
        }
        public void Text_SelectionMode_None()
        {
            MockItem itemA = new MockItem("A1", 1);
            MockItem itemB = new MockItem("B2", 2);
            MockItem itemC = new MockItem("C3", 3);
            MockItem itemD = new MockItem("C3", 4);
            MockItem itemE = new MockItem("", 5);
            MockItem itemF = new MockItem(null, 6);

            ArrayList itemList = new ArrayList();

            itemList.Add(itemA);
            itemList.Add(itemC);
            itemList.Add(itemB);
            itemList.Add(itemD);
            itemList.Add(itemE);
            itemList.Add(itemF);

            CheckedListBox clb = new CheckedListBox();

            clb.DisplayMember = "Text";
            clb.DataSource    = itemList;
            clb.SelectionMode = SelectionMode.None;

            Form form = new Form();

            form.ShowInTaskbar = false;
            form.Controls.Add(clb);
            form.Show();

            Assert.AreEqual(string.Empty, clb.Text, "#A1");
            Assert.AreEqual(-1, clb.SelectedIndex, "#A2");

            clb.Text = "B2";
            Assert.AreEqual("B2", clb.Text, "#B1");
            Assert.AreEqual(-1, clb.SelectedIndex, "#B2");

            clb.Text = "D";
            Assert.AreEqual("D", clb.Text, "#C1");
            Assert.AreEqual(-1, clb.SelectedIndex, "#C2");

            clb.Text = "Doesnotexist";
            Assert.AreEqual("Doesnotexist", clb.Text, "#D1");
            Assert.AreEqual(-1, clb.SelectedIndex, "#D2");

            clb.Text = string.Empty;
            Assert.AreEqual(string.Empty, clb.Text, "#E1");
            Assert.AreEqual(-1, clb.SelectedIndex, "#E2");

            clb.Text = null;
            Assert.AreEqual(string.Empty, clb.Text, "#F1");
            Assert.AreEqual(-1, clb.SelectedIndex, "#F2");

            form.Dispose();
        }
        public void ValueMember_HandleNotCreated()
        {
            MockItem itemA = new MockItem("A", 1);
            MockItem itemB = new MockItem("B", 2);
            MockItem itemC = new MockItem("C", 3);
            MockItem itemD = new MockItem("D", 4);
            MockItem itemE = new MockItem("E", 5);

            CheckedListBox clb = new CheckedListBox();

            clb.Items.Add(itemA, true);
            clb.Items.Add(itemC, false);
            clb.Items.Add(itemB, true);
            clb.SelectedIndex = 1;

            Assert.AreEqual(string.Empty, clb.ValueMember, "#A1");
            Assert.AreEqual(itemC.GetType().FullName, clb.Text, "#A2");
            Assert.IsNull(clb.SelectedValue, "#A3");

            clb.ValueMember = "Value";
            Assert.AreEqual("Value", clb.ValueMember, "#B1");
            Assert.AreEqual("3", clb.Text, "#B2");
            Assert.IsNull(clb.SelectedValue, "#B3");

            clb.DisplayMember = "Text";
            Assert.AreEqual("Value", clb.ValueMember, "#C1");
            Assert.AreEqual("C", clb.Text, "#C2");
            Assert.IsNull(clb.SelectedValue, "#C3");

            ArrayList itemList = new ArrayList();

            itemList.Add(itemD);
            itemList.Add(itemE);

            clb.DataSource    = itemList;
            clb.ValueMember   = string.Empty;
            clb.DisplayMember = string.Empty;
            clb.SelectedIndex = 1;

            Assert.AreEqual(string.Empty, clb.ValueMember, "#D1");
            Assert.AreEqual(itemC.GetType().FullName, clb.Text, "#D2");
            Assert.IsNull(clb.SelectedValue, "#D3");

            clb.ValueMember = "Value";
            Assert.AreEqual("Value", clb.ValueMember, "#E1");
            Assert.AreEqual("3", clb.Text, "#E2");
            Assert.IsNull(clb.SelectedValue, "#E3");

            clb.DisplayMember = "Text";
            Assert.AreEqual("Value", clb.ValueMember, "#F1");
            Assert.AreEqual("C", clb.Text, "#F2");
            Assert.IsNull(clb.SelectedValue, "#F3");
        }
        public void DisplayMember_HandleNotCreated()
        {
            MockItem itemA = new MockItem("A1", 1);
            MockItem itemB = new MockItem("B2", 2);
            MockItem itemC = new MockItem("C3", 3);
            MockItem itemD = new MockItem("D4", 4);
            MockItem itemE = new MockItem("E5", 5);
            MockItem itemF = new MockItem("F6", 6);

            CheckedListBox clb = new CheckedListBox();

            clb.Items.Add(itemA, true);
            clb.Items.Add(itemC, false);
            clb.Items.Add(itemB, true);

            Assert.AreEqual(string.Empty, clb.Text, "#A1");
            clb.SelectedIndex = 1;
            Assert.AreEqual(itemC.GetType().FullName, clb.Text, "#A2");
            clb.DisplayMember = "Text";
            Assert.AreEqual("C3", clb.Text, "#A3");
            clb.SelectedIndex = 2;
            Assert.AreEqual("B2", clb.Text, "#A4");

            clb.Text = "C3";
            Assert.AreEqual(1, clb.SelectedIndex, "#B1");
            Assert.AreEqual("C3", clb.Text, "#B2");
            clb.Text = "C";
            Assert.AreEqual(1, clb.SelectedIndex, "#B3");
            Assert.AreEqual("C3", clb.Text, "#B4");

            ArrayList itemList = new ArrayList();

            itemList.Add(itemD);
            itemList.Add(itemE);
            itemList.Add(itemF);

            clb.DataSource    = itemList;
            clb.DisplayMember = string.Empty;
            clb.SelectedIndex = 1;

            Assert.AreEqual(itemC.GetType().FullName, clb.Text, "#C1");
            clb.DisplayMember = "Text";
            Assert.AreEqual("C3", clb.Text, "#C2");
            clb.SelectedIndex = 2;
            Assert.AreEqual("B2", clb.Text, "#C3");
        }
Exemple #7
0
        public void GetItemText()
        {
            MockItem itemA = new MockItem("A", 1);
            MockItem itemB = new MockItem("B", 2);
            object   itemC = new object();

            ListControlChild lc = new ListControlChild();

            lc.DisplayMember = "Text";

            // No DataSource available
            Assert.AreEqual("A", lc.GetItemText(itemA), "#A1");
            Assert.AreEqual("B", lc.GetItemText(itemB), "#A2");
            Assert.AreEqual(itemC.GetType().FullName, lc.GetItemText(itemC), "#A3");

            lc.DisplayMember = String.Empty;

            Assert.AreEqual(itemA.GetType().FullName, lc.GetItemText(itemA), "#B1");
            Assert.AreEqual(itemB.GetType().FullName, lc.GetItemText(itemB), "#B2");
            Assert.AreEqual(itemC.GetType().FullName, lc.GetItemText(itemC), "#B3");

            // DataSource available
            object [] objects = new object [] { itemA, itemB, itemC };
            lc.DisplayMember = "Text";
            lc.DataSource    = objects;

            Assert.AreEqual("A", lc.GetItemText(itemA), "#C1");
            Assert.AreEqual("B", lc.GetItemText(itemB), "#C2");
            Assert.AreEqual(itemC.GetType().FullName, lc.GetItemText(itemC), "#C3");

            lc.DisplayMember = String.Empty;

            Assert.AreEqual(itemA.GetType().FullName, lc.GetItemText(itemA), "#D1");
            Assert.AreEqual(itemB.GetType().FullName, lc.GetItemText(itemB), "#D2");
            Assert.AreEqual(itemC.GetType().FullName, lc.GetItemText(itemC), "#D3");
        }
Exemple #8
0
        public void FilterItemOnProperty()
        {
            MockItem itemA = new MockItem("A", 1);
            MockItem itemB = new MockItem("B", 2);
            object   itemC = new object();

            ListControlChild lc = new ListControlChild();

            lc.DisplayMember = "Text";

            // No DataSource available
            Assert.AreEqual("A", lc.FilterItem(itemA, lc.DisplayMember), "#A1");
            Assert.AreEqual("B", lc.FilterItem(itemB, lc.DisplayMember), "#A2");
            Assert.AreEqual(itemC, lc.FilterItem(itemC, lc.DisplayMember), "#A3");

            lc.DisplayMember = String.Empty;

            Assert.AreEqual(itemA, lc.FilterItem(itemA, lc.DisplayMember), "#B1");
            Assert.AreEqual(itemB, lc.FilterItem(itemB, lc.DisplayMember), "#B2");
            Assert.AreEqual(itemC, lc.FilterItem(itemC, lc.DisplayMember), "#B3");

            // DataSource available
            object [] objects = new object [] { itemA, itemB, itemC };
            lc.DisplayMember = "Text";
            lc.DataSource    = objects;

            Assert.AreEqual("A", lc.FilterItem(itemA, lc.DisplayMember), "#C1");
            Assert.AreEqual("B", lc.FilterItem(itemB, lc.DisplayMember), "#C2");
            Assert.AreEqual(itemC, lc.FilterItem(itemC, lc.DisplayMember), "#C3");

            lc.DisplayMember = String.Empty;

            Assert.AreEqual(itemA, lc.FilterItem(itemA, lc.DisplayMember), "#D1");
            Assert.AreEqual(itemB, lc.FilterItem(itemB, lc.DisplayMember), "#D2");
            Assert.AreEqual(itemC, lc.FilterItem(itemC, lc.DisplayMember), "#D3");
        }
        public void DomainUpDown_Items_Indexer()
        {
            MockItem itemA    = new MockItem("itemA");
            MockItem itemAbis = new MockItem("itemA");
            MockItem itemB    = new MockItem("itemB");
            MockItem itemC    = new MockItem("itemC");
            MockItem itemD    = new MockItem("itemD");
            MockItem itemE    = new MockItem("itemE");

            TestHelper.RemoveWarning(itemAbis);

            MockDomainUpDown dud = new MockDomainUpDown();

            dud.SelectedItemChanged += new EventHandler(DomainUpDown_SelectedItemChanged);
            dud.TextChanged         += new EventHandler(DomainUpDown_TextChanged);
            dud.Items.Add(itemC);
            dud.Items.Add(itemA);
            dud.Items.Add(itemB);
            dud.Items.Add(itemA);
            dud.SelectedIndex = 1;
            dud.Reset();
            Reset();

            Assert.AreSame(itemC, dud.Items [0], "#A1");
            Assert.AreSame(itemA, dud.Items [1], "#A2");
            Assert.AreSame(itemB, dud.Items [2], "#A3");
            Assert.AreSame(itemA, dud.Items [3], "#A4");
            Assert.AreEqual(itemA.Text, dud.Text, "#A5");

            dud.Items [3] = itemD;
            Assert.AreEqual(0, dud.CallStack.Count, "#B1");
            Assert.AreEqual(0, selected_item_changed, "#B2");
            Assert.AreEqual(0, text_changed, "#B3");
            Assert.AreEqual(1, dud.SelectedIndex, "#B4");
            Assert.AreEqual(itemA.Text, dud.Text, "#B5");

            dud.Items [1] = itemE;
            Assert.AreEqual(3, dud.CallStack.Count, "#C1");
            Assert.AreEqual("UpdateEditText", dud.CallStack [0], "#C2");
            Assert.AreEqual("set_Text:itemE (5)", dud.CallStack [1], "#C3");
            Assert.AreEqual("OnChanged", dud.CallStack [2], "#C4");
            Assert.AreEqual(1, selected_item_changed, "#C5");
            Assert.AreEqual(1, text_changed, "#C6");
            Assert.AreEqual(1, dud.SelectedIndex, "#C7");
            Assert.AreEqual(itemE.Text, dud.Text, "#C8");

            dud.Sorted = true;
            Assert.AreEqual(8, dud.CallStack.Count, "#D1");
            Assert.AreEqual("UpdateEditText", dud.CallStack [3], "#D2");
            Assert.AreEqual("set_Text:itemC (5)", dud.CallStack [4], "#D3");
            Assert.AreEqual("OnChanged", dud.CallStack [5], "#D4");
            Assert.AreEqual("UpdateEditText", dud.CallStack [6], "#D5");
            Assert.AreEqual("set_Text:itemC (5)", dud.CallStack [7], "#D6");
            Assert.AreEqual(2, selected_item_changed, "#D7");
            Assert.AreEqual(2, text_changed, "#D8");
            Assert.AreEqual(1, dud.SelectedIndex, "#D9");
            Assert.AreEqual(itemC.Text, dud.Text, "#D10");
            Assert.AreSame(itemB, dud.Items [0], "#D11");
            Assert.AreSame(itemC, dud.Items [1], "#D12");
            Assert.AreSame(itemD, dud.Items [2], "#D13");
            Assert.AreSame(itemE, dud.Items [3], "#D14");

            dud.Items [3] = itemA;
            Assert.AreEqual(13, dud.CallStack.Count, "#E1");
            Assert.AreEqual("UpdateEditText", dud.CallStack [8], "#E2");
            Assert.AreEqual("set_Text:itemB (5)", dud.CallStack [9], "#E3");
            Assert.AreEqual("OnChanged", dud.CallStack [10], "#E4");
            Assert.AreEqual("UpdateEditText", dud.CallStack [11], "#E5");
            Assert.AreEqual("set_Text:itemB (5)", dud.CallStack [12], "#E6");
            Assert.AreEqual(3, selected_item_changed, "#E7");
            Assert.AreEqual(3, text_changed, "#E8");
            Assert.AreEqual(1, dud.SelectedIndex, "#E9");
            Assert.AreEqual(itemB.Text, dud.Text, "#E10");
        }
Exemple #10
0
		public void DomainUpDown_Items_Indexer ()
		{
			MockItem itemA = new MockItem ("itemA");
			MockItem itemAbis = new MockItem ("itemA");
			MockItem itemB = new MockItem ("itemB");
			MockItem itemC = new MockItem ("itemC");
			MockItem itemD = new MockItem ("itemD");
			MockItem itemE = new MockItem ("itemE");

			TestHelper.RemoveWarning (itemAbis);
			
			MockDomainUpDown dud = new MockDomainUpDown ();
			dud.SelectedItemChanged += new EventHandler (DomainUpDown_SelectedItemChanged);
			dud.TextChanged += new EventHandler (DomainUpDown_TextChanged);
			dud.Items.Add (itemC);
			dud.Items.Add (itemA);
			dud.Items.Add (itemB);
			dud.Items.Add (itemA);
			dud.SelectedIndex = 1;
			dud.Reset ();
			Reset ();

			Assert.AreSame (itemC, dud.Items [0], "#A1");
			Assert.AreSame (itemA, dud.Items [1], "#A2");
			Assert.AreSame (itemB, dud.Items [2], "#A3");
			Assert.AreSame (itemA, dud.Items [3], "#A4");
			Assert.AreEqual (itemA.Text, dud.Text, "#A5");

			dud.Items [3] = itemD;
			Assert.AreEqual (0, dud.CallStack.Count, "#B1");
			Assert.AreEqual (0, selected_item_changed, "#B2");
			Assert.AreEqual (0, text_changed, "#B3");
			Assert.AreEqual (1, dud.SelectedIndex, "#B4");
			Assert.AreEqual (itemA.Text, dud.Text, "#B5");

			dud.Items [1] = itemE;
			Assert.AreEqual (3, dud.CallStack.Count, "#C1");
			Assert.AreEqual ("UpdateEditText", dud.CallStack [0], "#C2");
			Assert.AreEqual ("set_Text:itemE (5)", dud.CallStack [1], "#C3");
			Assert.AreEqual ("OnChanged", dud.CallStack [2], "#C4");
			Assert.AreEqual (1, selected_item_changed, "#C5");
			Assert.AreEqual (1, text_changed, "#C6");
			Assert.AreEqual (1, dud.SelectedIndex, "#C7");
			Assert.AreEqual (itemE.Text, dud.Text, "#C8");

			dud.Sorted = true;
			Assert.AreEqual (8, dud.CallStack.Count, "#D1");
			Assert.AreEqual ("UpdateEditText", dud.CallStack [3], "#D2");
			Assert.AreEqual ("set_Text:itemC (5)", dud.CallStack [4], "#D3");
			Assert.AreEqual ("OnChanged", dud.CallStack [5], "#D4");
			Assert.AreEqual ("UpdateEditText", dud.CallStack [6], "#D5");
			Assert.AreEqual ("set_Text:itemC (5)", dud.CallStack [7], "#D6");
			Assert.AreEqual (2, selected_item_changed, "#D7");
			Assert.AreEqual (2, text_changed, "#D8");
			Assert.AreEqual (1, dud.SelectedIndex, "#D9");
			Assert.AreEqual (itemC.Text, dud.Text, "#D10");
			Assert.AreSame (itemB, dud.Items [0], "#D11");
			Assert.AreSame (itemC, dud.Items [1], "#D12");
			Assert.AreSame (itemD, dud.Items [2], "#D13");
			Assert.AreSame (itemE, dud.Items [3], "#D14");

			dud.Items [3] = itemA;
			Assert.AreEqual (13, dud.CallStack.Count, "#E1");
			Assert.AreEqual ("UpdateEditText", dud.CallStack [8], "#E2");
			Assert.AreEqual ("set_Text:itemB (5)", dud.CallStack [9], "#E3");
			Assert.AreEqual ("OnChanged", dud.CallStack [10], "#E4");
			Assert.AreEqual ("UpdateEditText", dud.CallStack [11], "#E5");
			Assert.AreEqual ("set_Text:itemB (5)", dud.CallStack [12], "#E6");
			Assert.AreEqual (3, selected_item_changed, "#E7");
			Assert.AreEqual (3, text_changed, "#E8");
			Assert.AreEqual (1, dud.SelectedIndex, "#E9");
			Assert.AreEqual (itemB.Text, dud.Text, "#E10");
		}
		public void SelectedValue2 ()
		{
			Form f = new Form ();
			f.ShowInTaskbar = false;
			ListControlChild child = new ListControlChild ();

			ArrayList list = new ArrayList ();
			list.Add (new MockItem ("A", 0));
			list.Add (new MockItem ("B", 1));
			list.Add (new MockItem ("C", 2));
			child.DataSource = list;
			child.ValueMember = "Text";

			MockItem item = new MockItem (String.Empty, 0);
			child.DataBindings.Add ("SelectedValue", item, "Text");

			Assert.AreEqual (-1, child.SelectedIndex, "#A1");

			f.Controls.Add (child);
			Assert.AreEqual (-1, child.SelectedIndex, "#B1");

			// When the form is shown, normally the SelectedIndex is the
			// CurrencyManager.Position (0 in this case), but it should remain as -1
			// since SelectedValue is bound to a String.Empty value. See #324286
			f.Show ();
			CurrencyManager manager = (CurrencyManager)f.BindingContext [list];
			Assert.AreEqual (-1, child.SelectedIndex, "#C1");
			Assert.AreEqual (0, manager.Position, "#C2");

			f.Dispose ();
		}
		public void FilterItemOnProperty ()
		{
			MockItem itemA = new MockItem ("A", 1);
			MockItem itemB = new MockItem ("B", 2);
			object itemC = new object ();

			ListControlChild lc = new ListControlChild ();
			lc.DisplayMember = "Text";

			// No DataSource available
			Assert.AreEqual ("A", lc.FilterItem (itemA, lc.DisplayMember), "#A1");
			Assert.AreEqual ("B", lc.FilterItem (itemB, lc.DisplayMember), "#A2");
			Assert.AreEqual (itemC, lc.FilterItem (itemC, lc.DisplayMember), "#A3");

			lc.DisplayMember = String.Empty;

			Assert.AreEqual (itemA, lc.FilterItem (itemA, lc.DisplayMember), "#B1");
			Assert.AreEqual (itemB, lc.FilterItem (itemB, lc.DisplayMember), "#B2");
			Assert.AreEqual (itemC, lc.FilterItem (itemC, lc.DisplayMember), "#B3");

			// DataSource available
			object [] objects = new object [] {itemA, itemB, itemC};
			lc.DisplayMember = "Text";
			lc.DataSource = objects;

			Assert.AreEqual ("A", lc.FilterItem (itemA, lc.DisplayMember), "#C1");
			Assert.AreEqual ("B", lc.FilterItem (itemB, lc.DisplayMember), "#C2");
			Assert.AreEqual (itemC, lc.FilterItem (itemC, lc.DisplayMember), "#C3");

			lc.DisplayMember = String.Empty;

			Assert.AreEqual (itemA, lc.FilterItem (itemA, lc.DisplayMember), "#D1");
			Assert.AreEqual (itemB, lc.FilterItem (itemB, lc.DisplayMember), "#D2");
			Assert.AreEqual (itemC, lc.FilterItem (itemC, lc.DisplayMember), "#D3");
		}
		public void ValueMember_HandleNotCreated ()
		{
			MockItem itemA = new MockItem ("A", 1);
			MockItem itemB = new MockItem ("B", 2);
			MockItem itemC = new MockItem ("C", 3);
			MockItem itemD = new MockItem ("D", 4);
			MockItem itemE = new MockItem ("E", 5);

			CheckedListBox clb = new CheckedListBox ();
			clb.Items.Add (itemA, true);
			clb.Items.Add (itemC, false);
			clb.Items.Add (itemB, true);
			clb.SelectedIndex = 1;

			Assert.AreEqual (string.Empty, clb.ValueMember, "#A1");
			Assert.AreEqual (itemC.GetType ().FullName, clb.Text, "#A2");
			Assert.IsNull (clb.SelectedValue, "#A3");

			clb.ValueMember = "Value";
			Assert.AreEqual ("Value", clb.ValueMember, "#B1");
			Assert.AreEqual ("3", clb.Text, "#B2");
			Assert.IsNull (clb.SelectedValue, "#B3");

			clb.DisplayMember = "Text";
			Assert.AreEqual ("Value", clb.ValueMember, "#C1");
			Assert.AreEqual ("C", clb.Text, "#C2");
			Assert.IsNull (clb.SelectedValue, "#C3");

			ArrayList itemList = new ArrayList ();
			itemList.Add (itemD);
			itemList.Add (itemE);

			clb.DataSource = itemList;
			clb.ValueMember = string.Empty;
			clb.DisplayMember = string.Empty;
			clb.SelectedIndex = 1;

			Assert.AreEqual (string.Empty, clb.ValueMember, "#D1");
			Assert.AreEqual (itemC.GetType ().FullName, clb.Text, "#D2");
			Assert.IsNull (clb.SelectedValue, "#D3");

			clb.ValueMember = "Value";
			Assert.AreEqual ("Value", clb.ValueMember, "#E1");
			Assert.AreEqual ("3", clb.Text, "#E2");
			Assert.IsNull (clb.SelectedValue, "#E3");

			clb.DisplayMember = "Text";
			Assert.AreEqual ("Value", clb.ValueMember, "#F1");
			Assert.AreEqual ("C", clb.Text, "#F2");
			Assert.IsNull (clb.SelectedValue, "#F3");	
		}
		public void Text_SelectionMode_One ()
		{
			MockItem itemA = new MockItem ("A1", 1);
			MockItem itemB = new MockItem ("B2", 2);
			MockItem itemC = new MockItem ("C3", 3);
			MockItem itemD = new MockItem ("C3", 4);
			MockItem itemE = new MockItem ("", 5);
			MockItem itemF = new MockItem (null, 6);

			ArrayList itemList = new ArrayList ();
			itemList.Add (itemA);
			itemList.Add (itemC);
			itemList.Add (itemB);
			itemList.Add (itemD);
			itemList.Add (itemE);
			itemList.Add (itemF);

			CheckedListBox clb = new CheckedListBox ();
			clb.DisplayMember = "Text";
			clb.DataSource = itemList;
			clb.SelectionMode = SelectionMode.One;

			Form form = new Form ();
			form.ShowInTaskbar = false;
			form.Controls.Add (clb);
			form.Show ();

			Assert.AreEqual ("A1", clb.Text, "#A1");
			Assert.AreEqual (0, clb.SelectedIndex, "#A2");

			clb.Text = "B2";
			Assert.AreEqual ("B2", clb.Text, "#B1");
			Assert.AreEqual (2, clb.SelectedIndex, "#B2");
			Assert.AreEqual (1, clb.SelectedItems.Count, "#B3");
			Assert.AreSame (itemB, clb.SelectedItems [0], "#B4");

			clb.Text = "D";
			Assert.AreEqual ("B2", clb.Text, "#C1");
			Assert.AreEqual (2, clb.SelectedIndex, "#C2");
			Assert.AreEqual (1, clb.SelectedItems.Count, "#C3");
			Assert.AreSame (itemB, clb.SelectedItems [0], "#C4");

			clb.Text = "Doesnotexist";
			Assert.AreEqual ("B2", clb.Text, "#D1");
			Assert.AreEqual (2, clb.SelectedIndex, "#D2");
			Assert.AreEqual (1, clb.SelectedItems.Count, "#D3");
			Assert.AreSame (itemB, clb.SelectedItems [0], "#D4");

			clb.Text = "C3";
			Assert.AreEqual ("C3", clb.Text, "#E1");
			Assert.AreEqual (1, clb.SelectedIndex, "#E2");
			Assert.AreEqual (1, clb.SelectedItems.Count, "#E3");
			Assert.AreSame (itemC, clb.SelectedItems [0], "#E4");

			clb.Text = string.Empty;
			Assert.AreEqual (string.Empty, clb.Text, "#F1");
			Assert.AreEqual (4, clb.SelectedIndex, "#F2");
			Assert.AreEqual (1, clb.SelectedItems.Count, "#F3");
			Assert.AreSame (itemE, clb.SelectedItems [0], "#F4");

			clb.Text = null;
			Assert.AreEqual (string.Empty, clb.Text, "#G1");
			Assert.AreEqual (4, clb.SelectedIndex, "#G2");
			Assert.AreEqual (1, clb.SelectedItems.Count, "#G3");
			Assert.AreSame (itemE, clb.SelectedItems [0], "#G4");

			clb.SelectedIndex = -1;
			Assert.AreEqual ("A1", clb.Text, "#H1");
			Assert.AreEqual (0, clb.SelectedIndex, "#H2");
			Assert.AreEqual (1, clb.SelectedItems.Count, "#H3");
			Assert.AreSame (itemA, clb.SelectedItems [0], "#H4");

			form.Dispose ();
		}
		public void Text_SelectionMode_None ()
		{
			MockItem itemA = new MockItem ("A1", 1);
			MockItem itemB = new MockItem ("B2", 2);
			MockItem itemC = new MockItem ("C3", 3);
			MockItem itemD = new MockItem ("C3", 4);
			MockItem itemE = new MockItem ("", 5);
			MockItem itemF = new MockItem (null, 6);

			ArrayList itemList = new ArrayList ();
			itemList.Add (itemA);
			itemList.Add (itemC);
			itemList.Add (itemB);
			itemList.Add (itemD);
			itemList.Add (itemE);
			itemList.Add (itemF);

			CheckedListBox clb = new CheckedListBox ();
			clb.DisplayMember = "Text";
			clb.DataSource = itemList;
			clb.SelectionMode = SelectionMode.None;

			Form form = new Form ();
			form.ShowInTaskbar = false;
			form.Controls.Add (clb);
			form.Show ();

			Assert.AreEqual (string.Empty, clb.Text, "#A1");
			Assert.AreEqual (-1, clb.SelectedIndex, "#A2");

			clb.Text = "B2";
			Assert.AreEqual ("B2", clb.Text, "#B1");
			Assert.AreEqual (-1, clb.SelectedIndex, "#B2");

			clb.Text = "D";
			Assert.AreEqual ("D", clb.Text, "#C1");
			Assert.AreEqual (-1, clb.SelectedIndex, "#C2");

			clb.Text = "Doesnotexist";
			Assert.AreEqual ("Doesnotexist", clb.Text, "#D1");
			Assert.AreEqual (-1, clb.SelectedIndex, "#D2");

			clb.Text = string.Empty;
			Assert.AreEqual (string.Empty, clb.Text, "#E1");
			Assert.AreEqual (-1, clb.SelectedIndex, "#E2");

			clb.Text = null;
			Assert.AreEqual (string.Empty, clb.Text, "#F1");
			Assert.AreEqual (-1, clb.SelectedIndex, "#F2");

			form.Dispose ();
		}
        public void Text_SelectionMode_One()
        {
            MockItem itemA = new MockItem("A1", 1);
            MockItem itemB = new MockItem("B2", 2);
            MockItem itemC = new MockItem("C3", 3);
            MockItem itemD = new MockItem("C3", 4);
            MockItem itemE = new MockItem("", 5);
            MockItem itemF = new MockItem(null, 6);

            ArrayList itemList = new ArrayList();

            itemList.Add(itemA);
            itemList.Add(itemC);
            itemList.Add(itemB);
            itemList.Add(itemD);
            itemList.Add(itemE);
            itemList.Add(itemF);

            CheckedListBox clb = new CheckedListBox();

            clb.DisplayMember = "Text";
            clb.DataSource    = itemList;
            clb.SelectionMode = SelectionMode.One;

            Form form = new Form();

            form.ShowInTaskbar = false;
            form.Controls.Add(clb);
            form.Show();

            Assert.AreEqual("A1", clb.Text, "#A1");
            Assert.AreEqual(0, clb.SelectedIndex, "#A2");

            clb.Text = "B2";
            Assert.AreEqual("B2", clb.Text, "#B1");
            Assert.AreEqual(2, clb.SelectedIndex, "#B2");
            Assert.AreEqual(1, clb.SelectedItems.Count, "#B3");
            Assert.AreSame(itemB, clb.SelectedItems [0], "#B4");

            clb.Text = "D";
            Assert.AreEqual("B2", clb.Text, "#C1");
            Assert.AreEqual(2, clb.SelectedIndex, "#C2");
            Assert.AreEqual(1, clb.SelectedItems.Count, "#C3");
            Assert.AreSame(itemB, clb.SelectedItems [0], "#C4");

            clb.Text = "Doesnotexist";
            Assert.AreEqual("B2", clb.Text, "#D1");
            Assert.AreEqual(2, clb.SelectedIndex, "#D2");
            Assert.AreEqual(1, clb.SelectedItems.Count, "#D3");
            Assert.AreSame(itemB, clb.SelectedItems [0], "#D4");

            clb.Text = "C3";
            Assert.AreEqual("C3", clb.Text, "#E1");
            Assert.AreEqual(1, clb.SelectedIndex, "#E2");
            Assert.AreEqual(1, clb.SelectedItems.Count, "#E3");
            Assert.AreSame(itemC, clb.SelectedItems [0], "#E4");

            clb.Text = string.Empty;
            Assert.AreEqual(string.Empty, clb.Text, "#F1");
            Assert.AreEqual(4, clb.SelectedIndex, "#F2");
            Assert.AreEqual(1, clb.SelectedItems.Count, "#F3");
            Assert.AreSame(itemE, clb.SelectedItems [0], "#F4");

            clb.Text = null;
            Assert.AreEqual(string.Empty, clb.Text, "#G1");
            Assert.AreEqual(4, clb.SelectedIndex, "#G2");
            Assert.AreEqual(1, clb.SelectedItems.Count, "#G3");
            Assert.AreSame(itemE, clb.SelectedItems [0], "#G4");

            clb.SelectedIndex = -1;
            Assert.AreEqual("A1", clb.Text, "#H1");
            Assert.AreEqual(0, clb.SelectedIndex, "#H2");
            Assert.AreEqual(1, clb.SelectedItems.Count, "#H3");
            Assert.AreSame(itemA, clb.SelectedItems [0], "#H4");

            form.Dispose();
        }
		public void GetItemText ()
		{
			MockItem itemA = new MockItem ("A", 1);
			MockItem itemB = new MockItem ("B", 2);
			object itemC = new object ();

			ListControlChild lc = new ListControlChild ();
			lc.DisplayMember = "Text";

			// No DataSource available
			Assert.AreEqual ("A", lc.GetItemText (itemA), "#A1");
			Assert.AreEqual ("B", lc.GetItemText (itemB), "#A2");
			Assert.AreEqual (itemC.GetType ().FullName, lc.GetItemText (itemC), "#A3");

			lc.DisplayMember = String.Empty;

			Assert.AreEqual (itemA.GetType ().FullName, lc.GetItemText (itemA), "#B1");
			Assert.AreEqual (itemB.GetType ().FullName, lc.GetItemText (itemB), "#B2");
			Assert.AreEqual (itemC.GetType ().FullName, lc.GetItemText (itemC), "#B3");

			// DataSource available
			object [] objects = new object [] {itemA, itemB, itemC};
			lc.DisplayMember = "Text";
			lc.DataSource = objects;

			Assert.AreEqual ("A", lc.GetItemText (itemA), "#C1");
			Assert.AreEqual ("B", lc.GetItemText (itemB), "#C2");
			Assert.AreEqual (itemC.GetType ().FullName, lc.GetItemText (itemC), "#C3");

			lc.DisplayMember = String.Empty;

			Assert.AreEqual (itemA.GetType ().FullName, lc.GetItemText (itemA), "#D1");
			Assert.AreEqual (itemB.GetType ().FullName, lc.GetItemText (itemB), "#D2");
			Assert.AreEqual (itemC.GetType ().FullName, lc.GetItemText (itemC), "#D3");
		}
Exemple #18
0
		public void SelectedTextWithBindingTest ()
		{
			Form form = new Form ();
			form.ShowInTaskbar = false;
			ComboBox cb = new ComboBox ();
			cb.Parent = form;

			MockItem [] items = new MockItem [] {
				new MockItem ("A", 0),
				new MockItem ("B", 1),
				new MockItem ("C", 2)
			};

			cb.DataSource = items;
			cb.DisplayMember = "Text";

			form.Show ();

			Assert.AreEqual ("A", cb.SelectedText, "#A1");

			form.Dispose ();
		}
Exemple #19
0
		public void DomainUpDown_Items_Add ()
		{
			MockItem itemA = new MockItem ("itemA");
			MockItem itemB = new MockItem ("itemB");
			MockItem itemC = new MockItem ("itemC");

			MockDomainUpDown dud = new MockDomainUpDown ();
			dud.SelectedItemChanged += new EventHandler (DomainUpDown_SelectedItemChanged);
			dud.TextChanged += new EventHandler (DomainUpDown_TextChanged);
			dud.Reset ();

			dud.Items.Add (itemA);
			Assert.AreEqual (0, dud.CallStack.Count, "#A1");
			Assert.AreEqual (0, selected_item_changed, "#A2");
			Assert.AreEqual (0, text_changed, "#A3");
			Assert.AreEqual (-1, dud.SelectedIndex, "#A4");
			Assert.AreEqual (string.Empty, dud.Text, "#A5");
			Assert.AreEqual (1, dud.Items.Count, "#A6");
			Assert.AreSame (itemA, dud.Items [0], "#A7");

			dud.Items.Add (itemC);
			Assert.AreEqual (0, dud.CallStack.Count, "#B1");
			Assert.AreEqual (0, selected_item_changed, "#B2");
			Assert.AreEqual (0, text_changed, "#B3");
			Assert.AreEqual (-1, dud.SelectedIndex, "#B4");
			Assert.AreEqual (string.Empty, dud.Text, "#B5");
			Assert.AreEqual (2, dud.Items.Count, "#B6");
			Assert.AreSame (itemC, dud.Items [1], "#B7");

			dud.Items.Add (itemA);
			Assert.AreEqual (0, dud.CallStack.Count, "#C1");
			Assert.AreEqual (0, selected_item_changed, "#C2");
			Assert.AreEqual (0, text_changed, "#C3");
			Assert.AreEqual (-1, dud.SelectedIndex, "#C4");
			Assert.AreEqual (string.Empty, dud.Text, "#C5");
			Assert.AreEqual (3, dud.Items.Count, "#C6");
			Assert.AreSame (itemA, dud.Items [2], "#C7");

			dud.Sorted = true;
			Assert.AreEqual (3, dud.Items.Count, "#D1");
			Assert.AreSame (itemA, dud.Items [0], "#D2");
			Assert.AreSame (itemA, dud.Items [1], "#D3");
			Assert.AreSame (itemC, dud.Items [2], "#D4");

			// adding item causes re-sort
			dud.Items.Add (itemB);
			Assert.AreEqual (0, dud.CallStack.Count, "#E1");
			Assert.AreEqual (0, selected_item_changed, "#E2");
			Assert.AreEqual (0, text_changed, "#E3");
			Assert.AreEqual (-1, dud.SelectedIndex, "#E4");
			Assert.AreEqual (string.Empty, dud.Text, "#E5");
			Assert.AreEqual (4, dud.Items.Count, "#E6");
			Assert.AreSame (itemA, dud.Items [0], "#E7");
			Assert.AreSame (itemA, dud.Items [1], "#E8");
			Assert.AreSame (itemB, dud.Items [2], "#E9");
			Assert.AreSame (itemC, dud.Items [3], "#E10");
		}