public void DataSourcePropertyChanged_OneDeep() { Control c = new Control(); c.BindingContext = new BindingContext(); c.CreateControl(); MockItem item = new MockItem("A", 0); One parent = new One(); parent.MockItem = item; Binding binding = new Binding("Text", parent, "MockItem.Text"); c.DataBindings.Add(binding); Assert.AreEqual("A", c.Text, "#A1"); item.Text = "B"; Assert.AreEqual("B", c.Text, "#B1"); }
public void DataSourcePropertyChanged_ThreeDeep () { Control c = new Control (); c.BindingContext = new BindingContext (); c.CreateControl (); MockItem item = new MockItem ("A", 0); One parent = new One (); parent.Two = new Two (); parent.Two.Three = new Three (); parent.Two.Three.MockItem = item; Binding binding = new Binding ("Text", parent, "Two.Three.MockItem.Text"); c.DataBindings.Add (binding); Console.WriteLine ("c.Text: " + c.Text); Assert.AreEqual ("A", c.Text, "#A1"); item.Text = "B"; Assert.AreEqual ("B", c.Text, "#B1"); Assert.AreEqual (1, c.DataBindings.Count, "c.DataBindings.Count"); BindingMemberInfo bmi = c.DataBindings[0].BindingMemberInfo; Assert.AreEqual ("Two.Three.MockItem", bmi.BindingPath, "bmi.BindingPath"); Assert.AreEqual ("Two.Three.MockItem.Text", bmi.BindingMember, "bmi.BindingMember"); Assert.AreEqual ("Text", bmi.BindingField, "bmi.BindingField"); }
public void DataSourcePropertyChanged_OneDeep () { Control c = new Control (); c.BindingContext = new BindingContext (); c.CreateControl (); MockItem item = new MockItem ("A", 0); One parent = new One (); parent.MockItem = item; Binding binding = new Binding ("Text", parent, "MockItem.Text"); c.DataBindings.Add (binding); Assert.AreEqual ("A", c.Text, "#A1"); item.Text = "B"; Assert.AreEqual ("B", c.Text, "#B1"); }