コード例 #1
0
        public void ZeroValuesNoException()
        {
            //-- Arrange

            var node = new NameValuePairActivityLogNode("Test.MessageOne");
            _threadLog.AppendNode(node);

            //-- Act

            var singleLineText = node.SingleLineText;
            var fullDetailsText = node.FullDetailsText;
            var nameValuePairs = node.NameValuePairsText;

            //-- Assert

            Assert.That(singleLineText, Is.EqualTo("Message one"));
            Assert.That(fullDetailsText, Is.EqualTo(ExpectedBaseNameValuePairs.Replace(" ", System.Environment.NewLine).Replace("_", " ")));
            Assert.That(nameValuePairs, Is.EqualTo(ExpectedBaseNameValuePairs.Replace("_", " ")));
        }
コード例 #2
0
        public void OneValueNoFormatNoDetailNoException()
        {
            //-- Arrange

            var node = new NameValuePairActivityLogNode<string>(
                "Test.MessageOne",
                value1: new LogNameValuePair<string> { Name = "accountId", Value = "ABCD1234" });

            _threadLog.AppendNode(node);

            //-- Act

            var singleLineText = node.SingleLineText;
            var fullDetailsText = node.FullDetailsText;
            var nameValuePairs = node.NameValuePairsText;

            //-- Assert

            Assert.That(singleLineText, Is.EqualTo("Message one: accountId=ABCD1234"));
            //Assert.That(fullDetailsText, Is.EqualTo(ExpectedBaseNameValuePairs.Replace(" ", System.Environment.NewLine)));
            Assert.That(nameValuePairs, Is.EqualTo(ExpectedBaseNameValuePairs.Replace("_", " ") + " accountId=ABCD1234"));
        }
コード例 #3
0
            //-------------------------------------------------------------------------------------------------------------------------------------------------
            public void ThisIsMyVoidMethodWithParameters(Action<string, int, decimal> method, string str, int num, decimal value)
            {
                var pair1 = new LogNameValuePair<string> { Name = "str", Value = str };
                var pair2 = new LogNameValuePair<int> { Name = "num", Value = num };
                var pair3 = new LogNameValuePair<decimal> { Name = "value", Value = value };

                using ( ILogActivity activity =
                    new NameValuePairActivityLogNode<string, int, decimal>("Test.ThisIsMyVoidMethodWithParameters", pair1, pair2, pair3) )
                {
                    try
                    {
                        method(str, num, value);
                    }
                    catch ( Exception e )
                    {
                        activity.Fail(e);
                        throw;
                    }
                }
            }
コード例 #4
0
 //-------------------------------------------------------------------------------------------------------------------------------------------------
 public void ThisIsMyVoidMethod(Action method)
 {
     using ( ILogActivity activity = new NameValuePairActivityLogNode("Test.ThisIsMyVoidMethod") )
     {
         try
         {
             method();
         }
         catch ( Exception e )
         {
             activity.Fail(e);
             throw;
         }
     }
 }
コード例 #5
0
            //-------------------------------------------------------------------------------------------------------------------------------------------------
            public string ThisIsMyFunctionWithParameters(Func<int, decimal, string> method, int num, decimal value)
            {
                var pair1 = new LogNameValuePair<int> { Name = "num", Value = num };
                var pair2 = new LogNameValuePair<decimal> { Name = "value", Value = value };

                using ( ILogActivity activity =
                    new NameValuePairActivityLogNode<int, decimal>("Test.ThisIsMyFunctionWithParameters", pair1, pair2) )
                {
                    try
                    {
                        return method(num, value);
                    }
                    catch ( Exception e )
                    {
                        activity.Fail(e);
                        throw;
                    }
                }
            }
コード例 #6
0
 //-------------------------------------------------------------------------------------------------------------------------------------------------
 public bool ThisIsMyFunction(Func<bool> method)
 {
     using ( ILogActivity activity = new NameValuePairActivityLogNode("Test.ThisIsMyFunction") )
     {
         try
         {
             return method();
         }
         catch ( Exception e )
         {
             activity.Fail(e);
             throw;
         }
     }
 }
コード例 #7
0
        public void ZeroValuesWithException()
        {
            //-- Arrange

            var exception = new DivideByZeroException();
            var node = new NameValuePairActivityLogNode("Test.MessageOne");
            _threadLog.AppendNode(node);

            ((ILogActivity)node).Fail(exception);

            //-- Act

            var singleLineText = node.SingleLineText;
            var fullDetailsText = node.FullDetailsText;
            var nameValuePairs = node.NameValuePairsText;

            //-- Assert

            const string expectedNameValuePairs =
                "2015-01-30_15:22:54.345 app=A1 node=N1 instance=I1 env=E1 message=Test.MessageOne level=Error " +
                "logid=e99f7886838e4c37b433888132ef5f86 exceptionType=System.DivideByZeroException exception=\"Attempted_to_divide_by_zero.\" duration=0";

            Assert.That(singleLineText, Is.EqualTo("Message one"));
            Assert.That(fullDetailsText, Is.EqualTo(
                expectedNameValuePairs
                .Replace(" ", System.Environment.NewLine)
                .Replace("_", " ") +
                System.Environment.NewLine +
                exception));
            Assert.That(nameValuePairs, Is.EqualTo(expectedNameValuePairs.Replace("_", " ")));
        }