JustDummies

Just dummies — but seriously powerful ones.

API v1.0.0-preview.6 · JustDummies.Xunit v1.0.0-preview.2

API sections

API

A coherent API with no magic at runtime: one entry point, generators that compose through fluent methods, and a value produced only on the final call.

Entry point

One door in, and the contract every generator it produces satisfies — from the simplest primitive to a generator composed of several.

Any · AnyContext · IAny<T>

Primitive generators

The basic generators: one fluent constraint at a time, and nothing drawn until Generate is called.

AnyBoolean · AnyByte · AnyChar · …

URIs

Every URI family the library can draw, each narrowed to only the components that family actually has.

AnyFtpUri · AnyMailtoUri · AnyRelativeUri · …

Collections

Arrays, lists, sequences, sets and dictionaries, each built over a generator for its elements.

AnyArray<T> · AnyCollection<TItem, TResult, TSelf> · AnyDictionary<TKey, TValue> · …

Composition

Turning several generators into one — through a factory, a tuple, a closed set of choices, or an optional value.

AnyExtensions · AnyOneOf<T> · Combine · …

Seeds & reproducibility

What makes a failure on an arbitrary value replayable exactly, instead of a mystery that looks different on every run.

ReproducibleAttribute · Reproducibly · ReproduciblyAsync · …

Pool inspection

What a generator's declared constraints leave of a value set you supplied yourself — the values still drawable, and the ones refused, each naming the constraint that refused it.

DeclaredConstraint · IPoolInspection<T> · PoolRejection<T>

Exceptions

The family the library throws on its own behalf, and which member appears for which kind of refusal.

AnyGenerationException · ConflictingAnyConstraintException · DummyException · …