Ejemplo n.º 1
0
        public void TestFillDefaultColumn()
        {
            var inner = new Mock <ILogBuffer>();
            var view  = new LogBufferView(inner.Object, Core.Columns.LogLevel, Core.Columns.Message);

            view.FillDefault(Core.Columns.LogLevel, 123, 456);
            inner.Verify(x => x.FillDefault(Core.Columns.LogLevel, 123, 456), Times.Once);
        }
Ejemplo n.º 2
0
        public void TestFillDefaultColumn_NoSuchColumn()
        {
            var inner = new Mock <ILogBuffer>();
            var view  = new LogBufferView(inner.Object, Core.Columns.LogLevel, Core.Columns.Message);

            new Action(() => view.FillDefault(Core.Columns.DeltaTime, 123, 456))
            .Should().Throw <NoSuchColumnException>();
            inner.Verify(x => x.FillDefault(It.IsAny <IColumnDescriptor>(), It.IsAny <int>(), It.IsAny <int>()), Times.Never);
        }
Ejemplo n.º 3
0
        public void TestCopyFromArray_NoSuchColumn()
        {
            var inner = new Mock <ILogBuffer>();
            var view  = new LogBufferView(inner.Object, Core.Columns.LogLevel, Core.Columns.Message);

            var source = new DateTime?[101];

            new Action(() => view.CopyFrom(Core.Columns.Timestamp, 42, source, 2, 98)).Should().Throw <NoSuchColumnException>();
            inner.Verify(x => x.CopyFrom(Core.Columns.Timestamp, It.IsAny <int>(), It.IsAny <DateTime?[]>(), It.IsAny <int>(), It.IsAny <int>()), Times.Never);
        }
Ejemplo n.º 4
0
        public void TestCopyFromArray()
        {
            var inner = new Mock <ILogBuffer>();
            var view  = new LogBufferView(inner.Object, Core.Columns.LogLevel, Core.Columns.Message);

            var source = new LevelFlags[101];

            view.CopyFrom(Core.Columns.LogLevel, 42, source, 2, 98);
            inner.Verify(x => x.CopyFrom(Core.Columns.LogLevel, 42, source, 2, 98), Times.Once);
        }
Ejemplo n.º 5
0
        public void TestCopyFromLogFile_Contiguous_NoSuchColumn()
        {
            var inner = new Mock <ILogBuffer>();
            var view  = new LogBufferView(inner.Object, Core.Columns.LogLevel, Core.Columns.Message);

            var source       = new Mock <ILogSource>();
            var queryOptions = new LogSourceQueryOptions(LogSourceQueryMode.FromCache);

            new Action(() => view.CopyFrom(Core.Columns.Timestamp, 42, source.Object, new LogSourceSection(2, 98), queryOptions)).Should().Throw <NoSuchColumnException>();
            inner.Verify(x => x.CopyFrom(Core.Columns.Timestamp, It.IsAny <int>(), It.IsAny <ILogSource>(), It.IsAny <LogSourceSection>(), It.IsAny <LogSourceQueryOptions>()), Times.Never);
        }
Ejemplo n.º 6
0
        public void TestCopyFromLogFile_Contiguous()
        {
            var inner = new Mock <ILogBuffer>();
            var view  = new LogBufferView(inner.Object, Core.Columns.LogLevel, Core.Columns.Message);

            var source       = new Mock <ILogSource>();
            var queryOptions = new LogSourceQueryOptions(LogSourceQueryMode.FromCache);

            view.CopyFrom(Core.Columns.LogLevel, 42, source.Object, new LogSourceSection(2, 98), queryOptions);
            inner.Verify(x => x.CopyFrom(Core.Columns.LogLevel, 42, source.Object, new LogSourceSection(2, 98), queryOptions), Times.Once);
        }
Ejemplo n.º 7
0
        public void TestCopyFromLogFile_Noncontiguous()
        {
            var inner = new Mock <ILogBuffer>();
            var view  = new LogBufferView(inner.Object, Core.Columns.LogLevel, Core.Columns.Message);

            var source        = new Mock <ILogSource>();
            var sourceIndices = new[] { new LogLineIndex(1), new LogLineIndex(42) };
            var queryOptions  = new LogSourceQueryOptions(LogSourceQueryMode.FromCache);

            view.CopyFrom(Core.Columns.LogLevel, 42, source.Object, sourceIndices, queryOptions);
            inner.Verify(x => x.CopyFrom(Core.Columns.LogLevel, 42, source.Object, sourceIndices, queryOptions), Times.Once);
        }
Ejemplo n.º 8
0
        public void TestConstruction()
        {
            var inner = new Mock <ILogBuffer>();
            var view  = new LogBufferView(inner.Object, Core.Columns.LogLevel, Core.Columns.Message);

            view.Columns.Should().Equal(new object[] { Core.Columns.LogLevel, Core.Columns.Message });
            view.Contains(Core.Columns.LogLevel).Should().BeTrue();
            view.Contains(Core.Columns.Message).Should().BeTrue();
            view.Contains(Core.Columns.Index).Should().BeFalse();
            view.Contains(Core.Columns.LogEntryIndex).Should().BeFalse();

            inner.Setup(x => x.Count).Returns(42);
            view.Count.Should().Be(42);
        }
Ejemplo n.º 9
0
        public void TestReadOnlyEnumerable()
        {
            var inner = new LogBufferList(Core.Columns.Minimum);

            inner.Add(new ReadOnlyLogEntry(new Dictionary <IColumnDescriptor, object> {
                { Core.Columns.RawContent, "Hello!" }, { Core.Columns.Timestamp, new DateTime(2021, 02, 11, 18, 49, 32) }
            }));
            var view = new LogBufferView(inner, Core.Columns.RawContent);

            var logEntries = view.ToList <IReadOnlyLogEntry>();

            logEntries.Should().HaveCount(1);
            var logEntryView = logEntries[0];

            logEntryView.Columns.Should().Equal(new object[] { Core.Columns.RawContent });
            logEntryView.RawContent.Should().Be("Hello!");
        }