You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by bo...@apache.org on 2011/08/17 07:57:04 UTC

svn commit: r1158529 [6/7] - in /logging/log4net/trunk: ./ doc/css/ examples/ examples/mono/ examples/mono/1.0/ examples/mono/1.0/Performance/ examples/mono/1.0/Performance/NotLogging/ examples/mono/1.0/Performance/NotLogging/cs/ examples/mono/1.0/Perf...

Modified: logging/log4net/trunk/tests/src/Core/StringFormatTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Core/StringFormatTest.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Core/StringFormatTest.cs (original)
+++ logging/log4net/trunk/tests/src/Core/StringFormatTest.cs Wed Aug 17 05:57:00 2011
@@ -1,689 +1,689 @@
-#region Apache License
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more 
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership. 
-// The ASF licenses this file to you under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with 
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-#endregion
-
-using System;
-using System.Globalization;
-
-using log4net.Config;
-using log4net.Core;
-using log4net.Layout;
-using log4net.Repository;
-using log4net.Tests.Appender;
-using log4net.Tests.Layout;
-
-using NUnit.Framework;
-
-namespace log4net.Tests.Core
-{
-	/// <summary>
-	/// Used for internal unit testing the <see cref="PatternLayoutTest"/> class.
-	/// </summary>
-	/// <remarks>
-	/// Used for internal unit testing the <see cref="PatternLayoutTest"/> class.
-	/// </remarks>
-	[TestFixture]
-	public class StringFormatTest
-	{
-		[Test]
-		public void TestFormatString()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Layout = new PatternLayout("%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestFormatString");
-
-			// ***
-			log1.Info("TestMessage");
-			Assert.AreEqual("TestMessage", stringAppender.GetString(), "Test simple INFO event");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.DebugFormat("Before {0} After", "Middle");
-			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted DEBUG event");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat("Before {0} After", "Middle");
-			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted INFO event");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat("Before {0} After", "Middle");
-			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted WARN event");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat("Before {0} After", "Middle");
-			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted ERROR event");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat("Before {0} After", "Middle");
-			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted FATAL event");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.InfoFormat("Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("Before Middle After End", stringAppender.GetString(), "Test simple formatted INFO event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat("IGNORE THIS WARNING - EXCEPTION EXPECTED Before {0} After {1} {2}", "Middle", "End");
-			Assert.AreEqual(STRING_FORMAT_ERROR, stringAppender.GetString(), "Test formatting error");
-			stringAppender.Reset();
-		}
-
-		private const string STRING_FORMAT_ERROR = "<log4net.Error>Exception during StringFormat: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. <format>IGNORE THIS WARNING - EXCEPTION EXPECTED Before {0} After {1} {2}</format><args>{Middle, End}</args></log4net.Error>";
-
-
-		[Test]
-		public void TestLogFormatApi_Debug()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Debug");
-
-			// ***
-			log1.Debug("TestMessage");
-			Assert.AreEqual("DEBUG:TestMessage", stringAppender.GetString(), "Test simple DEBUG event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Debug("TestMessage", null);
-			Assert.AreEqual("DEBUG:TestMessage", stringAppender.GetString(), "Test simple DEBUG event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Debug("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("DEBUG:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple DEBUG event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat("a{0}", "1");
-			Assert.AreEqual("DEBUG:a1", stringAppender.GetString(), "Test formatted DEBUG event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("DEBUG:a1b2", stringAppender.GetString(), "Test formatted DEBUG event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("DEBUG:a1b2c3", stringAppender.GetString(), "Test formatted DEBUG event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.DebugFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("DEBUG:aQbWcEdReTf", stringAppender.GetString(), "Test formatted DEBUG event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("DEBUG:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("DEBUG:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-		[Test]
-		public void TestLogFormatApi_NoDebug()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Threshold = Level.Info;
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Debug");
-
-			// ***
-			log1.Debug("TestMessage");
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Debug("TestMessage", null);
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Debug("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat("a{0}", "1");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.DebugFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.DebugFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-
-		[Test]
-		public void TestLogFormatApi_Info()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");
-
-			// ***
-			log1.Info("TestMessage");
-			Assert.AreEqual("INFO:TestMessage", stringAppender.GetString(), "Test simple INFO event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Info("TestMessage", null);
-			Assert.AreEqual("INFO:TestMessage", stringAppender.GetString(), "Test simple INFO event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Info("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("INFO:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple INFO event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat("a{0}", "1");
-			Assert.AreEqual("INFO:a1", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("INFO:a1b2", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("INFO:a1b2c3", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("INFO:aQbWcEdReTf", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("INFO:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("INFO:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-		[Test]
-		public void TestLogFormatApi_NoInfo()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Threshold = Level.Warn;
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");
-
-			// ***
-			log1.Info("TestMessage");
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Info("TestMessage", null);
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Info("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat("a{0}", "1");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-
-		[Test]
-		public void TestLogFormatApi_Warn()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Warn");
-
-			// ***
-			log1.Warn("TestMessage");
-			Assert.AreEqual("WARN:TestMessage", stringAppender.GetString(), "Test simple WARN event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Warn("TestMessage", null);
-			Assert.AreEqual("WARN:TestMessage", stringAppender.GetString(), "Test simple WARN event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Warn("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("WARN:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple WARN event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat("a{0}", "1");
-			Assert.AreEqual("WARN:a1", stringAppender.GetString(), "Test formatted WARN event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("WARN:a1b2", stringAppender.GetString(), "Test formatted WARN event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("WARN:a1b2c3", stringAppender.GetString(), "Test formatted WARN event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.WarnFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("WARN:aQbWcEdReTf", stringAppender.GetString(), "Test formatted WARN event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("WARN:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("WARN:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-		[Test]
-		public void TestLogFormatApi_NoWarn()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Threshold = Level.Error;
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Warn");
-
-			// ***
-			log1.Warn("TestMessage");
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Warn("TestMessage", null);
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Warn("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat("a{0}", "1");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.WarnFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.WarnFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-
-		[Test]
-		public void TestLogFormatApi_Error()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Error");
-
-			// ***
-			log1.Error("TestMessage");
-			Assert.AreEqual("ERROR:TestMessage", stringAppender.GetString(), "Test simple ERROR event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Error("TestMessage", null);
-			Assert.AreEqual("ERROR:TestMessage", stringAppender.GetString(), "Test simple ERROR event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Error("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("ERROR:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple ERROR event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat("a{0}", "1");
-			Assert.AreEqual("ERROR:a1", stringAppender.GetString(), "Test formatted ERROR event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("ERROR:a1b2", stringAppender.GetString(), "Test formatted ERROR event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("ERROR:a1b2c3", stringAppender.GetString(), "Test formatted ERROR event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.ErrorFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("ERROR:aQbWcEdReTf", stringAppender.GetString(), "Test formatted ERROR event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("ERROR:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("ERROR:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-		[Test]
-		public void TestLogFormatApi_NoError()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Threshold = Level.Fatal;
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Error");
-
-			// ***
-			log1.Error("TestMessage");
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Error("TestMessage", null);
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Error("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat("a{0}", "1");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.ErrorFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.ErrorFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-
-		[Test]
-		public void TestLogFormatApi_Fatal()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Fatal");
-
-			// ***
-			log1.Fatal("TestMessage");
-			Assert.AreEqual("FATAL:TestMessage", stringAppender.GetString(), "Test simple FATAL event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Fatal("TestMessage", null);
-			Assert.AreEqual("FATAL:TestMessage", stringAppender.GetString(), "Test simple FATAL event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Fatal("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("FATAL:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple FATAL event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat("a{0}", "1");
-			Assert.AreEqual("FATAL:a1", stringAppender.GetString(), "Test formatted FATAL event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("FATAL:a1b2", stringAppender.GetString(), "Test formatted FATAL event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("FATAL:a1b2c3", stringAppender.GetString(), "Test formatted FATAL event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.FatalFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("FATAL:aQbWcEdReTf", stringAppender.GetString(), "Test formatted FATAL event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("FATAL:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("FATAL:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-
-		[Test]
-		public void TestLogFormatApi_NoFatal()
-		{
-			StringAppender stringAppender = new StringAppender();
-			stringAppender.Threshold = Level.Off;
-			stringAppender.Layout = new PatternLayout("%level:%message");
-
-			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-			BasicConfigurator.Configure(rep, stringAppender);
-
-			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Fatal");
-
-			// ***
-			log1.Fatal("TestMessage");
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 1");
-			stringAppender.Reset();
-
-			// ***
-			log1.Fatal("TestMessage", null);
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 2");
-			stringAppender.Reset();
-
-			// ***
-			log1.Fatal("TestMessage", new Exception("Exception message"));
-			Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 3");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat("a{0}", "1");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 1 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat("a{0}b{1}", "1", "2");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 2 parm");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat("a{0}b{1}c{2}", "1", "2", "3");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 3 parm");
-			stringAppender.Reset();
-
-
-			// ***
-			log1.FatalFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 5 parms (only 4 used)");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat(null, "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
-			stringAppender.Reset();
-
-			// ***
-			log1.FatalFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
-			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
-			stringAppender.Reset();
-		}
-	}
+#region Apache License
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more 
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership. 
+// The ASF licenses this file to you under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with 
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#endregion
+
+using System;
+using System.Globalization;
+
+using log4net.Config;
+using log4net.Core;
+using log4net.Layout;
+using log4net.Repository;
+using log4net.Tests.Appender;
+using log4net.Tests.Layout;
+
+using NUnit.Framework;
+
+namespace log4net.Tests.Core
+{
+	/// <summary>
+	/// Used for internal unit testing the <see cref="PatternLayoutTest"/> class.
+	/// </summary>
+	/// <remarks>
+	/// Used for internal unit testing the <see cref="PatternLayoutTest"/> class.
+	/// </remarks>
+	[TestFixture]
+	public class StringFormatTest
+	{
+		[Test]
+		public void TestFormatString()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Layout = new PatternLayout("%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestFormatString");
+
+			// ***
+			log1.Info("TestMessage");
+			Assert.AreEqual("TestMessage", stringAppender.GetString(), "Test simple INFO event");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.DebugFormat("Before {0} After", "Middle");
+			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted DEBUG event");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat("Before {0} After", "Middle");
+			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted INFO event");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat("Before {0} After", "Middle");
+			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted WARN event");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat("Before {0} After", "Middle");
+			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted ERROR event");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat("Before {0} After", "Middle");
+			Assert.AreEqual("Before Middle After", stringAppender.GetString(), "Test simple formatted FATAL event");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.InfoFormat("Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("Before Middle After End", stringAppender.GetString(), "Test simple formatted INFO event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat("IGNORE THIS WARNING - EXCEPTION EXPECTED Before {0} After {1} {2}", "Middle", "End");
+			Assert.AreEqual(STRING_FORMAT_ERROR, stringAppender.GetString(), "Test formatting error");
+			stringAppender.Reset();
+		}
+
+		private const string STRING_FORMAT_ERROR = "<log4net.Error>Exception during StringFormat: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. <format>IGNORE THIS WARNING - EXCEPTION EXPECTED Before {0} After {1} {2}</format><args>{Middle, End}</args></log4net.Error>";
+
+
+		[Test]
+		public void TestLogFormatApi_Debug()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Debug");
+
+			// ***
+			log1.Debug("TestMessage");
+			Assert.AreEqual("DEBUG:TestMessage", stringAppender.GetString(), "Test simple DEBUG event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Debug("TestMessage", null);
+			Assert.AreEqual("DEBUG:TestMessage", stringAppender.GetString(), "Test simple DEBUG event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Debug("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("DEBUG:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple DEBUG event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat("a{0}", "1");
+			Assert.AreEqual("DEBUG:a1", stringAppender.GetString(), "Test formatted DEBUG event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("DEBUG:a1b2", stringAppender.GetString(), "Test formatted DEBUG event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("DEBUG:a1b2c3", stringAppender.GetString(), "Test formatted DEBUG event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.DebugFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("DEBUG:aQbWcEdReTf", stringAppender.GetString(), "Test formatted DEBUG event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("DEBUG:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("DEBUG:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+		[Test]
+		public void TestLogFormatApi_NoDebug()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Threshold = Level.Info;
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Debug");
+
+			// ***
+			log1.Debug("TestMessage");
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Debug("TestMessage", null);
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Debug("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple DEBUG event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat("a{0}", "1");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.DebugFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted DEBUG event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.DebugFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+
+		[Test]
+		public void TestLogFormatApi_Info()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");
+
+			// ***
+			log1.Info("TestMessage");
+			Assert.AreEqual("INFO:TestMessage", stringAppender.GetString(), "Test simple INFO event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Info("TestMessage", null);
+			Assert.AreEqual("INFO:TestMessage", stringAppender.GetString(), "Test simple INFO event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Info("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("INFO:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple INFO event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat("a{0}", "1");
+			Assert.AreEqual("INFO:a1", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("INFO:a1b2", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("INFO:a1b2c3", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("INFO:aQbWcEdReTf", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("INFO:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("INFO:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+		[Test]
+		public void TestLogFormatApi_NoInfo()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Threshold = Level.Warn;
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");
+
+			// ***
+			log1.Info("TestMessage");
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Info("TestMessage", null);
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Info("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat("a{0}", "1");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+
+		[Test]
+		public void TestLogFormatApi_Warn()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Warn");
+
+			// ***
+			log1.Warn("TestMessage");
+			Assert.AreEqual("WARN:TestMessage", stringAppender.GetString(), "Test simple WARN event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Warn("TestMessage", null);
+			Assert.AreEqual("WARN:TestMessage", stringAppender.GetString(), "Test simple WARN event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Warn("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("WARN:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple WARN event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat("a{0}", "1");
+			Assert.AreEqual("WARN:a1", stringAppender.GetString(), "Test formatted WARN event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("WARN:a1b2", stringAppender.GetString(), "Test formatted WARN event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("WARN:a1b2c3", stringAppender.GetString(), "Test formatted WARN event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.WarnFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("WARN:aQbWcEdReTf", stringAppender.GetString(), "Test formatted WARN event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("WARN:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("WARN:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+		[Test]
+		public void TestLogFormatApi_NoWarn()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Threshold = Level.Error;
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Warn");
+
+			// ***
+			log1.Warn("TestMessage");
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Warn("TestMessage", null);
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Warn("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple WARN event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat("a{0}", "1");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.WarnFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted WARN event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.WarnFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+
+		[Test]
+		public void TestLogFormatApi_Error()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Error");
+
+			// ***
+			log1.Error("TestMessage");
+			Assert.AreEqual("ERROR:TestMessage", stringAppender.GetString(), "Test simple ERROR event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Error("TestMessage", null);
+			Assert.AreEqual("ERROR:TestMessage", stringAppender.GetString(), "Test simple ERROR event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Error("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("ERROR:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple ERROR event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat("a{0}", "1");
+			Assert.AreEqual("ERROR:a1", stringAppender.GetString(), "Test formatted ERROR event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("ERROR:a1b2", stringAppender.GetString(), "Test formatted ERROR event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("ERROR:a1b2c3", stringAppender.GetString(), "Test formatted ERROR event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.ErrorFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("ERROR:aQbWcEdReTf", stringAppender.GetString(), "Test formatted ERROR event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("ERROR:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("ERROR:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+		[Test]
+		public void TestLogFormatApi_NoError()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Threshold = Level.Fatal;
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Error");
+
+			// ***
+			log1.Error("TestMessage");
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Error("TestMessage", null);
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Error("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple ERROR event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat("a{0}", "1");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.ErrorFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted ERROR event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.ErrorFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+
+		[Test]
+		public void TestLogFormatApi_Fatal()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Fatal");
+
+			// ***
+			log1.Fatal("TestMessage");
+			Assert.AreEqual("FATAL:TestMessage", stringAppender.GetString(), "Test simple FATAL event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Fatal("TestMessage", null);
+			Assert.AreEqual("FATAL:TestMessage", stringAppender.GetString(), "Test simple FATAL event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Fatal("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("FATAL:TestMessageSystem.Exception: Exception message" + Environment.NewLine, stringAppender.GetString(), "Test simple FATAL event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat("a{0}", "1");
+			Assert.AreEqual("FATAL:a1", stringAppender.GetString(), "Test formatted FATAL event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("FATAL:a1b2", stringAppender.GetString(), "Test formatted FATAL event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("FATAL:a1b2c3", stringAppender.GetString(), "Test formatted FATAL event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.FatalFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("FATAL:aQbWcEdReTf", stringAppender.GetString(), "Test formatted FATAL event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("FATAL:Before Middle After End", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("FATAL:Before Middle After End", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+
+		[Test]
+		public void TestLogFormatApi_NoFatal()
+		{
+			StringAppender stringAppender = new StringAppender();
+			stringAppender.Threshold = Level.Off;
+			stringAppender.Layout = new PatternLayout("%level:%message");
+
+			ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+			BasicConfigurator.Configure(rep, stringAppender);
+
+			ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Fatal");
+
+			// ***
+			log1.Fatal("TestMessage");
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 1");
+			stringAppender.Reset();
+
+			// ***
+			log1.Fatal("TestMessage", null);
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 2");
+			stringAppender.Reset();
+
+			// ***
+			log1.Fatal("TestMessage", new Exception("Exception message"));
+			Assert.AreEqual("", stringAppender.GetString(), "Test simple FATAL event 3");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat("a{0}", "1");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 1 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat("a{0}b{1}", "1", "2");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 2 parm");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat("a{0}b{1}c{2}", "1", "2", "3");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 3 parm");
+			stringAppender.Reset();
+
+
+			// ***
+			log1.FatalFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatted FATAL event with 5 parms (only 4 used)");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat(null, "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
+			stringAppender.Reset();
+
+			// ***
+			log1.FatalFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
+			Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
+			stringAppender.Reset();
+		}
+	}
 }
\ No newline at end of file

Propchange: logging/log4net/trunk/tests/src/Core/StringFormatTest.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: logging/log4net/trunk/tests/src/Filter/FilterTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Filter/FilterTest.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Filter/FilterTest.cs (original)
+++ logging/log4net/trunk/tests/src/Filter/FilterTest.cs Wed Aug 17 05:57:00 2011
@@ -1,90 +1,90 @@
-#if NET_2_0
-using System;
-using System.Collections.Generic;
-using System.Xml;
-using log4net.Appender;
-using log4net.Config;
-using log4net.Core;
-using log4net.Filter;
-using log4net.Repository;
-using NUnit.Framework;
-
-namespace log4net.Tests.Filter
-{
-    [TestFixture]
-    public class FilterTest
-    {
-        [Test]
-        public void FilterConfigurationTest()
-        {
-            XmlDocument log4netConfig = new XmlDocument();
-            #region Load log4netConfig
-            log4netConfig.LoadXml(@"
-            <log4net>
-            <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender, log4net"">
-                <filter type=""log4net.Tests.Filter.MultiplePropertyFilter, log4net.Tests"">
-                    <condition>
-                        <key value=""ABC"" />
-                        <stringToMatch value=""123"" />
-                    </condition>
-                    <condition>
-                        <key value=""DEF"" />
-                        <stringToMatch value=""456"" />
-                    </condition>
-                </filter>
-            </appender>
-            <root>
-                <level value=""ALL"" />
-                <appender-ref ref=""MemoryAppender"" />
-            </root>
-            </log4net>");
-            #endregion
-
-            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-            XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
-
-            IAppender[] appenders = LogManager.GetRepository(rep.Name).GetAppenders();
-            Assert.IsTrue(appenders.Length == 1);
-
-            IAppender appender = Array.Find(appenders, a => a.Name == "MemoryAppender");
-            Assert.IsNotNull(appender);
-
-            MultiplePropertyFilter multiplePropertyFilter = 
-                ((AppenderSkeleton)appender).FilterHead as MultiplePropertyFilter;
-
-            var conditions = multiplePropertyFilter.GetConditions();
-            Assert.AreEqual(2, conditions.Length);
-            Assert.AreEqual("ABC", conditions[0].Key);
-            Assert.AreEqual("123", conditions[0].StringToMatch);
-            Assert.AreEqual("DEF", conditions[1].Key);
-            Assert.AreEqual("456", conditions[1].StringToMatch);
-        }
-    }
-
-    public class MultiplePropertyFilter : FilterSkeleton
-    {
-        private readonly List<Condition> _conditions = new List<Condition>();
-
-        public override FilterDecision Decide(LoggingEvent loggingEvent)
-        {
-            return FilterDecision.Accept;
-        }
-
-        public Condition[] GetConditions()
-        {
-            return _conditions.ToArray();
-        }
-
-        public void AddCondition(Condition condition)
-        {
-            _conditions.Add(condition);
-        }
-        
-        public class Condition
-        {
-            public string Key { get; set; }
-            public string StringToMatch { get; set; }
-        }
-    }
-}
-#endif
+#if NET_2_0
+using System;
+using System.Collections.Generic;
+using System.Xml;
+using log4net.Appender;
+using log4net.Config;
+using log4net.Core;
+using log4net.Filter;
+using log4net.Repository;
+using NUnit.Framework;
+
+namespace log4net.Tests.Filter
+{
+    [TestFixture]
+    public class FilterTest
+    {
+        [Test]
+        public void FilterConfigurationTest()
+        {
+            XmlDocument log4netConfig = new XmlDocument();
+            #region Load log4netConfig
+            log4netConfig.LoadXml(@"
+            <log4net>
+            <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender, log4net"">
+                <filter type=""log4net.Tests.Filter.MultiplePropertyFilter, log4net.Tests"">
+                    <condition>
+                        <key value=""ABC"" />
+                        <stringToMatch value=""123"" />
+                    </condition>
+                    <condition>
+                        <key value=""DEF"" />
+                        <stringToMatch value=""456"" />
+                    </condition>
+                </filter>
+            </appender>
+            <root>
+                <level value=""ALL"" />
+                <appender-ref ref=""MemoryAppender"" />
+            </root>
+            </log4net>");
+            #endregion
+
+            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+            XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+
+            IAppender[] appenders = LogManager.GetRepository(rep.Name).GetAppenders();
+            Assert.IsTrue(appenders.Length == 1);
+
+            IAppender appender = Array.Find(appenders, a => a.Name == "MemoryAppender");
+            Assert.IsNotNull(appender);
+
+            MultiplePropertyFilter multiplePropertyFilter = 
+                ((AppenderSkeleton)appender).FilterHead as MultiplePropertyFilter;
+
+            var conditions = multiplePropertyFilter.GetConditions();
+            Assert.AreEqual(2, conditions.Length);
+            Assert.AreEqual("ABC", conditions[0].Key);
+            Assert.AreEqual("123", conditions[0].StringToMatch);
+            Assert.AreEqual("DEF", conditions[1].Key);
+            Assert.AreEqual("456", conditions[1].StringToMatch);
+        }
+    }
+
+    public class MultiplePropertyFilter : FilterSkeleton
+    {
+        private readonly List<Condition> _conditions = new List<Condition>();
+
+        public override FilterDecision Decide(LoggingEvent loggingEvent)
+        {
+            return FilterDecision.Accept;
+        }
+
+        public Condition[] GetConditions()
+        {
+            return _conditions.ToArray();
+        }
+
+        public void AddCondition(Condition condition)
+        {
+            _conditions.Add(condition);
+        }
+        
+        public class Condition
+        {
+            public string Key { get; set; }
+            public string StringToMatch { get; set; }
+        }
+    }
+}
+#endif

Propchange: logging/log4net/trunk/tests/src/Filter/FilterTest.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs (original)
+++ logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs Wed Aug 17 05:57:00 2011
@@ -1,76 +1,76 @@
-using System;
-using System.Xml;
-using log4net.Config;
-using log4net.Core;
-using log4net.Repository;
-using log4net.Repository.Hierarchy;
-using log4net.Tests.Appender;
-using NUnit.Framework;
-
-namespace log4net.Tests.Hierarchy
-{
-    [TestFixture]
-    public class Hierarchy
-    {
-        [Test]
-        public void SetRepositoryPropertiesInConfigFile()
-        {
-            // LOG4NET-53: Allow repository properties to be set in the config file
-            XmlDocument log4netConfig = new XmlDocument();
-            log4netConfig.LoadXml(@"
-                <log4net>
-                  <property>
-                    <key value=""two-plus-two"" />
-                    <value value=""4"" />
-                  </property>
-                  <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
-                    <layout type=""log4net.Layout.SimpleLayout"" />
-                  </appender>
-                  <root>
-                    <level value=""ALL"" />                  
-                    <appender-ref ref=""StringAppender"" />
-                  </root>  
-                </log4net>");
-
-            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-            XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
-
-            Assert.AreEqual("4", rep.Properties["two-plus-two"]);
-            Assert.IsNull(rep.Properties["one-plus-one"]);
-        }
-
-        [Test]
-        public void AddingMultipleAppenders()
-        {
-            CountingAppender alpha = new CountingAppender();
-            CountingAppender beta = new CountingAppender();
-
-            Repository.Hierarchy.Hierarchy hierarchy = 
-                (Repository.Hierarchy.Hierarchy)LogManager.GetRepository();
-            hierarchy.Root.AddAppender(alpha);
-            hierarchy.Root.AddAppender(beta);
-            hierarchy.Configured = true;
-
-            ILog log = LogManager.GetLogger(GetType());
-            log.Debug("Hello World");
-
-            Assert.AreEqual(1, alpha.Counter);
-            Assert.AreEqual(1, beta.Counter);
-        }
-
-        [Test]
-        public void AddingMultipleAppenders2()
-        {
-            CountingAppender alpha = new CountingAppender();
-            CountingAppender beta = new CountingAppender();
-            
-            BasicConfigurator.Configure(alpha, beta);
-
-            ILog log = LogManager.GetLogger(GetType());
-            log.Debug("Hello World");
-
-            Assert.AreEqual(1, alpha.Counter);
-            Assert.AreEqual(1, beta.Counter);
-        }
-    }
-}
+using System;
+using System.Xml;
+using log4net.Config;
+using log4net.Core;
+using log4net.Repository;
+using log4net.Repository.Hierarchy;
+using log4net.Tests.Appender;
+using NUnit.Framework;
+
+namespace log4net.Tests.Hierarchy
+{
+    [TestFixture]
+    public class Hierarchy
+    {
+        [Test]
+        public void SetRepositoryPropertiesInConfigFile()
+        {
+            // LOG4NET-53: Allow repository properties to be set in the config file
+            XmlDocument log4netConfig = new XmlDocument();
+            log4netConfig.LoadXml(@"
+                <log4net>
+                  <property>
+                    <key value=""two-plus-two"" />
+                    <value value=""4"" />
+                  </property>
+                  <appender name=""StringAppender"" type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
+                    <layout type=""log4net.Layout.SimpleLayout"" />
+                  </appender>
+                  <root>
+                    <level value=""ALL"" />                  
+                    <appender-ref ref=""StringAppender"" />
+                  </root>  
+                </log4net>");
+
+            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+            XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+
+            Assert.AreEqual("4", rep.Properties["two-plus-two"]);
+            Assert.IsNull(rep.Properties["one-plus-one"]);
+        }
+
+        [Test]
+        public void AddingMultipleAppenders()
+        {
+            CountingAppender alpha = new CountingAppender();
+            CountingAppender beta = new CountingAppender();
+
+            Repository.Hierarchy.Hierarchy hierarchy = 
+                (Repository.Hierarchy.Hierarchy)LogManager.GetRepository();
+            hierarchy.Root.AddAppender(alpha);
+            hierarchy.Root.AddAppender(beta);
+            hierarchy.Configured = true;
+
+            ILog log = LogManager.GetLogger(GetType());
+            log.Debug("Hello World");
+
+            Assert.AreEqual(1, alpha.Counter);
+            Assert.AreEqual(1, beta.Counter);
+        }
+
+        [Test]
+        public void AddingMultipleAppenders2()
+        {
+            CountingAppender alpha = new CountingAppender();
+            CountingAppender beta = new CountingAppender();
+            
+            BasicConfigurator.Configure(alpha, beta);
+
+            ILog log = LogManager.GetLogger(GetType());
+            log.Debug("Hello World");
+
+            Assert.AreEqual(1, alpha.Counter);
+            Assert.AreEqual(1, beta.Counter);
+        }
+    }
+}

Propchange: logging/log4net/trunk/tests/src/Hierarchy/Hierarchy.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs (original)
+++ logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs Wed Aug 17 05:57:00 2011
@@ -1,74 +1,74 @@
-using System;
-using System.Collections;
-using System.Xml;
-using log4net.Appender;
-using log4net.Config;
-using log4net.Core;
-using log4net.Repository;
-using log4net.Util;
-using NUnit.Framework;
-
-namespace log4net.Tests.LoggerRepository
-{
-    [TestFixture]
-    public class ConfigurationMessages
-    {
-        [Test]
-        public void ConfigurationMessagesTest()
-        {
-            LogLog.EmitInternalMessages = false;
-            LogLog.InternalDebugging = true;
-
-            XmlDocument log4netConfig = new XmlDocument();
-            log4netConfig.LoadXml(@"
-                <log4net>
-                  <appender name=""LogLogAppender"" type=""log4net.Tests.LoggerRepository.LogLogAppender, log4net.Tests"">
-                    <layout type=""log4net.Layout.SimpleLayout"" />
-                  </appender>
-                  <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender"">
-                    <layout type=""log4net.Layout.SimpleLayout"" />
-                  </appender>
-                  <root>
-                    <level value=""ALL"" />
-                    <appender-ref ref=""LogLogAppender"" />
-                    <appender-ref ref=""MemoryAppender"" />
-                  </root>  
-                </log4net>");
-
-            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
-            rep.ConfigurationChanged += new LoggerRepositoryConfigurationChangedEventHandler(rep_ConfigurationChanged);
-
-            ICollection configurationMessages = XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
-
-            Assert.IsTrue(configurationMessages.Count > 0);
-        }
-
-        static void rep_ConfigurationChanged(object sender, EventArgs e)
-        {
-            ConfigurationChangedEventArgs configChanged = (ConfigurationChangedEventArgs)e;
-
-            Assert.IsTrue(configChanged.ConfigurationMessages.Count > 0);
-        }
-    }
-
-    public class LogLogAppender : AppenderSkeleton
-    {
-        private readonly static Type declaringType = typeof(LogLogAppender);
-
-        public override void ActivateOptions()
-        {
-            LogLog.Debug(declaringType, "Debug - Activating options...");
-            LogLog.Warn(declaringType, "Warn - Activating options...");
-            LogLog.Error(declaringType, "Error - Activating options...");
-
-            base.ActivateOptions();
-        }
-
-        protected override void Append(LoggingEvent loggingEvent)
-        {
-            LogLog.Debug(declaringType, "Debug - Appending...");
-            LogLog.Warn(declaringType, "Warn - Appending...");
-            LogLog.Error(declaringType, "Error - Appending...");
-        }
-    }
+using System;
+using System.Collections;
+using System.Xml;
+using log4net.Appender;
+using log4net.Config;
+using log4net.Core;
+using log4net.Repository;
+using log4net.Util;
+using NUnit.Framework;
+
+namespace log4net.Tests.LoggerRepository
+{
+    [TestFixture]
+    public class ConfigurationMessages
+    {
+        [Test]
+        public void ConfigurationMessagesTest()
+        {
+            LogLog.EmitInternalMessages = false;
+            LogLog.InternalDebugging = true;
+
+            XmlDocument log4netConfig = new XmlDocument();
+            log4netConfig.LoadXml(@"
+                <log4net>
+                  <appender name=""LogLogAppender"" type=""log4net.Tests.LoggerRepository.LogLogAppender, log4net.Tests"">
+                    <layout type=""log4net.Layout.SimpleLayout"" />
+                  </appender>
+                  <appender name=""MemoryAppender"" type=""log4net.Appender.MemoryAppender"">
+                    <layout type=""log4net.Layout.SimpleLayout"" />
+                  </appender>
+                  <root>
+                    <level value=""ALL"" />
+                    <appender-ref ref=""LogLogAppender"" />
+                    <appender-ref ref=""MemoryAppender"" />
+                  </root>  
+                </log4net>");
+
+            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
+            rep.ConfigurationChanged += new LoggerRepositoryConfigurationChangedEventHandler(rep_ConfigurationChanged);
+
+            ICollection configurationMessages = XmlConfigurator.Configure(rep, log4netConfig["log4net"]);
+
+            Assert.IsTrue(configurationMessages.Count > 0);
+        }
+
+        static void rep_ConfigurationChanged(object sender, EventArgs e)
+        {
+            ConfigurationChangedEventArgs configChanged = (ConfigurationChangedEventArgs)e;
+
+            Assert.IsTrue(configChanged.ConfigurationMessages.Count > 0);
+        }
+    }
+
+    public class LogLogAppender : AppenderSkeleton
+    {
+        private readonly static Type declaringType = typeof(LogLogAppender);
+
+        public override void ActivateOptions()
+        {
+            LogLog.Debug(declaringType, "Debug - Activating options...");
+            LogLog.Warn(declaringType, "Warn - Activating options...");
+            LogLog.Error(declaringType, "Error - Activating options...");
+
+            base.ActivateOptions();
+        }
+
+        protected override void Append(LoggingEvent loggingEvent)
+        {
+            LogLog.Debug(declaringType, "Debug - Appending...");
+            LogLog.Warn(declaringType, "Warn - Appending...");
+            LogLog.Error(declaringType, "Error - Appending...");
+        }
+    }
 }
\ No newline at end of file

Propchange: logging/log4net/trunk/tests/src/LoggerRepository/ConfigurationMessages.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs (original)
+++ logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs Wed Aug 17 05:57:00 2011
@@ -1,91 +1,91 @@
-// .NET Compact Framework 1.0 has no support for Environment.GetEnvironmentVariable()
-// .NET Framework version 1.0 / 1.1 do not have support for SetEnvironmentVariable which is used in these tests.
-#if !NETCF && NET_2_0
-
-using System;
-using System.IO;
-using System.Text;
-using NUnit.Framework;
-
-namespace log4net.Tests.Util
-{
-    [TestFixture]
-    public class EnvironmentPatternConverterTest
-    {
-        private const string ENVIRONMENT_VARIABLE_NAME = "LOG4NET_TEST_TEMP";
-        const string SYSTEM_LEVEL_VALUE = "SystemLevelEnvironmentValue";
-        const string USER_LEVEL_VALUE = "UserLevelEnvironmentValue";
-        const string PROCESS_LEVEL_VALUE = "ProcessLevelEnvironmentValue";
-
-        [Test]
-        public void SystemLevelEnvironmentVariable()
-        {
-            EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
-            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, SYSTEM_LEVEL_VALUE, EnvironmentVariableTarget.Machine);
-
-            converter.Option = ENVIRONMENT_VARIABLE_NAME;
-
-			StringWriter sw = new StringWriter();
-			converter.Convert(sw, null);
-
-            Assert.AreEqual(SYSTEM_LEVEL_VALUE, sw.ToString(), "System level environment variable not expended correctly.");
-
-            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.Machine);
-        }
-
-        [Test]
-        public void UserLevelEnvironmentVariable()
-        {
-            EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
-            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, USER_LEVEL_VALUE, EnvironmentVariableTarget.User);
-
-            converter.Option = ENVIRONMENT_VARIABLE_NAME;
-
-            StringWriter sw = new StringWriter();
-            converter.Convert(sw, null);
-
-            Assert.AreEqual(USER_LEVEL_VALUE, sw.ToString(), "User level environment variable not expended correctly.");
-
-            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.User);
-        }
-
-        [Test]
-        public void ProcessLevelEnvironmentVariable()
-        {
-            EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
-            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, PROCESS_LEVEL_VALUE);
-
-            converter.Option = ENVIRONMENT_VARIABLE_NAME;
-
-            StringWriter sw = new StringWriter();
-            converter.Convert(sw, null);
-
-            Assert.AreEqual(PROCESS_LEVEL_VALUE, sw.ToString(), "Process level environment variable not expended correctly.");
-
-            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null);
-        }
-
-        private class EnvironmentPatternConverter
-        {
-            private object target = null;
-
-            public EnvironmentPatternConverter()
-            {
-                target = Utils.CreateInstance("log4net.Util.PatternStringConverters.EnvironmentPatternConverter,log4net");
-            }
-
-            public string Option
-            {
-                get { return Utils.GetProperty(target, "Option") as string; }
-                set { Utils.SetProperty(target, "Option", value); }
-            }
-
-            public void Convert(TextWriter writer, object state)
-            {
-                Utils.InvokeMethod(target, "Convert", writer, state);
-            }
-        }
-    }
-}
-
-#endif
+// .NET Compact Framework 1.0 has no support for Environment.GetEnvironmentVariable()
+// .NET Framework version 1.0 / 1.1 do not have support for SetEnvironmentVariable which is used in these tests.
+#if !NETCF && NET_2_0
+
+using System;
+using System.IO;
+using System.Text;
+using NUnit.Framework;
+
+namespace log4net.Tests.Util
+{
+    [TestFixture]
+    public class EnvironmentPatternConverterTest
+    {
+        private const string ENVIRONMENT_VARIABLE_NAME = "LOG4NET_TEST_TEMP";
+        const string SYSTEM_LEVEL_VALUE = "SystemLevelEnvironmentValue";
+        const string USER_LEVEL_VALUE = "UserLevelEnvironmentValue";
+        const string PROCESS_LEVEL_VALUE = "ProcessLevelEnvironmentValue";
+
+        [Test]
+        public void SystemLevelEnvironmentVariable()
+        {
+            EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
+            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, SYSTEM_LEVEL_VALUE, EnvironmentVariableTarget.Machine);
+
+            converter.Option = ENVIRONMENT_VARIABLE_NAME;
+
+			StringWriter sw = new StringWriter();
+			converter.Convert(sw, null);
+
+            Assert.AreEqual(SYSTEM_LEVEL_VALUE, sw.ToString(), "System level environment variable not expended correctly.");
+
+            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.Machine);
+        }
+
+        [Test]
+        public void UserLevelEnvironmentVariable()
+        {
+            EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
+            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, USER_LEVEL_VALUE, EnvironmentVariableTarget.User);
+
+            converter.Option = ENVIRONMENT_VARIABLE_NAME;
+
+            StringWriter sw = new StringWriter();
+            converter.Convert(sw, null);
+
+            Assert.AreEqual(USER_LEVEL_VALUE, sw.ToString(), "User level environment variable not expended correctly.");
+
+            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null, EnvironmentVariableTarget.User);
+        }
+
+        [Test]
+        public void ProcessLevelEnvironmentVariable()
+        {
+            EnvironmentPatternConverter converter = new EnvironmentPatternConverter();
+            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, PROCESS_LEVEL_VALUE);
+
+            converter.Option = ENVIRONMENT_VARIABLE_NAME;
+
+            StringWriter sw = new StringWriter();
+            converter.Convert(sw, null);
+
+            Assert.AreEqual(PROCESS_LEVEL_VALUE, sw.ToString(), "Process level environment variable not expended correctly.");
+
+            Environment.SetEnvironmentVariable(ENVIRONMENT_VARIABLE_NAME, null);
+        }
+
+        private class EnvironmentPatternConverter
+        {
+            private object target = null;
+
+            public EnvironmentPatternConverter()
+            {
+                target = Utils.CreateInstance("log4net.Util.PatternStringConverters.EnvironmentPatternConverter,log4net");
+            }
+
+            public string Option
+            {
+                get { return Utils.GetProperty(target, "Option") as string; }
+                set { Utils.SetProperty(target, "Option", value); }
+            }
+
+            public void Convert(TextWriter writer, object state)
+            {
+                Utils.InvokeMethod(target, "Convert", writer, state);
+            }
+        }
+    }
+}
+
+#endif

Propchange: logging/log4net/trunk/tests/src/Util/EnvironmentPatternConverterTest.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: logging/log4net/trunk/tests/src/Util/LogLogTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Util/LogLogTest.cs?rev=1158529&r1=1158528&r2=1158529&view=diff
==============================================================================
--- logging/log4net/trunk/tests/src/Util/LogLogTest.cs (original)
+++ logging/log4net/trunk/tests/src/Util/LogLogTest.cs Wed Aug 17 05:57:00 2011
@@ -1,83 +1,83 @@
-using System.Collections;
-using System.Diagnostics;
-using log4net.Util;
-using NUnit.Framework;
-
-namespace log4net.Tests.Util
-{
-    [TestFixture]
-    public class LogLogTest
-    {
-        [Test]
-        public void TraceListenerCounterTest()
-        {
-            TraceListenerCounter listTraceListener = new TraceListenerCounter();
-
-            Trace.Listeners.Clear();
-            Trace.Listeners.Add(listTraceListener);
-
-            Trace.Write("Hello");
-            Trace.Write("World");
-
-            Assert.AreEqual(2, listTraceListener.Count);
-        }
-
-        [Test]
-        public void EmitInternalMessages()
-        {
-            TraceListenerCounter listTraceListener = new TraceListenerCounter();
-            Trace.Listeners.Clear();
-            Trace.Listeners.Add(listTraceListener);
-            LogLog.Error(GetType(), "Hello");
-            LogLog.Error(GetType(), "World");
-            Trace.Flush();
-            Assert.AreEqual(2, listTraceListener.Count);
-
-            LogLog.EmitInternalMessages = false;
-
-            LogLog.Error(GetType(), "Hello");
-            LogLog.Error(GetType(), "World");
-            Assert.AreEqual(2, listTraceListener.Count);
-        }
-
-        [Test]
-        public void LogReceivedAdapter()
-        {
-            ArrayList messages = new ArrayList();
-
-            using (new LogLog.LogReceivedAdapter(messages))
-            {
-                LogLog.Debug(GetType(), "Won't be recorded");
-                LogLog.Error(GetType(), "This will be recorded.");
-                LogLog.Error(GetType(), "This will be recorded.");
-            }
-
-            Assert.AreEqual(2, messages.Count);
-        }
-    }
-
-    public class TraceListenerCounter : TraceListener
-    {
-        private int count = 0;
-
-        public override void Write(string message)
-        {
-            count++;
-        }
-
-        public override void WriteLine(string message)
-        {
-            Write(message);
-        }
-
-        public void Reset()
-        {
-            count = 0;
-        }
-
-        public int Count
-        {
-            get { return count; }
-        }
-    }
+using System.Collections;
+using System.Diagnostics;
+using log4net.Util;
+using NUnit.Framework;
+
+namespace log4net.Tests.Util
+{
+    [TestFixture]
+    public class LogLogTest
+    {
+        [Test]
+        public void TraceListenerCounterTest()
+        {
+            TraceListenerCounter listTraceListener = new TraceListenerCounter();
+
+            Trace.Listeners.Clear();
+            Trace.Listeners.Add(listTraceListener);
+
+            Trace.Write("Hello");
+            Trace.Write("World");
+
+            Assert.AreEqual(2, listTraceListener.Count);
+        }
+
+        [Test]
+        public void EmitInternalMessages()
+        {
+            TraceListenerCounter listTraceListener = new TraceListenerCounter();
+            Trace.Listeners.Clear();
+            Trace.Listeners.Add(listTraceListener);
+            LogLog.Error(GetType(), "Hello");
+            LogLog.Error(GetType(), "World");
+            Trace.Flush();
+            Assert.AreEqual(2, listTraceListener.Count);
+
+            LogLog.EmitInternalMessages = false;
+
+            LogLog.Error(GetType(), "Hello");
+            LogLog.Error(GetType(), "World");
+            Assert.AreEqual(2, listTraceListener.Count);
+        }
+
+        [Test]
+        public void LogReceivedAdapter()
+        {
+            ArrayList messages = new ArrayList();
+
+            using (new LogLog.LogReceivedAdapter(messages))
+            {
+                LogLog.Debug(GetType(), "Won't be recorded");
+                LogLog.Error(GetType(), "This will be recorded.");
+                LogLog.Error(GetType(), "This will be recorded.");
+            }
+
+            Assert.AreEqual(2, messages.Count);
+        }
+    }
+
+    public class TraceListenerCounter : TraceListener
+    {
+        private int count = 0;
+
+        public override void Write(string message)
+        {
+            count++;
+        }
+
+        public override void WriteLine(string message)
+        {
+            Write(message);
+        }
+
+        public void Reset()
+        {
+            count = 0;
+        }
+
+        public int Count
+        {
+            get { return count; }
+        }
+    }
 }
\ No newline at end of file

Propchange: logging/log4net/trunk/tests/src/Util/LogLogTest.cs
------------------------------------------------------------------------------
    svn:eol-style = native