public void BindingsEditableAfterUnapplied() { var bindable = new MockBindable(); var binding = new Binding("."); bindable.SetBinding(MockBindable.TextProperty, binding); bindable.BindingContext = "foo"; Assume.That(bindable.Text, Is.EqualTo(bindable.BindingContext)); bindable.RemoveBinding(MockBindable.TextProperty); Assert.That(() => binding.Path = "foo", Throws.Nothing); }
public void RemovedBindingDoesNotUpdate() { const string newvalue = "New Value"; var viewmodel = new MockViewModel { Text = "Foo" }; var binding = new Binding("Text"); var bindable = new MockBindable(); bindable.BindingContext = viewmodel; bindable.SetBinding(MockBindable.TextProperty, binding); string original = (string)bindable.GetValue(MockBindable.TextProperty); bindable.RemoveBinding(MockBindable.TextProperty); viewmodel.Text = newvalue; Assert.AreEqual(original, bindable.GetValue(MockBindable.TextProperty), "Property updated from a removed binding"); }
// https://bugzilla.xamarin.com/show_bug.cgi?id=24054 public void BindingsAppliedUnappliedWithNullContext() { var bindable = new MockBindable(); var binding = new Binding("."); bindable.SetBinding(MockBindable.TextProperty, binding); bindable.BindingContext = "foo"; Assume.That(bindable.Text, Is.EqualTo(bindable.BindingContext)); bindable.BindingContext = null; Assume.That(bindable.Text, Is.EqualTo(bindable.BindingContext)); bindable.BindingContext = "bar"; Assume.That(bindable.Text, Is.EqualTo(bindable.BindingContext)); bindable.RemoveBinding(MockBindable.TextProperty); Assert.That(() => binding.Path = "Foo", Throws.Nothing); }
public void RemoveBindingInvalid() { var mock = new MockBindable(); Assert.Throws <ArgumentNullException> (() => mock.RemoveBinding(null)); }
public void RemoveUnaddedBinding() { var mock = new MockBindable(); Assert.That(() => mock.RemoveBinding(MockBindable.TextProperty), Throws.Nothing); }