public void SimpleTest() { container.Register(Component.For(typeof(SimpleLoggingComponent)).Named("component1")); SimpleLoggingComponent test = container.Resolve <SimpleLoggingComponent>("component1"); test.DoSomething(); String expectedLogOutput = String.Format("|INFO|{0}|Hello world", typeof(SimpleLoggingComponent).FullName); String actualLogOutput = (NLog.LogManager.Configuration.FindTargetByName("memory") as MemoryTarget).Logs[0].ToString(); actualLogOutput = actualLogOutput.Substring(actualLogOutput.IndexOf('|')); Assert.AreEqual(expectedLogOutput, actualLogOutput); container.Register(Component.For(typeof(SmtpServer)).Named("component2")); ISmtpServer smtpServer = container.Resolve <ISmtpServer>("component2"); smtpServer.Start(); smtpServer.InternalSend("*****@*****.**", "*****@*****.**", "We're looking for a few good porgrammars."); smtpServer.Stop(); expectedLogOutput = String.Format("|INFO|Castle.Facilities.Logging.Tests.Classes.SmtpServer|InternalSend [email protected] [email protected] We're looking for a few good porgrammars.", typeof(SmtpServer).FullName); actualLogOutput = (NLog.LogManager.Configuration.FindTargetByName("memory") as MemoryTarget).Logs[1].ToString(); actualLogOutput = actualLogOutput.Substring(actualLogOutput.IndexOf('|')); Assert.AreEqual(expectedLogOutput, actualLogOutput.ToString()); }
public void SimpleTest() { container.Register(Component.For(typeof(SimpleLoggingComponent)).Named("component1")); SimpleLoggingComponent test = container.Resolve <SimpleLoggingComponent>("component1"); test.DoSomething(); String expectedLogOutput = String.Format("[INFO ] [{0}] - Hello world" + Environment.NewLine, typeof(SimpleLoggingComponent).FullName); MemoryAppender memoryAppender = ((Hierarchy)LogManager.GetRepository()).Root.GetAppender("memory") as MemoryAppender; TextWriter actualLogOutput = new StringWriter(); PatternLayout patternLayout = new PatternLayout("[%-5level] [%logger] - %message%newline"); patternLayout.Format(actualLogOutput, memoryAppender.GetEvents()[0]); Assert.AreEqual(expectedLogOutput, actualLogOutput.ToString()); container.Register(Component.For(typeof(SmtpServer)).Named("component2")); ISmtpServer smtpServer = container.Resolve <ISmtpServer>("component2"); smtpServer.Start(); smtpServer.InternalSend("*****@*****.**", "*****@*****.**", "We're looking for a few good porgrammars."); smtpServer.Stop(); expectedLogOutput = String.Format("[DEBUG] [Castle.Facilities.Logging.Tests.Classes.SmtpServer] - Stopped" + Environment.NewLine, typeof(SimpleLoggingComponent).FullName); memoryAppender = ((Hierarchy)LogManager.GetRepository()).Root.GetAppender("memory") as MemoryAppender; actualLogOutput = new StringWriter(); patternLayout = new PatternLayout("[%-5level] [%logger] - %message%newline"); Assert.AreEqual(memoryAppender.GetEvents().Length, 4); patternLayout.Format(actualLogOutput, memoryAppender.GetEvents()[3]); Assert.AreEqual(expectedLogOutput, actualLogOutput.ToString()); }