public void ChannelPipeline_should_invoke_HandlerRemoved_to_removed_handler() { var pipeline = new DefaultChannelPipeline(TestChannel.Instance); var handler = new AllEventsChannelHandler("test", new[] { SupportedEvent.HandlerAdded, SupportedEvent.HandlerRemoved }); // add handler to pipeline first pipeline.AddFirst(handler.Name, handler); var head = ChannelPipelineModel.LastEventHistory(pipeline).Dequeue(); // verify that handler added events fired correctly Assert.Equal(handler.Name, head.Item1); Assert.Equal(SupportedEvent.HandlerAdded, head.Item2); // remove handler from pipeline var removed = pipeline.RemoveFirst(); Assert.Equal(handler, removed); // verify that handler removed event fired correctly var queue = new Queue <Tuple <string, SupportedEvent> >(); ((NamedChannelHandler)removed).RecordLastFiredEvent(queue); Assert.Equal(SupportedEvent.HandlerRemoved, queue.Dequeue().Item2); }
public void ChannelPipeline_should_invoke_HandlerAdded_to_recently_added_handler() { var pipeline = new DefaultChannelPipeline(TestChannel.Instance); var handler = new AllEventsChannelHandler("test", new[] { SupportedEvent.HandlerAdded }); pipeline.AddFirst(handler.Name, handler); var head = ChannelPipelineModel.LastEventHistory(pipeline).Dequeue(); Assert.Equal(handler.Name, head.Item1); Assert.Equal(SupportedEvent.HandlerAdded, head.Item2); }