Class ThrowingRecursionGuard
Namespace: AutoFixture.Kernel
Assembly: AutoFixture.dll
Handles recursion in the specimen creation process by throwing an exception at recursion point.
[Obsolete("This class will be removed in a future version of AutoFixture. Instead, use an instance of RecursionGuard, composed with an instance of ThrowingRecursionHandler.", true)]
public class ThrowingRecursionGuard : RecursionGuard, ISpecimenBuilderNode, ISpecimenBuilder, IEnumerable<ISpecimenBuilder>, IEnumerableInheritance
object ← RecursionGuard ← ThrowingRecursionGuard
Implements
ISpecimenBuilderNode, ISpecimenBuilder, IEnumerable<ISpecimenBuilder>, IEnumerable
Inherited Members
RecursionGuard.HandleRecursiveRequest(object), RecursionGuard.Create(object, ISpecimenContext), RecursionGuard.Compose(IEnumerable<ISpecimenBuilder>), RecursionGuard.GetEnumerator(), RecursionGuard.Builder, RecursionGuard.RecursionHandler, RecursionGuard.RecursionDepth, RecursionGuard.Comparer, RecursionGuard.RecordedRequests, 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>), SpecimenBuilderNode.GraphEquals(ISpecimenBuilderNode, ISpecimenBuilderNode), SpecimenBuilderNode.GraphEquals(ISpecimenBuilderNode, ISpecimenBuilderNode, IEqualityComparer<ISpecimenBuilder>), CustomizationExtensions.ToCustomization(ISpecimenBuilder)
Constructors
ThrowingRecursionGuard(ISpecimenBuilder, IEqualityComparer)
Initializes a new instance of the ThrowingRecursionGuard class.
public ThrowingRecursionGuard(ISpecimenBuilder builder, IEqualityComparer comparer)Parameters
builder ISpecimenBuilder
The intercepting builder to decorate.
comparer IEqualityComparer
An IEqualitycomparer implementation to use when comparing requests to determine recursion.
ThrowingRecursionGuard(ISpecimenBuilder)
Initializes a new instance of the ThrowingRecursionGuard class.
public ThrowingRecursionGuard(ISpecimenBuilder builder)Parameters
builder ISpecimenBuilder
The builder.
Methods
Compose(IEnumerable<ISpecimenBuilder>)
Composes the supplied builders.
public override ISpecimenBuilderNode Compose(IEnumerable<ISpecimenBuilder> builders)Parameters
builders IEnumerable<ISpecimenBuilder>
The builders to compose.
Returns
A new ISpecimenBuilderNode instance containing
builders as child nodes.
HandleRecursiveRequest(object)
Handles a request that would cause recursion by throwing an exception.
[Obsolete("This class will be removed in a future version of AutoFixture. Instead, use an instance of RecursionGuard, composed with an instance of ThrowingRecursionHandler.", true)]
public override object HandleRecursiveRequest(object request)Parameters
request object
The recursion causing request.
Returns
Nothing. Always throws.