PeanutButter
Loading...
Searching...
No Matches
PeanutButter.TestUtils.AspNetCore.Builders.RandomizableBuilder< TBuilder, TSubject > Class Template Referenceabstract

A builder which is also capable of making randomized subjects. More...

Inheritance diagram for PeanutButter.TestUtils.AspNetCore.Builders.RandomizableBuilder< TBuilder, TSubject >:
PeanutButter.TestUtils.AspNetCore.Builders.Builder< TBuilder, TSubject > PeanutButter.TestUtils.AspNetCore.Builders.ActionContextBuilder PeanutButter.TestUtils.AspNetCore.Builders.FormBuilder PeanutButter.TestUtils.AspNetCore.Builders.FormFileBuilder PeanutButter.TestUtils.AspNetCore.Builders.HeaderDictionaryBuilder PeanutButter.TestUtils.AspNetCore.Builders.HttpContextBuilder PeanutButter.TestUtils.AspNetCore.Builders.HttpRequestBuilder PeanutButter.TestUtils.AspNetCore.Builders.HttpResponseBuilder PeanutButter.TestUtils.AspNetCore.Builders.ModelBindingContextBuilder PeanutButter.TestUtils.AspNetCore.Builders.ModelMetadataBuilder< TModel > PeanutButter.TestUtils.AspNetCore.Builders.RequestCookieCollectionBuilder PeanutButter.TestUtils.AspNetCore.Builders.StringMapDerivativeBuilder< TBuilder, TInterface, TConcrete > PeanutButter.TestUtils.AspNetCore.Builders.WebSocketBuilder PeanutButter.TestUtils.AspNetCore.Builders.WebSocketManagerBuilder

Public Member Functions

TBuilder Randomize ()
 Derivatives must implement this so that BuildRandom can work.
Public Member Functions inherited from PeanutButter.TestUtils.AspNetCore.Builders.Builder< TBuilder, TSubject >
TBuilder With (Action< TSubject > action)
 Adds a mutator for the artifact.
virtual TSubject Build ()
 Builds the subject artifact.
 Mutator (Action< T > action, string identifier)

Static Public Member Functions

static TSubject BuildRandom ()
 Builds a random variant output artifact.
Static Public Member Functions inherited from PeanutButter.TestUtils.AspNetCore.Builders.Builder< TBuilder, TSubject >
static TBuilder Create ()
 Returns a new instance of the builder.
static TSubject BuildDefault ()
 Builds the default output artifact.

Additional Inherited Members

Protected Member Functions inherited from PeanutButter.TestUtils.AspNetCore.Builders.Builder< TBuilder, TSubject >
TBuilder With (Action< TSubject > action, string identifier)
 Adds an identified mutator for the artifact - if a mutator with the same identity already exists, it will be removed.
TBuilder With< TCast > (Action< TCast > action)
 Adds a mutator for the artifact, cast to TCast.
TBuilder With< TCast > (Action< TCast > action, string identifier)
 Adds an identified mutator for the artifact, cast to TCast.
TBuilder WithRandomTimes (Action< TSubject > action)
 Applies the given mutator a random (1-4) number of times.
TBuilder WithRandomTimes< TCast > (Action< TCast > action)
 Applies the given mutator on a cast item a random (1-4) number of times.
virtual TSubject ConstructEntity ()
 Override in a derivative builder to provide a custom implementation for TSubject.
TBuilder WithPreCursor (Action toRun)
 Run a precursor before your entity is constructed - use when your entity requires constructor parameters you'd like to make user-tweakable via builder methods.
TBuilder WithPostBuild (Action< TSubject > action)
 Add post-build actions.
Static Protected Member Functions inherited from PeanutButter.TestUtils.AspNetCore.Builders.Builder< TBuilder, TSubject >
static void WarnIf (bool condition, string message)
 Print a traced warning if the condition is found to be false.
static void ErrorIf (bool condition, string message)
 Print a traced warning if the condition is found to be false.
Protected Attributes inherited from PeanutButter.TestUtils.AspNetCore.Builders.Builder< TBuilder, TSubject >
TSubject CurrentEntity
 During build, CurrentEntity will be set to the currently-building entity. You may implement actualizer(s) in your derivative to pull this value in lazily to consumers.
Properties inherited from PeanutButter.TestUtils.AspNetCore.Builders.Builder< TBuilder, TSubject >
Action< T > Action [get]
string Identifier [get]

Detailed Description

A builder which is also capable of making randomized subjects.

Template Parameters
TBuilder
TSubject
Type Constraints
TBuilder :RandomizableBuilder 
TBuilder :TBuilder 
TBuilder :TSubject 
TBuilder :new() 

Member Function Documentation

◆ BuildRandom()

TSubject PeanutButter.TestUtils.AspNetCore.Builders.RandomizableBuilder< TBuilder, TSubject >.BuildRandom ( )
static

Builds a random variant output artifact.

Returns

◆ Randomize()

TBuilder PeanutButter.TestUtils.AspNetCore.Builders.RandomizableBuilder< TBuilder, TSubject >.Randomize ( )
abstract

Derivatives must implement this so that BuildRandom can work.

Returns

The documentation for this class was generated from the following file:
  • source/TestUtils/PeanutButter.TestUtils.AspNetCore/Builders/RandomizableBuilder.cs