public void Setting_InboundPipe_Subscribes_To_Content_StatusChangeEvent_Of_Pipe_When_Pipe_Is_Replaced() { //Arrange var port = new InputNetworkPort(); var mockPipe = new Mock<INetworkPipe>(); var mockPipe2 = new Mock<INetworkPipe>(); var inPort = port as InputNetworkPort; // the event should not be fired. var helper = new HelperForInputPorts(); ; // final check is if this even is fired port.InputAvailabilityChanged += new InputAvailabilityChangedEventHandler<IInputNetworkPort, 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); }
public void _inPipe_ContentStatusChangedEventHandler_Fires_Input_AvailabilityChangedEvent() { //Arrange var port = new InputNetworkPort(); var helper = new HelperForInputPorts(); var mockPipe = new Mock<INetworkPipe>(); port.InputAvailabilityChanged += new InputAvailabilityChangedEventHandler<IInputNetworkPort, 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); }
public void Setting_InboundPipe_Fires_The_ConnectionChangingEvent_With_Action_Set_2_Replace_Before_Value_Changes() { //Arrange var port = new InputNetworkPort(); var mockPipe = new Mock<INetworkPipe>(); var mockPipe2 = new Mock<INetworkPipe>(); var helper = new HelperForInputPorts(); ; port.ConnectionChanging += new ConnectionChangingEventHandler<IInputNetworkPort, 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); }
public void Setting_InboundPipe_Fires_The_ConnectionChangedEvent_With_Action_Set_2_Delete_After_Value_Changes() { //Arrange var port = new InputNetworkPort(); var mockPipe = new Mock<INetworkPipe>(); var helper = new HelperForInputPorts(); port.ConnectionChanged += new ConnectionChangedEventHandler<IInputNetworkPort, 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); }
public void Setting_InboundPipe_Fires_The_ConnectionChangedEvent_With_Action_Set_2_Add_After_Value_Changes() { //Arrange var port = new InputNetworkPort(); var mockPipe = new Mock<INetworkPipe>(); var helper = new HelperForInputPorts(); port.ConnectionChanged += new ConnectionChangedEventHandler<IInputNetworkPort, 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); }
public void Setting_InboundPipe_Does_Not_Fire_ConnectionChangingEvent_When_Null_Value_Does_Not_Change() { //Arrange var port = new InputNetworkPort(); var helper = new HelperForInputPorts(); port.ConnectionChanging += new ConnectionChangingEventHandler<IInputNetworkPort, ConnectionChangingEventArgs> (helper.InputConnecting_DummyHandler); //Act port.InboundPipe = null; //Assert Assert.Equal(0, helper.InputConnecting_TimesCalled); var resultArgs = helper.RecievedEventArgs as ConnectionChangingEventArgs; Assert.Null(resultArgs); }
public void Setting_InboundPipe_Does_Not_Fire_ConnectionChangingEvent_When_Non_Null_Value_Does_Not_Change() { //Arrange var port = new InputNeutralPort(); var mockPipe = new Mock<INeutralPipe>(); // the event should not be fired. var helper = new HelperForInputPorts(); port.InboundPipe = mockPipe.Object; port.ConnectionChanging += new ConnectionChangingEventHandler<IInputNeutralPort, ConnectionChangingEventArgs> (helper.InputConnecting_DummyHandler); //Act port.InboundPipe = mockPipe.Object; //Assert Assert.Equal(0, helper.InputConnecting_TimesCalled); var resultArgs = helper.RecievedEventArgs as ConnectionChangingEventArgs; Assert.Null(resultArgs); }