public void SerializeLeave_Tests() { IMethodEventFormatter formatter = new MethodEventFormatter(new TestParameterFormatter()); Assert.AreEqual("Leave Object.ToString(): X", formatter.SerializeLeave(typeof(object), ObjectToString, new object[0], null)); Assert.AreEqual("Leave TestSubject.ToString(): X", formatter.SerializeLeave(typeof(TestSubject), ObjectToString, new object[0], null)); Assert.AreEqual("Leave TestSubject.TestMethod1()", formatter.SerializeLeave(typeof(TestSubject), Method1, new object[0], null)); Assert.AreEqual("Leave TestSubject.TestMethod2()", formatter.SerializeLeave(typeof(TestSubject), Method2, new object[1], null)); Assert.AreEqual("Leave TestSubject.TestMethod3()", formatter.SerializeLeave(typeof(TestSubject), Method3, new object[2], null)); Assert.AreEqual("Leave TestSubject.TestMethod4()", formatter.SerializeLeave(typeof(TestSubject), Method4, new object[3], null)); Assert.AreEqual("Leave TestSubject.TestMethod5(): X", formatter.SerializeLeave(typeof(TestSubject), Method5, new object[3], null)); Assert.AreEqual("Leave TestSubject.TestMethod6(ref p3: X): X", formatter.SerializeLeave(typeof(TestSubject), Method6, new object[3], null)); Assert.AreEqual("Leave TestSubject.TestMethod7(out p3: X): X", formatter.SerializeLeave(typeof(TestSubject), Method7, new object[3], null)); }
public void SerializeEnter_Tests() { IMethodEventFormatter formatter = new MethodEventFormatter(new TestParameterFormatter()); Assert.AreEqual("Enter Object.ToString()", formatter.SerializeEnter(typeof(object), ObjectToString, new object[0])); Assert.AreEqual("Enter TestSubject.ToString()", formatter.SerializeEnter(typeof(TestSubject), ObjectToString, new object[0])); Assert.AreEqual("Enter TestSubject.TestMethod1()", formatter.SerializeEnter(typeof(TestSubject), Method1, new object[0])); Assert.AreEqual("Enter TestSubject.TestMethod2(p1: X)", formatter.SerializeEnter(typeof(TestSubject), Method2, new object[1])); Assert.AreEqual("Enter TestSubject.TestMethod3(p1: X, p2: X)", formatter.SerializeEnter(typeof(TestSubject), Method3, new object[2])); Assert.AreEqual("Enter TestSubject.TestMethod4(p1: X, p2: X, p3: X)", formatter.SerializeEnter(typeof(TestSubject), Method4, new object[3])); Assert.AreEqual("Enter TestSubject.TestMethod5(p1: X, p2: X, p3: X)", formatter.SerializeEnter(typeof(TestSubject), Method5, new object[3])); Assert.AreEqual("Enter TestSubject.TestMethod6(p1: X, p2: X, ref p3: X)", formatter.SerializeEnter(typeof(TestSubject), Method6, new object[3])); Assert.AreEqual("Enter TestSubject.TestMethod7(p1: X, p2: X)", formatter.SerializeEnter(typeof(TestSubject), Method7, new object[3])); }
public void SerializeException_Tests() { IMethodEventFormatter formatter = new MethodEventFormatter(new TestParameterFormatter()); Assert.AreEqual( "Object.ToString() failed with ArgumentException! Message: Lorem ipsum", formatter.SerializeException(typeof(object), ObjectToString, new ArgumentException("Lorem ipsum"), false)); Assert.AreEqual( "TestSubject.ToString() threw ArgumentException. Message: Lorem ipsum", formatter.SerializeException(typeof(TestSubject), ObjectToString, new ArgumentException("Lorem ipsum"), true)); Assert.AreEqual( "TestSubject.TestMethod1() failed with ArgumentException! Message: Lorem ipsum", formatter.SerializeException(typeof(TestSubject), Method1, new ArgumentException("Lorem ipsum"), false)); Assert.AreEqual( "TestSubject.TestMethod1() threw ArgumentException. Message: Lorem ipsum", formatter.SerializeException(typeof(TestSubject), Method1, new ArgumentException("Lorem ipsum"), true)); }
public static FormattingMethodLoggerFactory Initialize( ILoggerAdapterFactory loggerAdapterFactory, IFormatProvider formatProvider, ICustomValueFormatter customValueFormatter = null) { if (loggerAdapterFactory == null) { throw new ArgumentNullException("loggerAdapterFactory"); } if (formatProvider == null) { throw new ArgumentNullException("formatProvider"); } IFormattingModeReader formattingModeReader = new CachedFormattingModeReader(new FormattingModeReader()); IMethodEventFormatter methodEventFormatter = new MethodEventFormatter(new ParameterFormatter(formattingModeReader, formatProvider, customValueFormatter)); FormattingMethodLoggerFactory factory = new FormattingMethodLoggerFactory(loggerAdapterFactory, new IndentationTracker(), methodEventFormatter); Initialize(factory); return(factory); }
public void SerializeLeave_WithNullType_ThrowsArgumentNullException() { IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>()); formatter.SerializeLeave(null, Method1, new object[0], null); }
public void SerializeEnter_WithParameterCountMismatch_ThrowsArgumentException() { IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>()); formatter.SerializeEnter(typeof(TestSubject), Method1, new object[100]); }
public void SerializeEnter_WithNullParameters_ThrowsArgumentNullException() { IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>()); formatter.SerializeEnter(typeof(TestSubject), Method1, null); }
public void Constructor_WithNull_ThrowsArgumentNullException() { // ReSharper disable once UnusedVariable IMethodEventFormatter formatter = new MethodEventFormatter(null); }
public void SerializeException_WithNullMethod_ThrowsArgumentNullException() { IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>()); formatter.SerializeException(typeof(TestSubject), null, new Exception(), false); }
public void SerializeException_WithNullType_ThrowsArgumentNullException() { IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>()); formatter.SerializeException(null, Method1, new Exception(), false); }