Exemplo n.º 1
0
        public void Ctor_Default_Creates_Instance()
        {
            //Act
            var port = new InputNeutralPort();

            //Assert
            Assert.NotNull(port);
        }
Exemplo n.º 2
0
        public void Ctor_Creates_Instance_When_Parent_Element_Param_Is_Null_But_Parent_Element_Remains_Null()
        {
            //Act
            var port = new InputNeutralPort(null);

            //Assert
            Assert.NotNull(port);
            Assert.Null(port.ParentElement);
        }
Exemplo n.º 3
0
        public void Ctor_Creates_Instance_When_Parent_Element_Param_Is_Not_Null()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockElement = new Mock<IElement>();

            //Act
            port = new InputNeutralPort(mockElement.Object);

            //Assert
            Assert.NotNull(port);
            Assert.NotNull(port.ParentElement);
        }
Exemplo n.º 4
0
        public void Blob_Gets_Network_As_A_IBlob()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockData = new Mock<INetwork>();
            var mockPipe = new Mock<INeutralPipe>();

            mockPipe.Setup(m => m.Blob).Returns(mockData.Object);

            port.InboundPipe = mockPipe.Object;

            //Act
            IBlob actualData = port.Blob;

            //Assert
            Assert.Same(mockData.Object, actualData);
        }
Exemplo n.º 5
0
        public void InboundPipe_Gets_And_Sets_The_DataPipe()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockPipe = new Mock<INeutralPipe>();

            //Act
            port.InboundPipe = mockPipe.Object;
            INeutralPipe actual = port.InboundPipe;

            //Assert
            Assert.Same(mockPipe.Object, actual);
        }
Exemplo n.º 6
0
        public void _inPipe_ContentStatusChangedEventHandler_Fires_Input_AvailabilityChangedEvent()
        {
            //Arrange
            var port = new InputNeutralPort();
            var helper = new HelperForInputPorts();
            var mockPipe = new Mock<INeutralPipe>();
            port.InputAvailabilityChanged += new InputAvailabilityChangedEventHandler<IInputNeutralPort, InputAvailabilityChangedEventArgs>
                                                (helper.InputAvailabilityChanged_DummyHandler);
            var ea = new PipeStatusChangeEventArgs(PayLoadStatus.Unavailable, PayLoadStatus.Available);

            //Act
            port._inPipe_ContentStatusChanged(mockPipe.Object, ea);

            //Assert
            Assert.Equal(1, helper.InputAvailabilityChanged_TimesCalled);
            Assert.NotNull(helper.RecievedEventArgs);
        }
Exemplo n.º 7
0
        public void SourceElement_Returns_Upstream_Element()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockEl0 = new Mock<IElement>();
            var mockPipe0 = new Mock<INeutralPipe>();

            port.InboundPipe = mockPipe0.Object;
            mockPipe0.Setup(m => m.SourceElement).Returns(mockEl0.Object);

            //Act
            IElement element = (port as InputNeutralPort).SourceElement;

            //Assert
            Assert.NotNull(element);
        }
Exemplo n.º 8
0
        public void SourceElement_Returns_Null_If_No_Pipes()
        {
            //Arrange
            var port = new InputNeutralPort();

            //Act
            IElement element = (port as InputNeutralPort).SourceElement;

            //Assert
            Assert.Null(element);
        }
Exemplo n.º 9
0
        public void Setting_InboundPipe_UnSubscribes_From_ContentStatusChangeEvent_Of_Pipe_When_Nullified()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockPipe = new Mock<INeutralPipe>();
            var mockPipe2 = new Mock<INeutralPipe>();
            var inPort = new InputNeutralPort_TestStub();

            inPort.InboundPipe = mockPipe.Object;  // initialize

            //Act
            inPort.InboundPipe = mockPipe2.Object; // replace

            // rais the event the port subscribed to
            mockPipe2.Raise(m => m.StatusChanged += null, new PipeStatusChangeEventArgs(PayLoadStatus.Unavailable, PayLoadStatus.Available));

            //Assert
            Assert.Equal(0, inPort._inPipe_ContentStatusChanged_TimesCalled);
            Assert.Null(inPort.RecievedEventArgs);
            Assert.Null(inPort.RecievedSender);
        }
Exemplo n.º 10
0
        public void Setting_InboundPipe_Subscribes_To_Content_StatusChangeEvent_Of_Pipe_When_Pipe_Is_Replaced()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockPipe = new Mock<INeutralPipe>();
            var mockPipe2 = new Mock<INeutralPipe>();
            var inPort = port as InputNeutralPort;
            // the event should not be fired.
            var helper = new HelperForInputPorts(); ;
            // final check is if this even is fired
            port.InputAvailabilityChanged += new InputAvailabilityChangedEventHandler<IInputNeutralPort, InputAvailabilityChangedEventArgs>
                                            (helper.InputAvailabilityChanged_DummyHandler);

            inPort.InboundPipe = mockPipe.Object;  // initialize

            //Act
            inPort.InboundPipe = mockPipe2.Object; // replace

            // raise the event the port subscribed to
            mockPipe2.Raise(m => m.StatusChanged += null, new PipeStatusChangeEventArgs(PayLoadStatus.Unavailable, PayLoadStatus.Available));

            //Assert
            Assert.Equal(1, helper.InputAvailabilityChanged_TimesCalled);
            Assert.NotNull(helper.RecievedEventArgs);
            Assert.Same(inPort, helper.RecievedSender);
        }
Exemplo n.º 11
0
        public void Setting_InboundPipe_Fires_The_ConnectionChangingEvent_With_Action_Set_2_Replace_Before_Value_Changes()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockPipe = new Mock<INeutralPipe>();
            var mockPipe2 = new Mock<INeutralPipe>();
            var helper = new HelperForInputPorts();
            ;
            port.ConnectionChanging += new ConnectionChangingEventHandler<IInputNeutralPort, ConnectionChangingEventArgs>
                                        (helper.InputConnecting_DummyHandler);

            port.InboundPipe = mockPipe.Object;   // set pipe, then delete it

            //Act
            port.InboundPipe = mockPipe2.Object;   // replace

            //Assert
            Assert.Equal(2, helper.InputConnecting_TimesCalled);
            var resultArgs = helper.RecievedEventArgs as ConnectionChangingEventArgs;
            Assert.NotNull(resultArgs);
            Assert.Equal(ConnectionAction.Replace, resultArgs.Action);
        }
Exemplo n.º 12
0
        public void Setting_InboundPipe_Fires_The_ConnectionChangedEvent_With_Action_Set_2_Delete_After_Value_Changes()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockPipe = new Mock<INeutralPipe>();
            var helper = new HelperForInputPorts();

            port.ConnectionChanged += new ConnectionChangedEventHandler<IInputNeutralPort, ConnectionChangedEventArgs>
                                        (helper.InputConnected_DummyHandler);

            port.InboundPipe = mockPipe.Object;   // set pipe, then delete it

            //Act
            port.InboundPipe = null;   // effectively deletes the connection

            //Assert
            Assert.Equal(2, helper.InputConnected_TimesCalled); // firse 2x, for each setting
            var resultArgs = helper.RecievedEventArgs as ConnectionChangedEventArgs;
            Assert.NotNull(resultArgs);
            Assert.Equal(ConnectionAction.Delete, resultArgs.Action);
        }
Exemplo n.º 13
0
        public void Setting_InboundPipe_Fires_The_ConnectionChangedEvent_With_Action_Set_2_Add_After_Value_Changes()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockPipe = new Mock<INeutralPipe>();
            var helper = new HelperForInputPorts();

            port.ConnectionChanged += new ConnectionChangedEventHandler<IInputNeutralPort, ConnectionChangedEventArgs>
                                        (helper.InputConnected_DummyHandler);

            //Act
            port.InboundPipe = mockPipe.Object;

            //Assert
            Assert.Equal(1, helper.InputConnected_TimesCalled);
            var resultArgs = helper.RecievedEventArgs as ConnectionChangedEventArgs;
            Assert.NotNull(resultArgs);
            Assert.Equal(ConnectionAction.Add, resultArgs.Action);
        }
Exemplo n.º 14
0
        public void Setting_InboundPipe_Does_Not_Fire_ConnectionChangingEvent_When_Null_Value_Does_Not_Change()
        {
            //Arrange
            var port = new InputNeutralPort();
            var helper = new HelperForInputPorts();
            port.ConnectionChanging += new ConnectionChangingEventHandler<IInputNeutralPort, ConnectionChangingEventArgs>
                                        (helper.InputConnecting_DummyHandler);

            //Act
            port.InboundPipe = null;

            //Assert
            Assert.Equal(0, helper.InputConnecting_TimesCalled);
            var resultArgs = helper.RecievedEventArgs as ConnectionChangingEventArgs;
            Assert.Null(resultArgs);
        }
Exemplo n.º 15
0
        public void ParentElement_Assigns_Parent_Element()
        {
            //Arrange
            var port = new InputNeutralPort();
            var mockElement = new Mock<IElement>();

            //Act
            port.ParentElement = mockElement.Object;

            //Assert
            Assert.NotNull(port.ParentElement);
            Assert.Same(mockElement.Object, port.ParentElement);
        }
Exemplo n.º 16
0
        public void InputBlob_Returns_Null_If_Inbound_Pipe_Is_Not_Set()
        {
            //Arrange
            var port = new InputNeutralPort();

            //Act
            IBlob actualBlob = port.InputBlob;

            //Assert
            Assert.Null(actualBlob);
        }