< Summary

Class:Microsoft.Azure.Search.Common.Throw
Assembly:Microsoft.Azure.Search.Common
File(s):C:\Git\azure-sdk-for-net\sdk\search\Microsoft.Azure.Search.Common\src\Customizations\Search\Common\Throw.cs
Covered lines:21
Uncovered lines:0
Coverable lines:21
Total lines:104
Line coverage:100% (21 of 21)
Covered branches:12
Total branches:14
Branch coverage:85.7% (12 of 14)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
IfArgument(...)-100%75%
IfArgumentOutOfRange(...)-100%75%
IfArgumentNull(...)-100%100%
IfArgumentNullOrEmpty(...)-100%100%
IfNullOrEmptySearchServiceName(...)-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\search\Microsoft.Azure.Search.Common\src\Customizations\Search\Common\Throw.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License. See License.txt in the project root for
 3// license information.
 4
 5namespace Microsoft.Azure.Search.Common
 6{
 7    using System;
 8
 9    /// <summary>
 10    /// Defines utility methods for validating arguments.
 11    /// </summary>
 12    public static class Throw
 13    {
 14        /// <summary>
 15        /// Throws ArgumentException with the given parameter name and optional message if the given Boolean
 16        /// value is true.
 17        /// </summary>
 18        /// <param name="isInvalid">The flag to test. This method throws if it's true and does nothing if
 19        /// it's false.</param>
 20        /// <param name="paramName">The name of the parameter being validated. This is passed to the
 21        /// ArgumentException constructor.</param>
 22        /// <param name="message">An optional error message to include in the ArgumentException. The default
 23        /// message is "Invalid argument."</param>
 24        public static void IfArgument(bool isInvalid, string paramName, string message = null)
 25        {
 9086626            if (isInvalid)
 27            {
 4828                message = message ?? "Invalid argument.";
 4829                throw new ArgumentException(message, paramName);
 30            }
 9081831        }
 32
 33        /// <summary>
 34        /// Throws ArgumentOutOfRangeException with the given parameter name and optional message if the given Boolean
 35        /// value is true.
 36        /// </summary>
 37        /// <param name="isInvalid">The flag to test. This method throws if it's true and does nothing if
 38        /// it's false.</param>
 39        /// <param name="paramName">The name of the parameter being validated. This is passed to the
 40        /// ArgumentOutOfRangeException constructor.</param>
 41        /// <param name="message">An optional error message to include in the ArgumentOutOfRangeException. The default
 42        /// message is "Argument out of range."</param>
 43        public static void IfArgumentOutOfRange(bool isInvalid, string paramName, string message = null)
 44        {
 1017445            if (isInvalid)
 46            {
 447                message = message ?? "Argument out of range.";
 448                throw new ArgumentOutOfRangeException(paramName, message);
 49            }
 1017050        }
 51
 52        /// <summary>
 53        /// Throws ArgumentNullException with the given parameter name and optional message if the given
 54        /// reference is null.
 55        /// </summary>
 56        /// <typeparam name="T">The type of value to test. Must be a reference type.</typeparam>
 57        /// <param name="value">The reference to test for null.</param>
 58        /// <param name="paramName">The name of the parameter being validated. This is passed to the
 59        /// ArgumentNullException constructor.</param>
 60        /// <param name="message">An optional error message to include in the ArgumentNullException.</param>
 61        public static void IfArgumentNull<T>(T value, string paramName, string message = null) where T : class
 62        {
 19645863            if (value == null)
 64            {
 3265                if (message == null)
 66                {
 2067                    throw new ArgumentNullException(paramName);
 68                }
 69                else
 70                {
 1271                    throw new ArgumentNullException(paramName, message);
 72                }
 73            }
 19642674        }
 75
 76        /// <summary>
 77        /// Throws ArgumentNullException or ArgumentException with the given parameter name and optional message
 78        /// if the given string is null or empty, respectively.
 79        /// </summary>
 80        /// <param name="value">The string to test for null or empty.</param>
 81        /// <param name="paramName">The name of the parameter being validated. This is passed to the
 82        /// ArgumentNullException or ArgumentException constructor.</param>
 83        /// <param name="message">An optional error message to include in the ArgumentNullException
 84        /// or ArgumentException.</param>
 85        public static void IfArgumentNullOrEmpty(string value, string paramName, string message = null)
 86        {
 217087            IfArgumentNull(value, paramName, message);
 88
 215289            message = message ?? "Argument cannot be an empty string.";
 215290            IfArgument(value.Length == 0, paramName, message);
 213491        }
 92
 93        /// <summary>
 94        /// Throws ArgumentNullException or ArgumentException with a pre-determined message if the given search
 95        /// service name is null or empty, respectively.
 96        /// </summary>
 97        /// <param name="searchServiceName">The search service name to validate.</param>
 98        public static void IfNullOrEmptySearchServiceName(string searchServiceName) =>
 10299            IfArgumentNullOrEmpty(
 102100                searchServiceName,
 102101                nameof(searchServiceName),
 102102                "Invalid search service name. Name cannot be null or an empty string.");
 103    }
 104}