public void itShouldSupportMultipleAnalyzers() { var mockAnalyzer1 = new MockAnalyzer(); var mockAnalyzer2 = new MockAnalyzer(); var analyzers = new List <BaseLogAnalyzer>(); analyzers.Add(mockAnalyzer1); analyzers.Add(mockAnalyzer2); var logReader = new LogReader(analyzers); var sb = new StringBuilder(); sb.AppendLine("This is line 1"); sb.AppendLine("This is line 2"); sb.AppendLine("This is line 3"); using (var stream = toStream(sb.ToString())) { logReader.ReadSource("source1", stream); } logReader.EndReadAll(); Assert.AreEqual(3, mockAnalyzer1.LinesCount); Assert.AreEqual(3, mockAnalyzer1.LastLineNumberFromReader); Assert.AreEqual(3, mockAnalyzer2.LinesCount); Assert.AreEqual(3, mockAnalyzer2.LastLineNumberFromReader); }
public void itShouldCallEndReadOfAnalyzersAfterReadingSource() { var mockAnalyzer = new MockAnalyzer(); var analyzers = new List <BaseLogAnalyzer>(); analyzers.Add(mockAnalyzer); var logReader = new LogReader(analyzers); using (var stream = toStream("This is a test")) { logReader.ReadSource("source1", stream); } logReader.EndReadAll(); // Implied assertion: MockAnalyzer should not raise exception at this point }
public void itShouldHandleExceptionInEndReadAll() { var mockAnalyzer = new MockAnalyzerThrowingException(); var analyzers = new List <BaseLogAnalyzer>(); analyzers.Add(mockAnalyzer); var logReader = new LogReader(analyzers); using (var stream = toStream("This is a test")) { logReader.ReadSource("source1", stream); logReader.EndReadAll(); } // Implied assertion: No unhandled exception at this point. }