Inheritance: ILogRenderer
        public void Render_NonAppropriateMessage_ShouldFilterOut()
        {
            var nestedRenderer = new SpyLogRenderer();
            var logger = new FilterLogRenderer(nestedRenderer, MessageLevel.Error);

            logger.Render(new Message("foo", MessageLevel.Info), new Identities("test"));

            Assert.That(nestedRenderer.Messages, Is.Empty);
        }
        public void Init_ShouldCallNested()
        {
            var nested = new Mock<ILogRenderer>();
            var logger = new FilterLogRenderer(nested.Object, MessageLevel.Info);

            logger.Init();

            nested.Verify(x => x.Init());
        }
        public void Render_AppropriateMessage_ShouldPassToNested()
        {
            var nestedRenderer = new SpyLogRenderer();
            var logger = new FilterLogRenderer(nestedRenderer, MessageLevel.Info);

            logger.Render(new Message("foo", MessageLevel.Info), new Identities("test"));

            Assert.That(nestedRenderer.Messages, Is.Not.Null);
            Assert.That(nestedRenderer.Messages, Is.Not.Empty);

            nestedRenderer.AssertHasMessage(MessageLevel.Info, "foo");
        }