Example #1
0
        public void DisconnectingResetsValueToDisconnectedValue()
        {
            var connectableProperty = new ConnectableProperty <int>(0);

            connectableProperty.Connect(parent);
            connectableProperty.Value.Should().Be(1, "before disconnecting");

            connectableProperty.Disconnect();
            connectableProperty.Value.Should().Be(0, "after disconnecting");
        }
Example #2
0
        public void DisconnectingWithSameValueResetsValueToDisconnectedValue()
        {
            var connectableProperty = new ConnectableProperty <int>(0);

            connectableProperty.Connect(new StoredProperty <int>(0));
            connectableProperty.Value.Should().Be(0, "before disconnecting");

            connectableProperty.Disconnect();
            connectableProperty.Value.Should().Be(0, "after disconnecting");
        }
Example #3
0
        public void DisconnectingFiresChange()
        {
            bool eventFired          = false;
            var  connectableProperty = new ConnectableProperty <int>(0);

            connectableProperty.Connect(parent);
            connectableProperty.PropertyChanged += delegate { eventFired = true; };
            eventFired.Should().BeFalse("have not disconnected yet");

            connectableProperty.Disconnect();
            eventFired.Should().BeTrue("disconnected");
        }
Example #4
0
        public void DisconnectingWithSameValueDoesNotFireChange()
        {
            bool eventFired          = false;
            var  connectableProperty = new ConnectableProperty <int>(0);

            connectableProperty.Connect(new StoredProperty <int>(0));
            connectableProperty.PropertyChanged += delegate { eventFired = true; };
            eventFired.Should().BeFalse("have not disconnected yet");

            connectableProperty.Disconnect();
            eventFired.Should().BeFalse("disconnected, but the value should not have changed from 0 to 0");
        }