Class OmitEnumerableParameterRequestRelay

Namespace: AutoFixture.Kernel
Assembly: AutoFixture.dll

Relays requests for enumerable parameters, and returns an empty array if the object returned from the context is an OmitSpecimen instance.

public class OmitEnumerableParameterRequestRelay : ISpecimenBuilder

Inheritance

objectOmitEnumerableParameterRequestRelay

Implements

ISpecimenBuilder

Inherited Members

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Extension Methods

SpecimenFactory.Create<T>(ISpecimenBuilder), SpecimenFactory.CreateMany<T>(ISpecimenBuilder), SpecimenFactory.CreateMany<T>(ISpecimenBuilder, int), SpecimenCommand.Do<T>(ISpecimenBuilder, Action<T>), SpecimenCommand.Do<T1, T2>(ISpecimenBuilder, Action<T1, T2>), SpecimenCommand.Do<T1, T2, T3>(ISpecimenBuilder, Action<T1, T2, T3>), SpecimenCommand.Do<T1, T2, T3, T4>(ISpecimenBuilder, Action<T1, T2, T3, T4>), SpecimenQuery.Get<T, TResult>(ISpecimenBuilder, Func<T, TResult>), SpecimenQuery.Get<T1, T2, TResult>(ISpecimenBuilder, Func<T1, T2, TResult>), SpecimenQuery.Get<T1, T2, T3, TResult>(ISpecimenBuilder, Func<T1, T2, T3, TResult>), SpecimenQuery.Get<T1, T2, T3, T4, TResult>(ISpecimenBuilder, Func<T1, T2, T3, T4, TResult>), CustomizationExtensions.ToCustomization(ISpecimenBuilder)

Remarks

The OmitEnumerableParameterRequestRelay class works like `ParameterRequestRelay`, except that it only handles `ParameterInfo` instances where `ParameterType` is `IEnumerable%601`. If the value returned from the context is an `OmitSpecimen` instance, it returns an empty array.

Constructors

OmitEnumerableParameterRequestRelay()

public OmitEnumerableParameterRequestRelay()

Methods

Create(object, ISpecimenContext)

Creates a specimen based on a requested enumerable parameter.

public object Create(object request, ISpecimenContext context)

Parameters

request object

The request that describes what to create.

context ISpecimenContext

A context that can be used to create other specimens.

Returns

object

A specimen created from a SeededRequest encapsulating the parameter type and name of the requested parameter, if possible; otherwise, a NoSpecimen.

Remarks

This method only handles `ParameterInfo` instances where `ParameterType` is `IEnumerable%601`. If context returns an `OmitSpecimen` instance, an empty array of the correct type is returned instead.

Exceptions

ArgumentNullException

context is null.

See Also

OmitEnumerableParameterRequestRelay.Create(object, ISpecimenContext), ParameterRequestRelay, OmitArrayParameterRequestRelay, OmitSpecimen