public void DebugAndTraceClassBothShareTheSameListenersCollection()
        {
            var listener = new InMemoryListTraceListener();

            Trace.Listeners.Add(listener);

            Assert.That(Debug.Listeners, Has.Member(listener));
        }
        public void CanListenForTraceLogMessages()
        {
            var listener = new InMemoryListTraceListener();

            Trace.Listeners.Add(listener);

            Trace.Write("Hello world");
            Assert.That(listener.Messages[0], Is.EqualTo("Hello world"));
        }
        public void CanCreateAndUseTraceSourceThatIsNotDefinedInConfiguration()
        {
            var listener    = new InMemoryListTraceListener();
            var adhocSource = new TraceSource("NotInConfig", SourceLevels.Information);

            adhocSource.Listeners.Clear();
            adhocSource.Listeners.Add(listener);
            var consoleTraceListener =
                new ConsoleTraceListener
            {
                TraceOutputOptions = TraceOptions.DateTime | TraceOptions.ProcessId | TraceOptions.ThreadId
            };

            adhocSource.Listeners.Add(consoleTraceListener);

            adhocSource.TraceInformation("Hello");

            Assert.That(listener.Messages[1], Is.EqualTo("Hello\r\n"));
        }