public void BadEntryLengthTest() { _fooLogger.Log(LogLevel.Info, FooMsgId.Foo1, long.MaxValue.ForLog()); _data.AsSpan().Write((ushort)42); // EntryLength _stream.Seek(0, SeekOrigin.Begin); Assert.Throws <BinLogDecodingException>(() => _logDecoder.Decode(_stream).First()); }
public void BadStreamTest() { Assert.Throws <BinLogException>(() => new FooLogger(new MockStream(), new byte[16])); var emptyDecoder = new LogDecoder(42, new IChannelDecoder[] {}); Assert.Throws <BinLogException>(() => emptyDecoder.Decode(new MockStream()).First()); }
public void NoArgsEncodeTest() { _fooLogger.Log(LogLevel.Info, FooMsgId.Foo); _barLogger.Log(LogLevel.Warning, BarMsgId.HelloWorld); _stream.Seek(0, SeekOrigin.Begin); var entries = _logDecoder.Decode(_stream).ToArray(); Assert.True(entries[0].Channel == _fooDecoder.ChannelName); Assert.True(entries[1].Channel == _barDecoder.ChannelName); Assert.True(entries[0].LogLevel == LogLevel.Info); Assert.True(entries[1].LogLevel == LogLevel.Warning); Assert.True(entries[0].Message == _fooDecoder.DecodeMessage(FooMsgId.Foo)); Assert.True(entries[1].Message == _barDecoder.DecodeMessage(BarMsgId.HelloWorld)); Assert.True(entries[0].DateTimeUtc <= entries[1].DateTimeUtc); }
public void TracerMessagesTest() { const LogLevel lvl = LogLevel.Info; _logger.Log(lvl, FooMsgId.Foo); _logger.Log(lvl, FooMsgId.Foo1, 1.ForLog()); _logger.Log(lvl, FooMsgId.Foo2, 1.ForLog(), 2.ForLog()); _logger.Log(lvl, FooMsgId.Foo3, 1.ForLog(), 2.ForLog(), 3.ForLog()); _logger.Log(lvl, FooMsgId.Foo4, 1.ForLog(), 2.ForLog(), 3.ForLog(), 4.ForLog()); _stream.Seek(0, SeekOrigin.Begin); var messages = _decoder.Decode(_stream).Select(e => e.Message).ToArray(); for (var i = 0; i < messages.Length; i++) { Assert.True(messages[i] == _tracer.Messages[i]); } }