Пример #1
0
        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);
        }
Пример #2
0
        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
        }
Пример #3
0
        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.
        }