public void UpdateFailed_NoSubscribers_DoesntFireEvent()
        {
            //Arrange
            bool eventFired = false;
            var  alfa       = new AlfaException();
            var  nodeA      = new PropertyNode(nameof(alfa.A), alfa);
            var  nodeB      = new PropertyNode(nameof(alfa.B), alfa);
            var  reactor    = new Reactor("R1");

            reactor.CreateDependency(nodeA, nodeB);
            //Act
            reactor.PerformUpdate();

            //Assert
            Assert.IsFalse(eventFired);
        }
        public void GivenUpdateFails1_FiresUpdateFailedEvent()
        {
            //Arrange
            bool eventFired = false;
            var  alfa       = new AlfaException();
            var  nodeA      = new PropertyNode(nameof(alfa.A), alfa);
            var  nodeB      = new PropertyNode(nameof(alfa.B), alfa);
            var  reactor    = new Reactor("R1");

            reactor.CreateDependency(nodeA, nodeB);
            reactor.UpdateFailed += delegate
            {
                eventFired = true;
            };

            //Act
            reactor.PerformUpdate(nodeA);

            //Assert
            Assert.IsTrue(eventFired);
        }