public void LoggingTracerTest() { this.SetMessageHandlerImplementation(); using (LoggingTracer tracer = new LoggingTracer()) { Assert.AreEqual(0, Device.GetInstalledCount()); Assert.AreEqual(1, tracer.LogMessages.Count); Assert.AreEqual(LogLevel.Warning, tracer.LogMessages[0].LogLevel); Assert.AreEqual("File", tracer.LogMessages[0].FileName); Assert.AreEqual(1234, tracer.LogMessages[0].Line); Assert.AreEqual("Message", tracer.LogMessages[0].Message); } // Make sure logging getting called without a logging tracer doesn't cause a failure. Assert.AreEqual(0, Device.GetInstalledCount()); // Make sure that we can instantiate another logging tracer. using (LoggingTracer tracer = new LoggingTracer()) { using (LoggingTracer tracer2 = new LoggingTracer()) { Assert.AreEqual(0, Device.GetInstalledCount()); Assert.AreEqual(1, tracer2.LogMessages.Count); } Assert.AreEqual(1, tracer.LogMessages.Count); Assert.AreEqual(LogLevel.Warning, tracer.LogMessages[0].LogLevel); Assert.AreEqual("File", tracer.LogMessages[0].FileName); Assert.AreEqual(1234, tracer.LogMessages[0].Line); Assert.AreEqual("Message", tracer.LogMessages[0].Message); } }
private static void ThreadProc(int delay, int count) { // Make sure that there are calls at times that a thread exists where the tracer isn't active. Assert.AreEqual(0, Device.GetInstalledCount()); Thread.Sleep(delay); using (LoggingTracer tracer = new LoggingTracer()) { for (int i = 0; i < count; ++i) { Assert.AreEqual(0, Device.GetInstalledCount()); Thread.Sleep(delay); } Assert.AreEqual(count, tracer.LogMessages.Count); } Assert.AreEqual(0, Device.GetInstalledCount()); }