public void TestCtor1() { var logFile = new InMemoryLogSource(); using (var search = new LogSourceSearch(_scheduler, logFile, "foobar", TimeSpan.Zero)) { search.Matches.Should().BeEmpty("because the source is empty"); } }
public void TestAddListener1() { var logFile = new InMemoryLogSource(); logFile.AddEntry("Hello World!"); using (var search = new LogSourceSearch(_scheduler, logFile, "l", TimeSpan.Zero)) { search.AddListener(_listener.Object); _scheduler.RunOnce(); _matches.Should().Equal(new[] { new LogMatch(0, new LogLineMatch(2, 1)), new LogMatch(0, new LogLineMatch(3, 1)), new LogMatch(0, new LogLineMatch(9, 1)) }); } }
public void TestCtor2() { var logFile = new InMemoryLogSource(); logFile.AddEntry("Hello World!"); using (var search = new LogSourceSearch(_scheduler, logFile, "l", TimeSpan.Zero)) { _scheduler.RunOnce(); search.Count.Should().Be(3); var matches = search.Matches.ToList(); matches.Should().Equal(new[] { new LogMatch(0, new LogLineMatch(2, 1)), new LogMatch(0, new LogLineMatch(3, 1)), new LogMatch(0, new LogLineMatch(9, 1)) }); } }
public void TestReset() { var logFile = new InMemoryLogSource(); logFile.AddEntry("What's up people?"); logFile.AddEntry("Hello World!"); logFile.AddEntry("Looks like a bug"); using (var search = new LogSourceSearch(_scheduler, logFile, "l", TimeSpan.Zero)) { _scheduler.RunOnce(); search.Matches.Should().HaveCount(6); logFile.Clear(); search.Matches.Should().HaveCount(6); _scheduler.RunOnce(); search.Matches.Should().HaveCount(0, "because we've cleared the log source"); } }
public void TestInvalidate2() { var logFile = new InMemoryLogSource(); logFile.AddEntry("What's up people?"); logFile.AddEntry("Hello World!"); logFile.AddEntry("Looks like a bug"); using (var search = new LogSourceSearch(_scheduler, logFile, "l", TimeSpan.Zero)) { _scheduler.RunOnce(); search.Matches.Should().HaveCount(6); logFile.RemoveFrom(0); search.Matches.Should().HaveCount(6); _scheduler.RunOnce(); search.Matches.Should().HaveCount(0, "because we've removed all lines"); } }
public void TestDispose() { var logFile = new InMemoryLogSource(); logFile.AddEntry("What's a foobar?"); LogSourceSearch search; using (search = new LogSourceSearch(_scheduler, logFile, "foobar", TimeSpan.Zero)) { search.IsDisposed.Should().BeFalse(); _scheduler.PeriodicTaskCount.Should().Be(1); _scheduler.RunOnce(); search.Count.Should().Be(1); } search.IsDisposed.Should().BeTrue(); search.Count.Should().Be(0); _scheduler.PeriodicTaskCount.Should().Be(0); }
public void TestInvalidate1() { var logFile = new InMemoryLogSource(); logFile.AddEntry("What's up people?"); logFile.AddEntry("Hello World!"); logFile.AddEntry("Looks like a bug"); using (var search = new LogSourceSearch(_scheduler, logFile, "l", TimeSpan.Zero)) { _scheduler.RunOnce(); search.Matches.Should().HaveCount(6); logFile.RemoveFrom(1); search.Matches.Should().HaveCount(6); _scheduler.RunOnce(); search.Matches.Should().HaveCount(1, "because we've removed the second and third line, thus removing 5 of the 6 hits in the log source"); search.Matches.Should().Equal(new LogMatch(0, new LogLineMatch(14, 1))); } }