public void When_serializing_exception_with_paramName_and_message_and_innerException_should_deserialize_correctly()
        {
            var testInnerException = CreateTestInnerException();

            var exception = new ArgumentLengthLargerThanException(paramName: TestParameterName, message: TestExceptionMessage, innerException: testInnerException);

            AssertArgumentExceptionWithParamNameAndMessageAndInnerExceptionSerializesCorrectly(exception, TestExceptionMessage, TestParameterName, testInnerException);
        }
        public void When_serializing_exception_with_message_should_deserialize_correctly()
        {
            var exception = new ArgumentLengthLargerThanException(TestExceptionMessage);

            AssertArgumentExceptionWithMessageSerializesCorrectly(exception, TestExceptionMessage);
        }
        public void When_serializing_exception_with_paramName_and_message_should_deserialize_correctly()
        {
            var exception = new ArgumentLengthLargerThanException(paramName: TestParameterName, message: TestExceptionMessage);

            AssertArgumentExceptionWithParamNameAndMessageSerializesCorrectly(exception, TestExceptionMessage, TestParameterName);
        }
        public void When_serializing_exception_with_default_values_should_deserialize_correctly()
        {
            var exception = new ArgumentLengthLargerThanException();

            AssertArgumentExceptionWithDefaultValuesSerializesCorrectly(exception);
        }