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 rg...@apache.org on 2006/12/20 05:39:51 UTC

svn commit: r488917 - in /logging/log4net/trunk/tests/src: Core/EvaluatorTest.cs log4net.Tests.csproj

Author: rgrabowski
Date: Tue Dec 19 20:39:51 2006
New Revision: 488917

URL: http://svn.apache.org/viewvc?view=rev&rev=488917
Log:
Added EvaluatorTest class for LOG4NET-107. Added test case for LevelEvaluator. Added commented out tests for ExceptionEvaluator.

Added:
    logging/log4net/trunk/tests/src/Core/EvaluatorTest.cs
Modified:
    logging/log4net/trunk/tests/src/log4net.Tests.csproj

Added: logging/log4net/trunk/tests/src/Core/EvaluatorTest.cs
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Core/EvaluatorTest.cs?view=auto&rev=488917
==============================================================================
--- logging/log4net/trunk/tests/src/Core/EvaluatorTest.cs (added)
+++ logging/log4net/trunk/tests/src/Core/EvaluatorTest.cs Tue Dec 19 20:39:51 2006
@@ -0,0 +1,123 @@
+using System;
+using log4net.Appender;
+using log4net.Core;
+using log4net.Tests.Appender;
+using NUnit.Framework;
+
+namespace log4net.Tests.Core
+{
+	[TestFixture]
+	public class EvaluatorTest
+	{
+		private BufferingForwardingAppender m_bufferingForwardingAppender;
+		private CountingAppender m_countingAppender;
+		private Repository.Hierarchy.Hierarchy m_hierarchy;
+
+		[SetUp]
+		public void SetupRepository()
+		{
+			m_hierarchy = new Repository.Hierarchy.Hierarchy();
+
+			m_countingAppender = new CountingAppender();
+			m_countingAppender.ActivateOptions();
+
+			m_bufferingForwardingAppender = new BufferingForwardingAppender();
+			m_bufferingForwardingAppender.AddAppender(m_countingAppender);
+
+			m_bufferingForwardingAppender.BufferSize = 5;
+			m_bufferingForwardingAppender.ClearFilters();
+			m_bufferingForwardingAppender.Fix = FixFlags.Partial;
+			m_bufferingForwardingAppender.Lossy = false;
+			m_bufferingForwardingAppender.LossyEvaluator = null;
+			m_bufferingForwardingAppender.Threshold = Level.All;
+		}
+
+		[Test]
+		public void TestLevelEvaluator()
+		{
+			m_bufferingForwardingAppender.Evaluator = new LevelEvaluator(Level.Info);
+			m_bufferingForwardingAppender.ActivateOptions();
+			log4net.Config.BasicConfigurator.Configure(m_hierarchy, m_bufferingForwardingAppender);
+
+			ILogger logger = m_hierarchy.GetLogger("TestLevelEvaluator");
+
+			logger.Log(typeof(EvaluatorTest), Level.Debug, "Debug message logged", null);
+			logger.Log(typeof(EvaluatorTest), Level.Debug, "Debug message logged", null);
+			Assert.AreEqual(0, m_countingAppender.Counter, "Test 2 events buffered");
+
+			logger.Log(typeof(EvaluatorTest), Level.Info, "Info message logged", null);
+			Assert.AreEqual(3, m_countingAppender.Counter, "Test 3 events flushed on Info message.");
+		}
+
+		/*
+		[Test]
+		public void TestExceptionEvaluator()
+		{
+			m_bufferingForwardingAppender.Evaluator = new ExceptionEvaluator(typeof(ApplicationException));
+			m_bufferingForwardingAppender.ActivateOptions();
+			log4net.Config.BasicConfigurator.Configure(m_hierarchy, m_bufferingForwardingAppender);
+
+			ILogger logger = m_hierarchy.GetLogger("TestExceptionEvaluator");
+
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", null);
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", null);
+			Assert.AreEqual(0, m_countingAppender.Counter, "Test 2 events buffered");
+
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", new ApplicationException());
+			Assert.AreEqual(3, m_countingAppender.Counter, "Test 3 events flushed on ApplicationException message.");
+		}
+
+		[Test]
+		public void TestExceptionEvaluatorTriggerOnSubClass()
+		{
+			m_bufferingForwardingAppender.Evaluator = new ExceptionEvaluator(typeof(Exception), true);
+			m_bufferingForwardingAppender.ActivateOptions();
+			log4net.Config.BasicConfigurator.Configure(m_hierarchy, m_bufferingForwardingAppender);
+
+			ILogger logger = m_hierarchy.GetLogger("TestExceptionEvaluatorTriggerOnSubClass");
+
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", null);
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", null);
+			Assert.AreEqual(0, m_countingAppender.Counter, "Test 2 events buffered");
+
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", new ApplicationException());
+			Assert.AreEqual(3, m_countingAppender.Counter, "Test 3 events flushed on ApplicationException message.");
+		}
+
+		[Test]
+		public void TestExceptionEvaluatorNoTriggerOnSubClass()
+		{
+			m_bufferingForwardingAppender.Evaluator = new ExceptionEvaluator(typeof(Exception), false);
+			m_bufferingForwardingAppender.ActivateOptions();
+			log4net.Config.BasicConfigurator.Configure(m_hierarchy, m_bufferingForwardingAppender);
+
+			ILogger logger = m_hierarchy.GetLogger("TestExceptionEvaluatorNoTriggerOnSubClass");
+
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", null);
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", null);
+			Assert.AreEqual(0, m_countingAppender.Counter, "Test 2 events buffered");
+
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", new ApplicationException());
+			Assert.AreEqual(0, m_countingAppender.Counter, "Test 3 events buffered");
+		}
+
+		[Test]
+		public void TestInvalidExceptionEvaluator()
+		{
+			// warning: String is not a subclass of Exception
+			m_bufferingForwardingAppender.Evaluator = new ExceptionEvaluator(typeof(String));
+			m_bufferingForwardingAppender.ActivateOptions();
+			log4net.Config.BasicConfigurator.Configure(m_hierarchy, m_bufferingForwardingAppender);
+
+			ILogger logger = m_hierarchy.GetLogger("TestExceptionEvaluatorNoTriggerOnSubClass");
+
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", null);
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", null);
+			Assert.AreEqual(0, m_countingAppender.Counter, "Test 2 events buffered");
+
+			logger.Log(typeof(EvaluatorTest), Level.Warn, "Warn message logged", new ApplicationException());
+			Assert.AreEqual(0, m_countingAppender.Counter, "Test 3 events buffered");
+		}
+		*/
+	}
+}

Modified: logging/log4net/trunk/tests/src/log4net.Tests.csproj
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/log4net.Tests.csproj?view=diff&rev=488917&r1=488916&r2=488917
==============================================================================
--- logging/log4net/trunk/tests/src/log4net.Tests.csproj (original)
+++ logging/log4net/trunk/tests/src/log4net.Tests.csproj Tue Dec 19 20:39:51 2006
@@ -143,6 +143,11 @@
                     BuildAction = "Compile"
                 />
                 <File
+                    RelPath = "Core\EvaluatorTest.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
                     RelPath = "Core\FixingTest.cs"
                     SubType = "Code"
                     BuildAction = "Compile"