public void When_Changing_Read_Value()
        {
            var SUT = new BinderLocalCache_Data();

            SUT.SetValue(BinderLocalCache_Data.MyValueProperty, 42);
            Assert.AreEqual(42, SUT.MyValue);
            Assert.AreEqual(42, SUT.MyValuePropertyValueDuringChange);
        }
        public void When_DirectDP_Update()
        {
            var SUT = new BinderLocalCache_Data();

            SUT.SetValue(BinderLocalCache_Data.MyValueProperty, 42);

            Assert.AreEqual(42, SUT.MyValue);
        }
        public void When_NormalUpdate()
        {
            var SUT = new BinderLocalCache_Data();

            SUT.MyValue = 42;

            Assert.AreEqual(42, SUT.MyValue);
        }
        public void When_Update_Lower_Precedence()
        {
            var SUT = new BinderLocalCache_Data();

            SUT.SetValue(BinderLocalCache_Data.MyValueProperty, 42);
            Assert.AreEqual(42, SUT.MyValue);

            SUT.SetValue(BinderLocalCache_Data.MyValueProperty, 43, DependencyPropertyValuePrecedences.ImplicitStyle);
            Assert.AreEqual(42, SUT.MyValue);
        }
        public void When_Update_Higher_Precedence()
        {
            var SUT = new BinderLocalCache_Data();

            SUT.SetValue(BinderLocalCache_Data.MyValueProperty, 42);
            Assert.AreEqual(42, SUT.MyValue);

            SUT.SetValue(BinderLocalCache_Data.MyValueProperty, 43, DependencyPropertyValuePrecedences.Animations);
            Assert.AreEqual(43, SUT.MyValue);

            SUT.ClearValue(BinderLocalCache_Data.MyValueProperty, DependencyPropertyValuePrecedences.Animations);
            Assert.AreEqual(42, SUT.MyValue);
        }