public void EventsLost_should_be_incremented_after_losing_an_event()
        {
            muxer = new SingleFileMuxer(writerProviderFactory, singleFileWorker, new FileLogSettings {
                EventsQueueCapacity = 0
            });

            muxer.TryAdd(CreateEventInfo(), true);
            muxer.TryAdd(CreateEventInfo(), true);

            muxer.EventsLost.Should().Be(2);
        }
        public void TryAdd_should_return_false_if_event_was_not_added([Values] bool fromOwner)
        {
            muxer = new SingleFileMuxer(writerProviderFactory, singleFileWorker, new FileLogSettings {
                EventsQueueCapacity = 0
            });

            muxer.TryAdd(CreateEventInfo(), fromOwner).Should().BeFalse();
        }
        public void TryAdd_should_wait_for_buffer_space_if_specified()
        {
            singleFileWorker = new SingleFileWorker();
            muxer            = new SingleFileMuxer(writerProviderFactory, singleFileWorker, new FileLogSettings
            {
                WaitIfQueueIsFull   = true,
                EventsQueueCapacity = 1
            });

            for (var i = 0; i < 10; i++)
            {
                muxer.TryAdd(CreateEventInfo(), false).Should().BeTrue();
            }

            muxer.Dispose();

            eventsWriter.Received(10)
            .WriteEvents(
                Arg.Any <LogEventInfo[]>(),
                Arg.Is(1));
        }
 public void TryAdd_should_return_true_if_event_was_added_successfully([Values] bool fromOwner)
 {
     muxer.TryAdd(CreateEventInfo(), fromOwner).Should().BeTrue();
 }