Beispiel #1
0
        public void TestOneEntryTimestampReset()
        {
            var adorner = new LogSourcePropertyAdorner(_scheduler, _source.Object, TimeSpan.Zero);

            _sourceEntries.Add(new LogEntry
            {
                Index     = 0,
                Timestamp = new DateTime(2021, 02, 20, 17, 52, 31)
            });
            _listeners.OnRead(_sourceEntries.Count);
            _scheduler.RunOnce();

            adorner.GetProperty(Core.Properties.StartTimestamp).Should().Be(new DateTime(2021, 02, 20, 17, 52, 31));
            adorner.GetProperty(Core.Properties.EndTimestamp).Should().Be(new DateTime(2021, 02, 20, 17, 52, 31));
            adorner.GetProperty(Core.Properties.Duration).Should().Be(TimeSpan.Zero);

            var buffer = new PropertiesBufferList(Core.Properties.StartTimestamp, Core.Properties.EndTimestamp);

            adorner.GetAllProperties(buffer);
            buffer.GetValue(Core.Properties.StartTimestamp).Should().Be(new DateTime(2021, 02, 20, 17, 52, 31));
            buffer.GetValue(Core.Properties.EndTimestamp).Should().Be(new DateTime(2021, 02, 20, 17, 52, 31));
            buffer.GetValue(Core.Properties.Duration).Should().Be(TimeSpan.Zero);

            _sourceEntries.Clear();
            _listeners.Reset();
            _scheduler.RunOnce();
            adorner.GetProperty(Core.Properties.StartTimestamp).Should().BeNull();
            adorner.GetProperty(Core.Properties.EndTimestamp).Should().BeNull();
            adorner.GetProperty(Core.Properties.Duration).Should().BeNull();

            adorner.GetAllProperties(buffer);
            buffer.GetValue(Core.Properties.StartTimestamp).Should().BeNull();
            buffer.GetValue(Core.Properties.EndTimestamp).Should().BeNull();
            buffer.GetValue(Core.Properties.Duration).Should().BeNull();
        }
Beispiel #2
0
        public void TestListen2()
        {
            using (var proxy = new LogSourceProxy(_taskScheduler, TimeSpan.Zero, _logFile.Object))
            {
                proxy.AddListener(_listener.Object, TimeSpan.Zero, 1000);

                _listeners.OnRead(500);
                _listeners.Reset();
                _listeners.OnRead(600);

                _taskScheduler.RunOnce();

                _modifications.Should().Equal(new[]
                {
                    LogSourceModification.Reset(),
                    LogSourceModification.Appended(0, 500),
                    LogSourceModification.Reset(),
                    LogSourceModification.Appended(0, 600)
                });
            }
        }