[Test] public void TestNestedNdc() { // This test can suffer from timing and ordering issues as the RemotingAppender does dispatch events asynchronously // Setup the remoting appender ConfigureRootAppender(FixFlags.Partial); RemoteLoggingSinkImpl.Instance.Reset(); log4net.Tests.Appender.Remoting.UserInterfaces.TestService t; t = new log4net.Tests.Appender.Remoting.UserInterfaces.TestService(); t.Test(); // Wait for the remoted objects to be delivered System.Threading.Thread.Sleep(3000); LoggingEvent[] events = RemoteLoggingSinkImpl.Instance.Events; Assert.AreEqual(5, events.Length, "Expect to receive 5 remoted event"); Assert.AreEqual("begin test", events[0].RenderedMessage, "Verify event 1 RenderedMessage"); Assert.AreEqual("feature", events[1].RenderedMessage, "Verify event 2 RenderedMessage"); Assert.AreEqual("return", events[2].RenderedMessage, "Verify event 3 RenderedMessage"); Assert.AreEqual("return", events[3].RenderedMessage, "Verify event 4 RenderedMessage"); Assert.AreEqual("end test", events[4].RenderedMessage, "Verify event 5 RenderedMessage"); Assert.IsNull(events[0].Properties["NDC"], "Verify event 1 Properties"); Assert.AreEqual("test1", events[1].Properties["NDC"], "Verify event 2 Properties"); Assert.AreEqual("test1 test2", events[2].Properties["NDC"], "Verify event 3 Properties"); Assert.AreEqual("test1", events[3].Properties["NDC"], "Verify event 4 Properties"); Assert.IsNull(events[4].Properties["NDC"], "Verify event 5 Properties"); }
[Test] public void TestNestedNdc() { // This test can suffer from timing and ordering issues as the RemotingAppender does dispatch events asynchronously // Setup the remoting appender ConfigureRootAppender(FixFlags.Partial); RemoteLoggingSinkImpl.Instance.Reset(); log4net.Tests.Appender.Remoting.UserInterfaces.TestService t; t = new log4net.Tests.Appender.Remoting.UserInterfaces.TestService(); t.Test(); // Wait for the remoted objects to be delivered System.Threading.Thread.Sleep(3000); LoggingEvent[] events = RemoteLoggingSinkImpl.Instance.Events; Assert.AreEqual(5, events.Length, "Expect to receive 5 remoted event"); Assert.AreEqual("begin test", events[0].RenderedMessage, "Verify event 1 RenderedMessage"); Assert.AreEqual("feature", events[1].RenderedMessage, "Verify event 2 RenderedMessage"); Assert.AreEqual("return", events[2].RenderedMessage, "Verify event 3 RenderedMessage"); Assert.AreEqual("return", events[3].RenderedMessage, "Verify event 4 RenderedMessage"); Assert.AreEqual("end test", events[4].RenderedMessage, "Verify event 5 RenderedMessage"); Assert.IsNull(events[0].Properties["NDC"], "Verify event 1 Properties"); Assert.AreEqual("test1", events[1].Properties["NDC"], "Verify event 2 Properties"); Assert.AreEqual("test1 test2", events[2].Properties["NDC"], "Verify event 3 Properties"); Assert.AreEqual("test1", events[3].Properties["NDC"], "Verify event 4 Properties"); Assert.IsNull(events[4].Properties["NDC"], "Verify event 5 Properties"); }