public static void TestIt() { string listened = null; DelegateTraceListener listener = new DelegateTraceListener("Test Listener", (string message) => { listened = message; }); listener.Write(1); Assert.That(listened, Is.Null, "The listener should buffer until a new line is received."); listener.WriteLine(String.Empty); Assert.That(listened, Is.EqualTo("1" + Environment.NewLine), "The buffer should be emptied as soon as a New Line is received."); listener.Write("Hello" + Environment.NewLine + "New World"); Assert.That(listened, Is.EqualTo("Hello" + Environment.NewLine), "The buffer should contain text up to the last new line but not more."); }
public static void TestLoggingListenerAndLevels() { string listenerMessage = null; DelegateTraceListener traceListener = new DelegateTraceListener("AxCryptTestListener", (string message) => { listenerMessage = (listenerMessage ?? String.Empty) + message; }); Trace.Listeners.Add(traceListener); try { OS.Log.SetLevel(LogLevel.Fatal); listenerMessage = null; OS.Log.LogDebug("Verbose" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is off, Verbose logging should not generate a message."); listenerMessage = null; OS.Log.LogInfo("Info" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is off, Info logging should not generate a message."); listenerMessage = null; OS.Log.LogWarning("Warning" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is off, Warning logging should not generate a message."); listenerMessage = null; OS.Log.LogError("Error" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is off, Error logging should not generate a message."); OS.Log.SetLevel(LogLevel.Error); listenerMessage = null; OS.Log.LogDebug("Verbose" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is Error, Verbose logging should not generate a message."); listenerMessage = null; OS.Log.LogInfo("Info" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is Error, Info logging should not generate a message."); listenerMessage = null; OS.Log.LogWarning("Warning" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is Error, Warning logging should not generate a message."); listenerMessage = null; OS.Log.LogFatal("Fatal" + Environment.NewLine); Assert.That(listenerMessage.Contains("Fatal"), "When logging is Error, Fatal logging should generate a message."); listenerMessage = null; OS.Log.LogError("Error" + Environment.NewLine); Assert.That(listenerMessage.Contains("Error"), "When logging is Error, Error logging should generate a message."); OS.Log.SetLevel(LogLevel.Warning); listenerMessage = null; OS.Log.LogDebug("Verbose" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is Warning, Verbose logging should not generate a message."); listenerMessage = null; OS.Log.LogInfo("Info" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is Warning, Info logging should not generate a message."); listenerMessage = null; OS.Log.LogWarning("Warning" + Environment.NewLine); Assert.That(listenerMessage.Contains("Warning"), "When logging is Warning, Warning logging should generate a message."); listenerMessage = null; OS.Log.LogError("Error" + Environment.NewLine); Assert.That(listenerMessage.Contains("Error"), "When logging is Warning, Error logging should generate a message."); OS.Log.SetLevel(LogLevel.Info); listenerMessage = null; OS.Log.LogDebug("Verbose" + Environment.NewLine); Assert.That(listenerMessage, Is.EqualTo(null), "When logging is Info, Verbose logging should not generate a message."); listenerMessage = null; OS.Log.LogInfo("Info" + Environment.NewLine); Assert.That(listenerMessage.Contains("Info"), "When logging is Info, Info logging should generate a message."); listenerMessage = null; OS.Log.LogWarning("Warning" + Environment.NewLine); Assert.That(listenerMessage.Contains("Warning"), "When logging is Info, Warning logging should generate a message."); listenerMessage = null; OS.Log.LogError("Error" + Environment.NewLine); Assert.That(listenerMessage.Contains("Error"), "When logging is Info, Error logging should generate a message."); OS.Log.SetLevel(LogLevel.Debug); listenerMessage = null; OS.Log.LogDebug("Verbose" + Environment.NewLine); Assert.That(listenerMessage.Contains("Verbose"), "When logging is Verbose, Verbose logging should generate a message."); listenerMessage = null; OS.Log.LogInfo("Info" + Environment.NewLine); Assert.That(listenerMessage.Contains("Info"), "When logging is Verbose, Info logging should generate a message."); listenerMessage = null; OS.Log.LogWarning("Warning" + Environment.NewLine); Assert.That(listenerMessage.Contains("Warning"), "When logging is Verbose, Warning logging should generate a message."); listenerMessage = null; OS.Log.LogError("Error" + Environment.NewLine); Assert.That(listenerMessage.Contains("Error"), "When logging is Verbose, Error logging should generate a message."); } finally { Trace.Listeners.Remove(traceListener); } }