public void WhenDisposingTheExpression_ThenTargetObjectEventIsNull()
        {
            this.SetUp();
            var binding = new Binding("Property1");
            var expression = new EventTriggeredBindingExpression<EventTargetObject, EventArgs>(this.Target, "PropertyA", "PropertyChanged", this.Source, binding);
            expression.Bind();

            expression.Dispose();

            Assert.AreEqual(this.Target.HasEventHandler, false);
        }
        public void WhenBindingWithAnEvent_ThenTheSourcePropertyIsUpdated()
        {
            this.SetUp();
            var binding = new Binding("Property1");
            var expression = new EventTriggeredBindingExpression<EventTargetObject, EventArgs>(this.Target, "PropertyA", "PropertyChanged", this.Source, binding);
            expression.Bind();

            this.Target.PropertyA = Guid.NewGuid().ToString();

            Assert.AreEqual(this.Target.PropertyA, this.Source.Property1);
        }