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 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_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 TestSetup() { eventsWriter = Substitute.For <IEventsWriter>(); eventsWriterProvider = Substitute.For <IEventsWriterProvider>(); eventsWriterProvider.ObtainWriterAsync(Arg.Any <CancellationToken>()).Returns(Task.FromResult(eventsWriter)); writerProviderFactory = Substitute.For <IEventsWriterProviderFactory>(); writerProviderFactory.CreateProvider(Arg.Any <FilePath>(), Arg.Do <Func <FileLogSettings> >(x => settingsInsideMuxer = x)).Returns(eventsWriterProvider); singleFileWorker = Substitute.For <ISingleFileWorker>(); singleFileWorker.WritePendingEventsAsync( Arg.Any <IEventsWriterProvider>(), Arg.Any <ConcurrentBoundedQueue <LogEventInfo> >(), Arg.Any <LogEventInfo[]>(), Arg.Any <AtomicLong>(), Arg.Any <AtomicLong>(), Arg.Any <CancellationToken>()) .Returns(Task.FromResult(true)); muxer = new SingleFileMuxer(writerProviderFactory, singleFileWorker, new FileLogSettings()); }