Ejemplo n.º 1
0
        public void SetSourcePort_ShouldChangePropertiesAndTriggerEvent()
        {
            // Arrange
            var           link            = new TestLink(sourcePort: new PortModel(null), targetPort: null);
            var           parent          = new NodeModel();
            var           sp              = new PortModel(parent);
            var           eventsTriggered = 0;
            PortModel     oldSp           = null;
            PortModel     newSp           = null;
            BaseLinkModel linkInstance    = null;

            // Act
            link.SourcePortChanged += (l, o, n) =>
            {
                eventsTriggered++;
                linkInstance = l;
                oldSp        = o;
                newSp        = n;
            };

            link.SetSourcePort(sp);

            // Assert
            eventsTriggered.Should().Be(1);
            link.SourcePort.Should().BeSameAs(sp);
            oldSp.Should().NotBeNull();
            newSp.Should().BeSameAs(sp);
            linkInstance.Should().BeSameAs(link);
            link.SourceNode.Should().BeSameAs(parent);
        }