public void TestFilteringLoggerImportantArea() { var lines = LogInput.Split(new[] { "\r\n" }, StringSplitOptions.None); var output = new AccumulationLogger(); var logger = new FilteringLogger(output, LogFilter.AllMessages); var config = new ManualConfig(); config.Add(logger); using (FilteringLogger.BeginLogImportant(config)) { foreach (var line in lines) { logger.WriteLine(line); } Assert.AreEqual(output.GetLog(), LogInput + "\r\n"); output = new AccumulationLogger(); logger = new FilteringLogger(output, LogFilter.AllMessages); var i = 0; foreach (var line in lines) { if (i++ % 2 == 0) { logger.WriteLineError(line); } else { logger.WriteLineHint(line); } } Assert.AreEqual(output.GetLog(), LogInput + "\r\n"); output = new AccumulationLogger(); logger = new FilteringLogger(output, LogFilter.AllMessages); LogMessages(logger); // ReSharper disable once StringLiteralTypo const string Expected = @"ABCDEFGH TST0 // !TST1 TST2 // !<-- TST3 // !<-- TST4 TST5 // !--> TST6 // !--> TST7 TST8 // !TST9 TST10 "; Assert.AreEqual(output.GetLog(), Expected); } }
public void TestFilteringLoggerPrefixedOrErrors() { var lines = LogInput.Split(new[] { "\r\n" }, StringSplitOptions.None); var output = new AccumulationLogger(); var logger = new FilteringLogger(output, LogFilter.PrefixedOrErrors); foreach (var line in lines) { logger.WriteLine(line); } Assert.AreEqual(output.GetLog(), PrefixedLogOutput); output = new AccumulationLogger(); logger = new FilteringLogger(output, LogFilter.PrefixedOrErrors); var i = 0; foreach (var line in lines) { if (i++ % 2 == 0) { logger.WriteLineError(line); } else { logger.WriteLineHint(line); } } Assert.AreEqual(output.GetLog(), LogInput + "\r\n"); output = new AccumulationLogger(); logger = new FilteringLogger(output, LogFilter.PrefixedOrErrors); LogMessages(logger); const string Expected = @"AH TST0 // !TST1 // !<-- TST3 // !<-- TST4 TST5 // !--> TST6 // !--> "; Assert.AreEqual(output.GetLog(), Expected); }