Table of Contents

Class Ensure

Namespace
LfrlAnvil
Assembly
LfrlAnvil.Core.dll

Contains helper methods for simple assertions.

public static class Ensure
Inheritance
Ensure
Inherited Members

Methods

ContainsAtLeast<T>(IEnumerable<T>, int, string)

Ensures that param contains at least count elements.

public static void ContainsAtLeast<T>(IEnumerable<T> param, int count, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

count int

Minimum expected number of elements.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains less elements than count.

ContainsAtLeast<T>(IReadOnlyCollection<T>, int, string)

Ensures that param contains at least count elements.

public static void ContainsAtLeast<T>(IReadOnlyCollection<T> param, int count, string paramName = "")

Parameters

param IReadOnlyCollection<T>

Collection to verify.

count int

Minimum expected number of elements.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains less elements than count.

ContainsAtMost<T>(IEnumerable<T>, int, string)

Ensures that param contains at most count elements.

public static void ContainsAtMost<T>(IEnumerable<T> param, int count, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

count int

Maximum expected number of elements.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains more elements than count.

ContainsAtMost<T>(IReadOnlyCollection<T>, int, string)

Ensures that param contains at most count elements.

public static void ContainsAtMost<T>(IReadOnlyCollection<T> param, int count, string paramName = "")

Parameters

param IReadOnlyCollection<T>

Collection to verify.

count int

Maximum expected number of elements.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains more elements than count.

ContainsExactly<T>(IEnumerable<T>, int, string)

Ensures that param contains exactly count elements.

public static void ContainsExactly<T>(IEnumerable<T> param, int count, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

count int

Exact expected number of elements.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains more or less elements than count.

ContainsExactly<T>(IReadOnlyCollection<T>, int, string)

Ensures that param contains exactly count elements.

public static void ContainsExactly<T>(IReadOnlyCollection<T> param, int count, string paramName = "")

Parameters

param IReadOnlyCollection<T>

Collection to verify.

count int

Exact expected number of elements.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains more or less elements than count.

ContainsInRange<T>(IEnumerable<T>, int, int, string)

Ensures that param contains between minCount and maxCount elements.

public static void ContainsInRange<T>(IEnumerable<T> param, int minCount, int maxCount, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

minCount int

Minimum expected number of elements.

maxCount int

Maximum expected number of elements.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain between minCount and maxCount elements.

ContainsInRange<T>(IReadOnlyCollection<T>, int, int, string)

Ensures that param contains between minCount and maxCount elements.

public static void ContainsInRange<T>(IReadOnlyCollection<T> param, int minCount, int maxCount, string paramName = "")

Parameters

param IReadOnlyCollection<T>

Collection to verify.

minCount int

Minimum expected number of elements.

maxCount int

Maximum expected number of elements.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain between minCount and maxCount elements.

ContainsNull<T>(IEnumerable<T?>, string)

Ensures that param contains at least one null element.

public static void ContainsNull<T>(IEnumerable<T?> param, string paramName = "") where T : struct

Parameters

param IEnumerable<T?>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain at least one null element.

ContainsNull<T>(IEnumerable<T?>, IEqualityComparer<T>, string)

Ensures that param contains at least one null element.

public static void ContainsNull<T>(IEnumerable<T?> param, IEqualityComparer<T> comparer, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

comparer IEqualityComparer<T>

Comparer to use for equality comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain at least one null element.

ContainsNull<T>(IEnumerable<T?>, string)

Ensures that param contains at least one null element.

public static void ContainsNull<T>(IEnumerable<T?> param, string paramName = "") where T : class

Parameters

param IEnumerable<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain at least one null element.

Contains<T>(IEnumerable<T>, T, IEqualityComparer<T>, string)

Ensures that param contains an element equal to the provided value.

public static void Contains<T>(IEnumerable<T> param, T value, IEqualityComparer<T> comparer, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

value T

Value to find.

comparer IEqualityComparer<T>

Comparer to use for equality comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain an element equal to the provided value.

Contains<T>(IEnumerable<T>, T, string)

Ensures that param contains an element equal to the provided value.

public static void Contains<T>(IEnumerable<T> param, T value, string paramName = "") where T : IEquatable<T>

Parameters

param IEnumerable<T>

Collection to verify.

value T

Value to find.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain an element equal to the provided value.

Equals<T>(T, T?, IEqualityComparer<T>, string)

Ensures that param is equal to value.

public static void Equals<T>(T param, T? value, IEqualityComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

value T

Value to compare param to.

comparer IEqualityComparer<T>

Comparer to use for equality comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not equal to value.

Equals<T>(T, T?, string)

Ensures that param is equal to value.

public static void Equals<T>(T param, T? value, string paramName = "") where T : IEquatable<T>

Parameters

param T

Value to verify.

value T

Value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not equal to value.

False(bool, Func<string>?)

Ensures that the provided condition is false.

public static void False(bool condition, Func<string>? descriptionProvider)

Parameters

condition bool

Condition to verify.

descriptionProvider Func<string>

Optional provider of a description of the error.

Exceptions

ArgumentException

When condition is true.

False(bool, string)

Ensures that the provided condition is false.

public static void False(bool condition, string description = "")

Parameters

condition bool

Condition to verify.

description string

Optional description of the error.

Exceptions

ArgumentException

When condition is true.

ForAll<T>(IEnumerable<T>, Func<T, bool>, Func<string>?, string)

Ensures that param only contains elements for whom the invocation of the provided predicate returns true.

public static void ForAll<T>(IEnumerable<T> param, Func<T, bool> predicate, Func<string>? descriptionProvider, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

predicate Func<T, bool>

Predicate invoked for elements of the collection.

descriptionProvider Func<string>

Optional provider of a description of an error.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains at least one invalid element.

ForAll<T>(IEnumerable<T>, Func<T, bool>, string?, string)

Ensures that param only contains elements for whom the invocation of the provided predicate returns true.

public static void ForAll<T>(IEnumerable<T> param, Func<T, bool> predicate, string? description = null, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

predicate Func<T, bool>

Predicate invoked for elements of the collection.

description string

Optional description of an error.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains at least one invalid element.

ForAny<T>(IEnumerable<T>, Func<T, bool>, Func<string>?, string)

Ensures that param contains at least one element for whom the invocation of the provided predicate returns true.

public static void ForAny<T>(IEnumerable<T> param, Func<T, bool> predicate, Func<string>? descriptionProvider, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

predicate Func<T, bool>

Predicate invoked for elements of the collection.

descriptionProvider Func<string>

Optional provider of a description of an error.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain at least one valid element.

ForAny<T>(IEnumerable<T>, Func<T, bool>, string?, string)

Ensures that param contains at least one element for whom the invocation of the provided predicate returns true.

public static void ForAny<T>(IEnumerable<T> param, Func<T, bool> predicate, string? description = null, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

predicate Func<T, bool>

Predicate invoked for elements of the collection.

description string

Optional description of an error.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param does not contain at least one valid element.

IsDefault<T>(T?, string)

Ensures that param is equivalent to default.

public static void IsDefault<T>(T? param, string paramName = "")

Parameters

param T

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not equivalent to default.

IsDefined<T>(T, string)

Ensures that paramEnum is defined.

public static void IsDefined<T>(T param, string paramName = "") where T : struct, Enum

Parameters

param T

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Remarks

See IsDefined<TEnum>(TEnum) for more information.

Exceptions

ArgumentException

When param is not defined.

IsEmpty(string, string)

Ensures that param is empty.

public static void IsEmpty(string param, string paramName = "")

Parameters

param string

String to verify.

paramName string

Optional name of the parameter.

Exceptions

ArgumentException

When param is not empty.

IsEmpty<T>(IEnumerable<T>, string)

Ensures that param is empty.

public static void IsEmpty<T>(IEnumerable<T> param, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is not empty.

IsEmpty<T>(IReadOnlyCollection<T>, string)

Ensures that param is empty.

public static void IsEmpty<T>(IReadOnlyCollection<T> param, string paramName = "")

Parameters

param IReadOnlyCollection<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is not empty.

IsGreaterThanOrEqualTo<T>(T, T?, IComparer<T>, string)

Ensures that param is greater than or equal to value.

public static void IsGreaterThanOrEqualTo<T>(T param, T? value, IComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

value T

Value to compare param to.

comparer IComparer<T>

Comparer used for value comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not greater than or equal to value.

IsGreaterThanOrEqualTo<T>(T, T?, string)

Ensures that param is greater than or equal to value.

public static void IsGreaterThanOrEqualTo<T>(T param, T? value, string paramName = "") where T : IComparable<T>

Parameters

param T

Value to verify.

value T

Value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not greater than or equal to value.

IsGreaterThan<T>(T, T?, IComparer<T>, string)

Ensures that param is greater than value.

public static void IsGreaterThan<T>(T param, T? value, IComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

value T

Value to compare param to.

comparer IComparer<T>

Comparer used for value comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not greater than value.

IsGreaterThan<T>(T, T?, string)

Ensures that param is greater than value.

public static void IsGreaterThan<T>(T param, T? value, string paramName = "") where T : IComparable<T>

Parameters

param T

Value to verify.

value T

Value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not greater than value.

IsInExclusiveRange<T>(T, T, T, IComparer<T>, string)

Ensures that param is exclusively between min and max.

public static void IsInExclusiveRange<T>(T param, T min, T max, IComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

min T

Minimum value to compare param to.

max T

Maximum value to compare param to.

comparer IComparer<T>

Comparer to use for value comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not exclusively between min and max.

IsInExclusiveRange<T>(T, T, T, string)

Ensures that param is exclusively between min and max.

public static void IsInExclusiveRange<T>(T param, T min, T max, string paramName = "") where T : IComparable<T>

Parameters

param T

Value to verify.

min T

Minimum value to compare param to.

max T

Maximum value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not exclusively between min and max.

IsInIndexRange(int, int, string)

Ensures that param is between 0 and (count - 1).

public static void IsInIndexRange(int param, int count, string paramName = "")

Parameters

param int

Value to verify.

count int

Number of elements.

paramName string

Optional name of the parameter.

Exceptions

ArgumentOutOfRangeException

When param is not between 0 and (count - 1).

IsInRange<T>(T, T, T, IComparer<T>, string)

Ensures that param is between min and max.

public static void IsInRange<T>(T param, T min, T max, IComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

min T

Minimum value to compare param to.

max T

Maximum value to compare param to.

comparer IComparer<T>

Comparer to use for value comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not between min and max.

IsInRange<T>(T, T, T, string)

Ensures that param is between min and max.

public static void IsInRange<T>(T param, T min, T max, string paramName = "") where T : IComparable<T>

Parameters

param T

Value to verify.

min T

Minimum value to compare param to.

max T

Maximum value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not between min and max.

IsInstanceOfType<T>(object, string)

Ensures that param is an instance of the provided type.

public static void IsInstanceOfType<T>(object param, string paramName = "")

Parameters

param object

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Expected type.

Exceptions

ArgumentException

When param is not an instance of the provided type.

IsInstanceOfType<T>(T, Type, string)

Ensures that param is an instance of the provided type.

public static void IsInstanceOfType<T>(T param, Type type, string paramName = "") where T : notnull

Parameters

param T

Value to verify.

type Type

Expected type.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not an instance of the provided type.

IsLessThanOrEqualTo<T>(T, T?, IComparer<T>, string)

Ensures that param is less than or equal to value.

public static void IsLessThanOrEqualTo<T>(T param, T? value, IComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

value T

Value to compare param to.

comparer IComparer<T>

Comparer used for value comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not less than or equal to value.

IsLessThanOrEqualTo<T>(T, T?, string)

Ensures that param is less than or equal to value.

public static void IsLessThanOrEqualTo<T>(T param, T? value, string paramName = "") where T : IComparable<T>

Parameters

param T

Value to verify.

value T

Value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not less than or equal to value.

IsLessThan<T>(T, T?, IComparer<T>, string)

Ensures that param is less than value.

public static void IsLessThan<T>(T param, T? value, IComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

value T

Value to compare param to.

comparer IComparer<T>

Comparer used for value comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not less than value.

IsLessThan<T>(T, T?, string)

Ensures that param is less than value.

public static void IsLessThan<T>(T param, T? value, string paramName = "") where T : IComparable<T>

Parameters

param T

Value to verify.

value T

Value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is not less than value.

IsNotDefault<T>(T?, string)

Ensures that param is not equivalent to default.

public static void IsNotDefault<T>(T? param, string paramName = "")

Parameters

param T

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is equivalent to default.

IsNotEmpty(string, string)

Ensures that param is not empty.

public static void IsNotEmpty(string param, string paramName = "")

Parameters

param string

String to verify.

paramName string

Optional name of the parameter.

Exceptions

ArgumentException

When param is empty.

IsNotEmpty<T>(IEnumerable<T>, string)

Ensures that param is not empty.

public static void IsNotEmpty<T>(IEnumerable<T> param, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is empty.

IsNotEmpty<T>(IReadOnlyCollection<T>, string)

Ensures that param is not empty.

public static void IsNotEmpty<T>(IReadOnlyCollection<T> param, string paramName = "")

Parameters

param IReadOnlyCollection<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is empty.

IsNotInExclusiveRange<T>(T, T, T, IComparer<T>, string)

Ensures that param is not exclusively between min and max.

public static void IsNotInExclusiveRange<T>(T param, T min, T max, IComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

min T

Minimum value to compare param to.

max T

Maximum value to compare param to.

comparer IComparer<T>

Comparer to use for value comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is exclusively between min and max.

IsNotInExclusiveRange<T>(T, T, T, string)

Ensures that param is not exclusively between min and max.

public static void IsNotInExclusiveRange<T>(T param, T min, T max, string paramName = "") where T : IComparable<T>

Parameters

param T

Value to verify.

min T

Minimum value to compare param to.

max T

Maximum value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is exclusively between min and max.

IsNotInRange<T>(T, T, T, IComparer<T>, string)

Ensures that param is not between min and max.

public static void IsNotInRange<T>(T param, T min, T max, IComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

min T

Minimum value to compare param to.

max T

Maximum value to compare param to.

comparer IComparer<T>

Comparer to use for value comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is between min and max.

IsNotInRange<T>(T, T, T, string)

Ensures that param is not between min and max.

public static void IsNotInRange<T>(T param, T min, T max, string paramName = "") where T : IComparable<T>

Parameters

param T

Value to verify.

min T

Minimum value to compare param to.

max T

Maximum value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentOutOfRangeException

When param is between min and max.

IsNotInstanceOfType<T>(object, string)

Ensures that param is not an instance of the provided type.

public static void IsNotInstanceOfType<T>(object param, string paramName = "")

Parameters

param object

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Unexpected type.

Exceptions

ArgumentException

When param is an instance of the provided type.

IsNotInstanceOfType<T>(T, Type, string)

Ensures that param is not an instance of the provided type.

public static void IsNotInstanceOfType<T>(T param, Type type, string paramName = "") where T : notnull

Parameters

param T

Value to verify.

type Type

Unexpected type.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is an instance of the provided type.

IsNotNullOrEmpty(string?, string)

Ensures that param is not null or empty.

public static void IsNotNullOrEmpty(string? param, string paramName = "")

Parameters

param string

String to verify.

paramName string

Optional name of the parameter.

Exceptions

ArgumentException

When param is null or empty.

IsNotNullOrEmpty<T>(IEnumerable<T>?, string)

Ensures that param is not null or empty.

public static void IsNotNullOrEmpty<T>(IEnumerable<T>? param, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is null or empty.

IsNotNullOrEmpty<T>(IReadOnlyCollection<T>?, string)

Ensures that param is not null or empty.

public static void IsNotNullOrEmpty<T>(IReadOnlyCollection<T>? param, string paramName = "")

Parameters

param IReadOnlyCollection<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is null or empty.

IsNotNullOrWhiteSpace(string?, string)

Ensures that param is not null and does not consist only of white-space characters.

public static void IsNotNullOrWhiteSpace(string? param, string paramName = "")

Parameters

param string

String to verify.

paramName string

Optional name of the parameter.

Exceptions

ArgumentException

When param is null or consists only of white-space characters.

IsNotNull<T>(T?, string)

Ensures that param is not null.

public static void IsNotNull<T>(T? param, string paramName = "") where T : struct

Parameters

param T?

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentNullException

When param is null.

IsNotNull<T>(T?, IEqualityComparer<T>, string)

Ensures that param is not null.

public static void IsNotNull<T>(T? param, IEqualityComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

comparer IEqualityComparer<T>

Comparer to use for equality comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentNullException

When param is null.

IsNotNull<T>(T?, string)

Ensures that param is not null.

public static void IsNotNull<T>(T? param, string paramName = "") where T : class

Parameters

param T

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentNullException

When param is null.

IsNotOfType<T>(object, string)

Ensures that param is not exactly of the provided type.

public static void IsNotOfType<T>(object param, string paramName = "")

Parameters

param object

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Unexpected type.

Exceptions

ArgumentException

When param is exactly of the provided type.

IsNotOfType<T>(T, Type, string)

Ensures that param is not exactly of the provided type.

public static void IsNotOfType<T>(T param, Type type, string paramName = "") where T : notnull

Parameters

param T

Value to verify.

type Type

Unexpected type.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is exactly of the provided type.

IsNullOrEmpty(string?, string)

Ensures that param is null or empty.

public static void IsNullOrEmpty(string? param, string paramName = "")

Parameters

param string

String to verify.

paramName string

Optional name of the parameter.

Exceptions

ArgumentException

When param is not null or empty.

IsNullOrEmpty<T>(IEnumerable<T>?, string)

Ensures that param is null or empty.

public static void IsNullOrEmpty<T>(IEnumerable<T>? param, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is not null or empty.

IsNullOrEmpty<T>(IReadOnlyCollection<T>?, string)

Ensures that param is null or empty.

public static void IsNullOrEmpty<T>(IReadOnlyCollection<T>? param, string paramName = "")

Parameters

param IReadOnlyCollection<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is not null or empty.

IsNull<T>(T?, string)

Ensures that param is null.

public static void IsNull<T>(T? param, string paramName = "") where T : struct

Parameters

param T?

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not null.

IsNull<T>(T?, IEqualityComparer<T>, string)

Ensures that param is null.

public static void IsNull<T>(T? param, IEqualityComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

comparer IEqualityComparer<T>

Comparer to use for equality comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not null.

IsNull<T>(T?, string)

Ensures that param is null.

public static void IsNull<T>(T? param, string paramName = "") where T : class

Parameters

param T

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not null.

IsOfType<T>(object, string)

Ensures that param is exactly of the provided type.

public static void IsOfType<T>(object param, string paramName = "")

Parameters

param object

Value to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Expected type.

Exceptions

ArgumentException

When param is not exactly of the provided type.

IsOfType<T>(T, Type, string)

Ensures that param is exactly of the provided type.

public static void IsOfType<T>(T param, Type type, string paramName = "") where T : notnull

Parameters

param T

Value to verify.

type Type

Expected type.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not exactly of the provided type.

IsOrdered<T>(IEnumerable<T>, IComparer<T>, string)

Ensures that param is an ordered collection.

public static void IsOrdered<T>(IEnumerable<T> param, IComparer<T> comparer, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

comparer IComparer<T>

Comparer to use for comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is not ordered.

IsOrdered<T>(IEnumerable<T>, string)

Ensures that param is an ordered collection.

public static void IsOrdered<T>(IEnumerable<T> param, string paramName = "") where T : IComparable<T>

Parameters

param IEnumerable<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param is not ordered.

NotContainsNull<T>(IEnumerable<T?>, string)

Ensures that param does not contain any null elements.

public static void NotContainsNull<T>(IEnumerable<T?> param, string paramName = "") where T : struct

Parameters

param IEnumerable<T?>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains at least one null element.

NotContainsNull<T>(IEnumerable<T?>, IEqualityComparer<T>, string)

Ensures that param does not contain any null elements.

public static void NotContainsNull<T>(IEnumerable<T?> param, IEqualityComparer<T> comparer, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

comparer IEqualityComparer<T>

Comparer to use for equality comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains at least one null element.

NotContainsNull<T>(IEnumerable<T?>, string)

Ensures that param does not contain any null elements.

public static void NotContainsNull<T>(IEnumerable<T?> param, string paramName = "") where T : class

Parameters

param IEnumerable<T>

Collection to verify.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains at least one null element.

NotContains<T>(IEnumerable<T>, T, IEqualityComparer<T>, string)

Ensures that param does not contain an element equal to the provided value.

public static void NotContains<T>(IEnumerable<T> param, T value, IEqualityComparer<T> comparer, string paramName = "")

Parameters

param IEnumerable<T>

Collection to verify.

value T

Value to find.

comparer IEqualityComparer<T>

Comparer to use for equality comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains an element equal to the provided value.

NotContains<T>(IEnumerable<T>, T, string)

Ensures that param does not contain an element equal to the provided value.

public static void NotContains<T>(IEnumerable<T> param, T value, string paramName = "") where T : IEquatable<T>

Parameters

param IEnumerable<T>

Collection to verify.

value T

Value to find.

paramName string

Optional name of the parameter.

Type Parameters

T

Element type.

Exceptions

ArgumentException

When param contains an element equal to the provided value.

NotEquals<T>(T, T?, IEqualityComparer<T>, string)

Ensures that param is not equal to value.

public static void NotEquals<T>(T param, T? value, IEqualityComparer<T> comparer, string paramName = "")

Parameters

param T

Value to verify.

value T

Value to compare param to.

comparer IEqualityComparer<T>

Comparer to use for equality comparison.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is equal to value.

NotEquals<T>(T, T?, string)

Ensures that param is not equal to value.

public static void NotEquals<T>(T param, T? value, string paramName = "") where T : IEquatable<T>

Parameters

param T

Value to verify.

value T

Value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is equal to value.

NotRefEquals<T>(T?, T?, string)

Ensures that param is not ref-equal to value.

public static void NotRefEquals<T>(T? param, T? value, string paramName = "") where T : class

Parameters

param T

Value to verify.

value T

Value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is ref-equal to value.

RefEquals<T>(T?, T?, string)

Ensures that param is ref-equal to value.

public static void RefEquals<T>(T? param, T? value, string paramName = "") where T : class

Parameters

param T

Value to verify.

value T

Value to compare param to.

paramName string

Optional name of the parameter.

Type Parameters

T

Parameter type.

Exceptions

ArgumentException

When param is not ref-equal to value.

True(bool, Func<string>?)

Ensures that the provided condition is true.

public static void True(bool condition, Func<string>? descriptionProvider)

Parameters

condition bool

Condition to verify.

descriptionProvider Func<string>

Optional provider of a description of the error.

Exceptions

ArgumentException

When condition is false.

True(bool, string)

Ensures that the provided condition is true.

public static void True(bool condition, string description = "")

Parameters

condition bool

Condition to verify.

description string

Optional description of the error.

Exceptions

ArgumentException

When condition is false.