Class MutableValueTypeWarningThrower
Namespace: AutoFixture.Kernel
Assembly: AutoFixture.dll
Throws an ObjectCreationException when one tries to create Structure without explicit parametrized constructor.
Possibly notifying about bad design (mutable value type).
public class MutableValueTypeWarningThrower : ISpecimenBuilderInheritance
object ← MutableValueTypeWarningThrower
Implements
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
This `ISpecimenBuilder` can be used with proper filtering `IRequestSpecification` to throw exceptions only on structures without constructors. Will throw an exception instead of letting the containing builder return a `NoSpecimen` instance when it can't satisfy a request or generic exception being thrown.
Constructors
MutableValueTypeWarningThrower()
public MutableValueTypeWarningThrower()Methods
Create(object, ISpecimenContext)
Throws an ObjectCreationException.
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. Not used.
Returns
This method never returns. It always throws an ObjectCreationException.