Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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]));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        public void SerializeLeave_WithNullType_ThrowsArgumentNullException()
        {
            IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>());

            formatter.SerializeLeave(null, Method1, new object[0], null);
        }
Esempio n. 6
0
        public void SerializeEnter_WithParameterCountMismatch_ThrowsArgumentException()
        {
            IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>());

            formatter.SerializeEnter(typeof(TestSubject), Method1, new object[100]);
        }
Esempio n. 7
0
        public void SerializeEnter_WithNullParameters_ThrowsArgumentNullException()
        {
            IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>());

            formatter.SerializeEnter(typeof(TestSubject), Method1, null);
        }
Esempio n. 8
0
 public void Constructor_WithNull_ThrowsArgumentNullException()
 {
     // ReSharper disable once UnusedVariable
     IMethodEventFormatter formatter = new MethodEventFormatter(null);
 }
Esempio n. 9
0
        public void SerializeException_WithNullMethod_ThrowsArgumentNullException()
        {
            IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>());

            formatter.SerializeException(typeof(TestSubject), null, new Exception(), false);
        }
Esempio n. 10
0
        public void SerializeException_WithNullType_ThrowsArgumentNullException()
        {
            IMethodEventFormatter formatter = new MethodEventFormatter(Substitute.For <IParameterFormatter>());

            formatter.SerializeException(null, Method1, new Exception(), false);
        }