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"