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); }
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 Property AllEventsChannelHandler_should_correctly_report_all_supported_events(SupportedEvent[] events) { var handler = new AllEventsChannelHandler("foo", events); return events.All(x => handler.SupportsEvent(x)).ToProperty(); }