コード例 #1
0
        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);
        }
コード例 #2
0
        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");
        }
コード例 #3
0
        // 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);
        }
コード例 #4
0
        public void RemoveBindingInvalid()
        {
            var mock = new MockBindable();

            Assert.Throws <ArgumentNullException> (() => mock.RemoveBinding(null));
        }
コード例 #5
0
        public void RemoveUnaddedBinding()
        {
            var mock = new MockBindable();

            Assert.That(() => mock.RemoveBinding(MockBindable.TextProperty), Throws.Nothing);
        }