public void BuildMessage_Returns_Error_Detail_Message_If_ErrorDetails_Are_Empty_Test()
        {
            // Arrange
            ErrorInfo error = new ErrorInfo(new Exception());

            // Act
            string detail = error.BuildMessage();

            // Assert
            Assert.Equal(error.Detail, detail);
        }
        public void BuildMessage_Appends_Details()
        {
            // Arrange
            ErrorInfo error = new ErrorInfo(new Exception());
            var pair = new List<KeyValuePair<string, string>>();
            pair.Add(new KeyValuePair<string, string>("Key", "Value"));

            error.AddDetail("Append Test", pair);

            // Act
            string detail = error.BuildMessage();

            // Assert
            Assert.True(detail.Contains("Append Test"));
        }
        public void ShouldAppend_Appender_Data_Test()
        {
            // Arrange
            var appenders = new List<Type>
                                {
                                    typeof(FirstAppender),
                                    typeof(SecondAppender)
                                };

            ErrorInfo error = new ErrorInfo(new Exception("Test-Exception"));
            error.Appenders = appenders;
            error.EnsureAppenders();

            // Act
            string detail = error.BuildMessage();

            // Assert
            Assert.True(detail.Contains("FirstAppender"));
            Assert.True(detail.Contains("SecondAppender"));
            Assert.True(detail.Contains("FirstKey"));
            Assert.True(detail.Contains("FirstValue"));
            Assert.True(detail.Contains("SecondKey"));
            Assert.True(detail.Contains("SecondValue"));
        }