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.");
        }
Beispiel #2
0
        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);
            }
        }