예제 #1
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);
        }
예제 #2
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);
        }
예제 #3
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);
        }
예제 #4
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);
        }
예제 #5
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);
        }