Example #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();
        }
Example #2
0
        [Test]         // bug #81771
        public void DataSource_BindingList2()
        {
            BindingList <string> list1 = new BindingList <string> ();

            list1.Add("item 1");
            BindingList <string> list2 = new BindingList <string> ();

            ListControlChild lc = new ListControlChild();

            lc.DataSourceChanged += new EventHandler(ListControl_DataSourceChanged);

            Form form = new Form();

            form.Controls.Add(lc);

            Assert.AreEqual(0, dataSourceChanged, "#1");
            Assert.IsNull(lc.DataSource, "#2");
            lc.DataSource = list1;
            Assert.AreEqual(1, dataSourceChanged, "#3");
            Assert.AreSame(list1, lc.DataSource, "#4");
            lc.DataSource = list2;
            Assert.AreEqual(2, dataSourceChanged, "#5");
            Assert.AreSame(list2, lc.DataSource, "#6");
            lc.DataSource = null;
            Assert.AreEqual(3, dataSourceChanged, "#7");
            Assert.IsNull(lc.DataSource, "#8");
            list1.Add("item");
            list1.Clear();

            form.Dispose();
        }
Example #3
0
        public void DisplayMemberNullTest()
        {
            ListControlChild lc = new ListControlChild();

            lc.DisplayMember = null;
            Assert.AreEqual(String.Empty, lc.DisplayMember, "#1");
        }
Example #4
0
        public void BehaviorFormatting()
        {
            ListControl lc = new ListControlChild();
            DateTime    dt = new DateTime(1, 2, 3, 4, 5, 6);

            Assert.AreEqual(false, lc.FormattingEnabled, "A1");
            Assert.AreEqual(null, lc.FormatInfo, "A2");
            Assert.AreEqual(string.Empty, lc.FormatString, "A3");

            Assert.AreEqual(dt.ToString(), lc.GetItemText(dt), "A4");

            lc.FormattingEnabled = true;
            lc.FormatString      = "MM/dd";

            Assert.AreEqual("02/03", lc.GetItemText(dt), "A5");

            lc.Format += new ListControlConvertEventHandler(lc_Format);
            Assert.AreEqual("Monkey!", lc.GetItemText(dt), "A6");
        }
        public void SelectedValue()
        {
            Form f = new Form();

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

            f.Controls.Add(lc);

            ArrayList list = new ArrayList();

            list.Add(new MockItem("TextA", 1));
            list.Add(new MockItem(String.Empty, 4));
            list.Add(new MockItem("TextC", 9));

            lc.ValueMember = "Text";
            lc.DataSource  = list;

            f.Show();

            lc.SelectedValue = "TextC";
            Assert.AreEqual(2, lc.SelectedIndex, "#B1");
            Assert.AreEqual("TextC", lc.SelectedValue, "#B2");

            lc.SelectedValue = String.Empty;
            Assert.AreEqual(1, lc.SelectedIndex, "#C1");
            Assert.AreEqual(String.Empty, lc.SelectedValue, "#C2");

            lc.SelectedValue = "TextA";
            Assert.AreEqual(0, lc.SelectedIndex, "#D1");
            Assert.AreEqual("TextA", lc.SelectedValue, "#D2");

            try
            {
                lc.SelectedValue = null;
                Assert.Fail("#E1");
            }
            catch (ArgumentNullException)
            {
            }

            f.Dispose();
        }
Example #6
0
        public void FormattingChanges()
        {
            bool refresh_items_called = false;

            ListControlChild lc = new ListControlChild();

            lc.RefreshingItems += delegate
            {
                refresh_items_called = true;
            };

            lc.FormattingEnabled = !lc.FormattingEnabled;
            Assert.AreEqual(true, refresh_items_called, "A1");

            refresh_items_called = false;
            lc.FormatInfo        = CultureInfo.CurrentCulture;
            Assert.AreEqual(true, refresh_items_called, "B1");

            refresh_items_called = false;
            lc.FormatString      = CultureInfo.CurrentCulture.NumberFormat.ToString();
            Assert.AreEqual(true, refresh_items_called, "C1");
        }
Example #7
0
        public void DataSource1()
        {
            ArrayList list1 = new ArrayList();

            list1.Add("item 1");
            ArrayList list2 = new ArrayList();

            ListControlChild lc = new ListControlChild();

            lc.DataSourceChanged += new EventHandler(ListControl_DataSourceChanged);
            lc.DataSource         = list1;
            Assert.AreEqual(1, dataSourceChanged, "#A1");
            Assert.AreSame(list1, lc.DataSource, "#A2");

            Form form = new Form();

            form.Controls.Add(lc);

            Assert.AreEqual(1, dataSourceChanged, "#B1");
            Assert.AreSame(list1, lc.DataSource, "#B2");
            lc.DataSource = list1;
            Assert.AreEqual(1, dataSourceChanged, "#B3");
            Assert.AreSame(list1, lc.DataSource, "#B4");
            lc.DataSource = list2;
            Assert.AreEqual(2, dataSourceChanged, "#B5");
            Assert.AreSame(list2, lc.DataSource, "#B6");
            lc.DataSource = null;
            Assert.AreEqual(3, dataSourceChanged, "#B7");
            Assert.IsNull(lc.DataSource, "#B8");

            list1.Add("whatever");
            list2.Add("whatever");
            list1.Clear();
            list2.Clear();

            form.Dispose();
        }
Example #8
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");
        }
Example #9
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 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");
		}
		public void DisplayMemberNullTest ()
		{
			ListControlChild lc = new ListControlChild ();
			lc.DisplayMember = null;
			Assert.AreEqual (String.Empty, lc.DisplayMember, "#1");
		}
		public void DataSourceWrongArgumentType ()
		{
			ListControlChild lc = new ListControlChild ();
			lc.DataSource = new object ();
		}
Example #13
0
        public void AllowSelection()
        {
            ListControlChild lc = new ListControlChild();

            Assert.IsTrue(lc.allow_selection);
        }
		public void DataSource1 ()
		{
			ArrayList list1 = new ArrayList ();
			list1.Add ("item 1");
			ArrayList list2 = new ArrayList ();

			ListControlChild lc = new ListControlChild ();
			lc.DataSourceChanged += new EventHandler (ListControl_DataSourceChanged);
			lc.DataSource = list1;
			Assert.AreEqual (1, dataSourceChanged, "#A1");
			Assert.AreSame (list1, lc.DataSource, "#A2");

			Form form = new Form ();
			form.Controls.Add (lc);

			Assert.AreEqual (1, dataSourceChanged, "#B1");
			Assert.AreSame (list1, lc.DataSource, "#B2");
			lc.DataSource = list1;
			Assert.AreEqual (1, dataSourceChanged, "#B3");
			Assert.AreSame (list1, lc.DataSource, "#B4");
			lc.DataSource = list2;
			Assert.AreEqual (2, dataSourceChanged, "#B5");
			Assert.AreSame (list2, lc.DataSource, "#B6");
			lc.DataSource = null;
			Assert.AreEqual (3, dataSourceChanged, "#B7");
			Assert.IsNull (lc.DataSource, "#B8");

			list1.Add ("whatever");
			list2.Add ("whatever");
			list1.Clear ();
			list2.Clear ();

			form.Dispose ();
		}
		public void SelectedValue ()
		{
			Form f = new Form ();
			f.ShowInTaskbar = false;
			ListControlChild lc = new ListControlChild ();
			f.Controls.Add (lc);

			ArrayList list = new ArrayList ();
			list.Add (new MockItem ("TextA", 1));
			list.Add (new MockItem (String.Empty, 4));
			list.Add (new MockItem ("TextC", 9));

			lc.ValueMember = "Text";
			lc.DataSource = list;

			f.Show ();

			lc.SelectedValue = "TextC";
			Assert.AreEqual (2, lc.SelectedIndex, "#B1");
			Assert.AreEqual ("TextC", lc.SelectedValue, "#B2");

			lc.SelectedValue = String.Empty;
			Assert.AreEqual (1, lc.SelectedIndex, "#C1");
			Assert.AreEqual (String.Empty, lc.SelectedValue, "#C2");

			lc.SelectedValue = "TextA";
			Assert.AreEqual (0, lc.SelectedIndex, "#D1");
			Assert.AreEqual ("TextA", lc.SelectedValue, "#D2");

			try {
				lc.SelectedValue = null;
				Assert.Fail ("#E1");
			} catch (ArgumentNullException) {
			}

			f.Dispose ();
		}
		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 ();
		}
Example #17
0
        public void DataSourceWrongArgumentType()
        {
            ListControlChild lc = new ListControlChild();

            lc.DataSource = new object();
        }
		[Test] // bug #81771
		public void DataSource_BindingList2 ()
		{
			BindingList<string> list1 = new BindingList<string> ();
			list1.Add ("item 1");
			BindingList<string> list2 = new BindingList<string> ();

			ListControlChild lc = new ListControlChild ();
			lc.DataSourceChanged += new EventHandler (ListControl_DataSourceChanged);

			Form form = new Form ();
			form.Controls.Add (lc);

			Assert.AreEqual (0, dataSourceChanged, "#1");
			Assert.IsNull (lc.DataSource, "#2");
			lc.DataSource = list1;
			Assert.AreEqual (1, dataSourceChanged, "#3");
			Assert.AreSame (list1, lc.DataSource, "#4");
			lc.DataSource = list2;
			Assert.AreEqual (2, dataSourceChanged, "#5");
			Assert.AreSame (list2, lc.DataSource, "#6");
			lc.DataSource = null;
			Assert.AreEqual (3, dataSourceChanged, "#7");
			Assert.IsNull (lc.DataSource, "#8");
			list1.Add ("item");
			list1.Clear ();

			form.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 FormattingChanges ()
		{
			bool refresh_items_called = false;

			ListControlChild lc = new ListControlChild ();
			lc.RefreshingItems += delegate
			{
				refresh_items_called = true;
			};

			lc.FormattingEnabled = !lc.FormattingEnabled;
			Assert.AreEqual (true, refresh_items_called, "A1");

			refresh_items_called = false;
			lc.FormatInfo = CultureInfo.CurrentCulture;
			Assert.AreEqual (true, refresh_items_called, "B1");

			refresh_items_called = false;
			lc.FormatString = CultureInfo.CurrentCulture.NumberFormat.ToString ();
			Assert.AreEqual (true, refresh_items_called, "C1");
		}
		public void BehaviorFormatting ()
		{
			ListControl lc = new ListControlChild ();
			DateTime dt = new DateTime (1, 2, 3, 4, 5, 6);

			Assert.AreEqual (false, lc.FormattingEnabled, "A1");
			Assert.AreEqual (null, lc.FormatInfo, "A2");
			Assert.AreEqual (string.Empty, lc.FormatString, "A3");
			
			Assert.AreEqual (dt.ToString (), lc.GetItemText (dt), "A4");
			
			lc.FormattingEnabled = true;
			lc.FormatString = "MM/dd";

			Assert.AreEqual ("02/03", lc.GetItemText (dt), "A5");

			lc.Format += new ListControlConvertEventHandler (lc_Format);
			Assert.AreEqual ("Monkey!", lc.GetItemText (dt), "A6");
		}
		public void AllowSelection ()
		{
			ListControlChild lc = new ListControlChild ();
			Assert.IsTrue (lc.allow_selection);
		}