public void TestClassLevelLogging() { bool called = false; Target.OnLog = (l, s) => { called = true; switch (l) { case Levels.Trace: Assert.Fail("Trace not assigned"); break; case Levels.Debug: Assert.IsTrue(s.StartsWith("Entering")); break; case Levels.Information: Assert.IsTrue(s.StartsWith("Exiting")); break; case Levels.Warning: Assert.Fail("Warning not assigned"); break; case Levels.Error: Assert.Fail("Error not assigned"); break; case Levels.Fatal: Assert.IsTrue(s.StartsWith("Exception")); break; default: Assert.Fail(); break; } }; var cl = new ClassLevelLogging(); cl.NoArguments(); cl.WithArgument("Test"); cl.WithArguments("Test", 1); try { cl.GenerateException(); } catch { // gulp. } Assert.IsTrue(called, "Not called"); }
public void TestClassLevelLoggingParameters() { bool failed = true; Exception e = null; // Ensure constructor here, because it will be logged var cl = new ClassLevelLogging(); Target.OnLog = (l, s) => { try { // The assert will force an exception, we catch it and set the failure; switch (l) { case Levels.Trace: Assert.Fail("Trace not assigned"); break; case Levels.Debug: Assert.AreEqual(s, "Entering System.Void Aspekt.Logging.Test.ClassLevelLogging::WithArguments(Test,1)"); break; case Levels.Information: Assert.AreEqual(s, "Exiting System.Void Aspekt.Logging.Test.ClassLevelLogging::WithArguments"); break; case Levels.Warning: Assert.Fail("Warning not assigned"); break; case Levels.Error: Assert.Fail("Error not assigned"); break; case Levels.Fatal: Assert.Fail("Exception"); break; default: Assert.Fail(); break; } failed = false; } catch (Exception ex) { e = ex; } }; cl.WithArguments("Test", 1); Assert.IsFalse(failed, e == null?"Not called":e.Message); }