diff --git a/.claude/commands/tidy-history.md b/.claude/commands/tidy-history.md index f9521323..bd242c10 100644 --- a/.claude/commands/tidy-history.md +++ b/.claude/commands/tidy-history.md @@ -50,7 +50,7 @@ If something is flagged, show me a plan as a table — for each commit: keep / squash-into / reword-to / drop / reorder — plus the resulting `git log --oneline`, every rewritten header conforming to CONTRIBUTING.md (`[(scope)][!]: `, -scope from `core, analyzers, binder, cli, dummies, gendoc, testing`). Then **ask +scope from `core, analyzers, binder, cli, justdummies, gendoc, testing`). Then **ask me to approve.** Run no history-rewriting command before I say go. ## 4 — Rewrite (only after I approve, only while the branch is yours alone) diff --git a/.github/dependabot-autofix-prompt.md b/.github/dependabot-autofix-prompt.md index e1cabb40..fb9bf71c 100644 --- a/.github/dependabot-autofix-prompt.md +++ b/.github/dependabot-autofix-prompt.md @@ -65,7 +65,7 @@ The header must match `[([,...])][!]: CHANGELOG.md (FirstClassErrors + FirstClassErrors.Testing + FirstClassErrors.RequestBinder) # cli -> FirstClassErrors.Cli/CHANGELOG.md (the fce .NET tool) -# dum -> Dummies/CHANGELOG.md (the standalone Dummies library) +# dum -> JustDummies/CHANGELOG.md (the standalone JustDummies library) on: workflow_dispatch: inputs: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0603da7b..fa99ad2b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -98,9 +98,9 @@ jobs: # Only these library test projects carry the net472 leg (EnableNet472Floor adds it): the tooling test # projects (Roslyn / GenDoc / Cli) stay net10-only by design, and RequestBinder.UnitTests stays net10-only # because its fixtures bind DateOnly, a .NET 6+ type absent from net472. RequestBinder is still floored here - # through its property tests, and Dummies through its own contract suite (Dummies.UnitTests), running on the + # through its property tests, and JustDummies through its own contract suite (JustDummies.UnitTests), running on the # netstandard2.0 asset .NET Framework consumers load — its net8-only tests are conditioned out (issue #215). - # Dummies.Xunit is floored the same way: it ships netstandard2.0, so a .NET Framework consumer loads that + # JustDummies.Xunit is floored the same way: it ships netstandard2.0, so a .NET Framework consumer loads that # asset, and its adapter suite must prove it works there and not only on net10. # A per-project loop (not a solution-wide -f net472, which would force the TFM onto the net10-only projects # and fail) keeps the net472 scope exactly these five. @@ -112,8 +112,8 @@ jobs: FirstClassErrors.UnitTests \ FirstClassErrors.PropertyTests \ FirstClassErrors.RequestBinder.PropertyTests \ - Dummies.UnitTests \ - Dummies.Xunit.UnitTests ; do + JustDummies.UnitTests \ + JustDummies.Xunit.UnitTests ; do echo "::group::$proj (net472)" dotnet test "$proj/$proj.csproj" -c Release -f net472 -p:EnableNet472Floor=true \ --logger "console;verbosity=normal" diff --git a/.github/workflows/dependabot-autofix.yml b/.github/workflows/dependabot-autofix.yml index 90c1e0e5..6fabe4b6 100644 --- a/.github/workflows/dependabot-autofix.yml +++ b/.github/workflows/dependabot-autofix.yml @@ -38,7 +38,7 @@ on: - sonar - analyzers - commit-lint - - dummies + - justdummies - dependency-review - codeql types: diff --git a/.github/workflows/dummies.yml b/.github/workflows/justdummies.yml similarity index 76% rename from .github/workflows/dummies.yml rename to .github/workflows/justdummies.yml index be02d3f2..fba16e0d 100644 --- a/.github/workflows/dummies.yml +++ b/.github/workflows/justdummies.yml @@ -1,4 +1,4 @@ -name: dummies +name: justdummies on: push: @@ -11,7 +11,7 @@ on: # Cancel superseded runs on the same branch / PR. concurrency: - group: dummies-${{ github.workflow }}-${{ github.ref }} + group: justdummies-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true # Least privilege: this workflow only checks out, packs and runs, so the token @@ -25,24 +25,24 @@ env: DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true' jobs: - # The ci workflow builds Dummies for both TFMs and runs Dummies.UnitTests on net10.0 — which resolves the + # The ci workflow builds JustDummies for both TFMs and runs JustDummies.UnitTests on net10.0 — which resolves the # NEAREST compatible asset (net8.0). So the netstandard2.0 asset that ships in the package is compiled but # never EXECUTED by a test. This job closes that gap: it packs the real .nupkg and consumes it from an - # isolated project (tools/dummies-check) once per consumer TFM, each forcing a different packaged asset, + # isolated project (tools/justdummies-check) once per consumer TFM, each forcing a different packaged asset, # then proves by reflection which asset loaded and exercises the common smoke surface on it. packaged-assets: - name: Dummies packaged-asset compatibility + name: JustDummies packaged-asset compatibility runs-on: ubuntu-latest # Pack (~10s) plus two short consumer runs; cap a hung run like the other workflows. timeout-minutes: 15 env: # Single source of truth for the throwaway package version, passed to the pack (-p:Version) and BOTH - # consume (-p:DummiesCheckVersion) steps. The run-number.attempt suffix makes every run produce a version + # consume (-p:JustDummiesCheckVersion) steps. The run-number.attempt suffix makes every run produce a version # NuGet has never cached, so the consume steps always restore the freshly packed .nupkg instead of a # stale copy; run_attempt (which changes on a re-run) closes the door should a ~/.nuget cache ever be - # added. DummiesCheck.csproj pins this EXACT version, and nuget.config maps the id to the local feed only, - # so it can never resolve a future stable Dummies from nuget.org. - DUMMIESCHECK_VERSION: 1.0.0-dummiescheck.${{ github.run_number }}.${{ github.run_attempt }} + # added. JustDummiesCheck.csproj pins this EXACT version, and nuget.config maps the id to the local feed only, + # so it can never resolve a future stable JustDummies from nuget.org. + JUSTDUMMIESCHECK_VERSION: 1.0.0-justdummiescheck.${{ github.run_number }}.${{ github.run_attempt }} steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 @@ -59,23 +59,23 @@ jobs: 8.0.x 10.0.x - - name: Pack Dummies under the release SDK + - name: Pack JustDummies under the release SDK # Pack from the repo root so the root global.json selects the .NET 10 SDK — the one release.yml packs # with — producing the exact multi-asset artifact a consumer restores (lib/netstandard2.0 + lib/net8.0). # GenerateSBOM is off here: the SBOM is a release-pipeline concern (release.yml), and this job only needs # the lib/ assets. The feed and the project-local package cache are wiped first so the consume steps can # only see this run's package — a no-op on a fresh runner, but it keeps a reused workspace idempotent. run: | - rm -rf tools/dummies-check/local-feed tools/dummies-check/packages - dotnet pack Dummies/Dummies.csproj -c Release -p:Version="$DUMMIESCHECK_VERSION" -p:GenerateSBOM=false -o tools/dummies-check/local-feed + rm -rf tools/justdummies-check/local-feed tools/justdummies-check/packages + dotnet pack JustDummies/JustDummies.csproj -c Release -p:Version="$JUSTDUMMIESCHECK_VERSION" -p:GenerateSBOM=false -o tools/justdummies-check/local-feed - name: Validate the net8.0 asset (net8.0 consumer) # A net8.0 consumer resolves lib/net8.0: the modern generators (DateOnly/Int128/Half/...) must be # PRESENT. The program self-checks and exits non-zero on any mismatch; the greps are positive proof that # it ran AND loaded the intended asset (a program that silently no-oped would exit 0 with no banner). - working-directory: tools/dummies-check + working-directory: tools/justdummies-check run: | - dotnet run -c Release --framework net8.0 -p:DummiesCheckVersion="$DUMMIESCHECK_VERSION" > net8.log 2>&1 || { cat net8.log; exit 1; } + dotnet run -c Release --framework net8.0 -p:JustDummiesCheckVersion="$JUSTDUMMIESCHECK_VERSION" > net8.log 2>&1 || { cat net8.log; exit 1; } cat net8.log grep -q 'ASSET=.NETCoreApp,Version=v8.0' net8.log grep -q 'RESULT=PASS' net8.log @@ -84,9 +84,9 @@ jobs: # A net6.0 consumer resolves lib/netstandard2.0: the modern generators must be ABSENT, while the common # surface (scalars, constraints, composition, collections, seeded reproducibility) still works. This is # the leg the net10.0 test project can never exercise — the whole reason this workflow exists. - working-directory: tools/dummies-check + working-directory: tools/justdummies-check run: | - dotnet run -c Release --framework net6.0 -p:DummiesCheckVersion="$DUMMIESCHECK_VERSION" > netstandard.log 2>&1 || { cat netstandard.log; exit 1; } + dotnet run -c Release --framework net6.0 -p:JustDummiesCheckVersion="$JUSTDUMMIESCHECK_VERSION" > netstandard.log 2>&1 || { cat netstandard.log; exit 1; } cat netstandard.log grep -q 'ASSET=.NETStandard,Version=v2.0' netstandard.log grep -q 'RESULT=PASS' netstandard.log @@ -97,7 +97,7 @@ jobs: # seeded sequence — new Random(seed) keeps the legacy algorithm on modern .NET so they SHOULD agree, but # nothing else asserts it and Random reserves the right to differ across framework versions (issue #215). # Compare byte-for-byte; the empty-guard fails closed so a missing/renamed banner can never pass silently. - working-directory: tools/dummies-check + working-directory: tools/justdummies-check run: | set -euo pipefail net8_seq="$(sed -n 's/^SEEDBATCH=//p' net8.log)" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 85a6ae96..502cb4e5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,7 +5,7 @@ on: # Publish on a train-prefixed semantic-version tag. The trains version independently: # lib-v1.2.3 -> FirstClassErrors + FirstClassErrors.Testing + FirstClassErrors.RequestBinder # cli-v1.2.3 -> FirstClassErrors.Cli (the fce .NET tool) - # dum-v1.2.3 -> Dummies (the standalone arbitrary-test-value library) + # dum-v1.2.3 -> JustDummies (the standalone arbitrary-test-value library) tags: - 'lib-v*.*.*' - 'cli-v*.*.*' @@ -190,7 +190,7 @@ jobs: echo "ok: GenDoc's error catalog has a breaking change since $PREVIOUS_TAG, matched by the major version bump ($PREVIOUS_MAJOR -> $NEW_MAJOR)." # Pack only the train this release targets (lib -> FirstClassErrors + .Testing + .RequestBinder; - # cli -> the fce tool; dum -> Dummies), so a lib release never republishes the CLI and vice versa. + # cli -> the fce tool; dum -> JustDummies), so a lib release never republishes the CLI and vice versa. # The analyzer is bundled inside the main package and the GenDoc worker inside the CLI tool; the # samples are not published. # GenerateSBOM activates Microsoft.Sbom.Targets in each packable project: each package embeds its SPDX diff --git a/.gitignore b/.gitignore index eb9a84fe..018e3e99 100644 --- a/.gitignore +++ b/.gitignore @@ -293,9 +293,9 @@ __pycache__/ tools/floor-check/local-feed/ tools/floor-check/packages/ tools/floor-check/build.log -# Dummies packaged-asset compatibility check (tools/dummies-check): CI-generated artifacts, never committed. -# local-feed holds the packed .nupkg the dummies job produces; packages/ is the project-local NuGet +# JustDummies packaged-asset compatibility check (tools/justdummies-check): CI-generated artifacts, never committed. +# local-feed holds the packed .nupkg the justdummies job produces; packages/ is the project-local NuGet # extraction folder (RestorePackagesPath); *.log are the job's per-asset run outputs. -tools/dummies-check/local-feed/ -tools/dummies-check/packages/ -tools/dummies-check/*.log +tools/justdummies-check/local-feed/ +tools/justdummies-check/packages/ +tools/justdummies-check/*.log diff --git a/CLAUDE.md b/CLAUDE.md index e34b8569..f1e3d729 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -94,7 +94,7 @@ The essentials, inlined so they hold even if `AGENTS.md` is not read: * Follow `.github/pull_request_template.md` for every pull request. * Do not open a pull request unless I explicitly ask for one. * PR titles, descriptions, commits, and branch names must be written in English. -* Write every commit message per [`CONTRIBUTING.md`](CONTRIBUTING.md): Conventional Commits, a closed type list, the scopes `core, analyzers, binder, cli, dummies, gendoc, testing`, an imperative header within 72 characters, and `Refs: #NN` in a footer when a GitHub issue exists (issue-closing keywords belong in the PR description, not the commit). +* Write every commit message per [`CONTRIBUTING.md`](CONTRIBUTING.md): Conventional Commits, a closed type list, the scopes `core, analyzers, binder, cli, justdummies, gendoc, testing`, an imperative header within 72 characters, and `Refs: #NN` in a footer when a GitHub issue exists (issue-closing keywords belong in the PR description, not the commit). * Write every pull request title per [`CONTRIBUTING.md`](CONTRIBUTING.md): name the whole change in English; a single-intention PR mirrors its commit header (`type(scope): description`), a multi-intention PR uses a short descriptive title, and issue references stay in the description, not the title. * Enable the local commit-message hook once per clone with `git config core.hooksPath .githooks`; the same check runs in CI on every pull request. * Before opening a pull request — and after pushing more commits to an open one — read the branch against a fresh `origin/main` and, if the history is messy (pending `fixup!`/`squash!`, wip/typo/"address review" commits, headers the lint rejects, one change split across non-standalone commits or two folded into one), **propose** a cleanup and rewrite only after I approve — while the branch is yours alone, with `git push --force-with-lease`, leaving the diff against `origin/main` unchanged. This repository merges with a merge commit, so a messy branch reaches `main`. Full rule in [`AGENTS.md`](AGENTS.md) ("Tidying history before a pull request"); the `/tidy-history` command runs it. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 897e8939..ec5aac98 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ guidelines. ## Public API baseline The shipping libraries — `FirstClassErrors`, `FirstClassErrors.Testing`, -`FirstClassErrors.RequestBinder` (the `lib` train) and `Dummies` (the `dum` +`FirstClassErrors.RequestBinder` (the `lib` train) and `JustDummies` (the `dum` train) — carry a committed public-API baseline, so every change to their public surface is a reviewed diff and an accidental breaking change (a removed overload, a narrowed return type, a renamed member) cannot ship silently under a version @@ -35,7 +35,7 @@ number that promises compatibility. Two guards, wired once in surface change fails the build until the same change updates the baseline. * **Package validation** (`EnablePackageValidation`) runs ApiCompat during `dotnet pack`. With no baseline version set it performs the same-package - cross-target-framework check (it proves `Dummies`' net8.0 surface never drops + cross-target-framework check (it proves `JustDummies`' net8.0 surface never drops API a netstandard2.0 consumer sees). To additionally gate against a published version, set `PackageValidationBaselineVersion`; `0.1.0-preview.1` is the first such baseline available for the `lib` train. @@ -47,7 +47,7 @@ number that promises compatibility. Two guards, wired once in * **From the CLI**: `dotnet format analyzers --diagnostics RS0016` appends the new entries to `PublicAPI.Unshipped.txt`; for a **removal**, delete the matching line by hand. -* **Multi-target (`Dummies`)**: each framework has its own baseline under +* **Multi-target (`JustDummies`)**: each framework has its own baseline under `PublicAPI//`, and `dotnet format` rewrites only one framework's file per run — update `net8.0` and `netstandard2.0` separately when a change touches both. * **At release**: promote the accumulated `PublicAPI.Unshipped.txt` entries into @@ -299,7 +299,7 @@ When present it MUST be lowercase and MUST be one of: | `analyzers` | `FirstClassErrors.Analyzers` — the Roslyn analyzers and their `FCExxx` diagnostics | | `binder` | `FirstClassErrors.RequestBinder` — the request binder for the primary-adapter boundary | | `cli` | `FirstClassErrors.Cli` — the command-line tool | -| `dummies` | `Dummies` — the standalone arbitrary-test-value generator | +| `justdummies` | `JustDummies` — the standalone arbitrary-test-value generator | | `gendoc` | `FirstClassErrors.GenDoc` and its worker — the documentation generator | | `testing` | `FirstClassErrors.Testing` — the test-support package | @@ -312,7 +312,7 @@ into **release trains** by scope — `tools/trains.sh` is the single source of truth — and each train publishes independently: `lib` (scopes `core`, `analyzers`, `testing`, `binder` → `FirstClassErrors`, `FirstClassErrors.Testing` and `FirstClassErrors.RequestBinder`), `cli` (scopes `cli`, `gendoc` → the `fce` tool) -and `dum` (scope `dummies` → `Dummies`). A commit's scope decides which train's +and `dum` (scope `justdummies` → `JustDummies`). A commit's scope decides which train's release notes and changelog it lands in; see [Adding a release train](doc/handwritten/for-maintainers/AddingAReleaseTrain.en.md). diff --git a/Dummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt b/Dummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt deleted file mode 100644 index 22f58aee..00000000 --- a/Dummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt +++ /dev/null @@ -1,7 +0,0 @@ -#nullable enable -Dummies.Xunit.ReproducibleAttribute -Dummies.Xunit.ReproducibleAttribute.ReproducibleAttribute() -> void -Dummies.Xunit.ReproducibleAttribute.Seed.get -> int -Dummies.Xunit.ReproducibleAttribute.Seed.set -> void -override Dummies.Xunit.ReproducibleAttribute.After(System.Reflection.MethodInfo! methodUnderTest, Xunit.v3.IXunitTest! test) -> void -override Dummies.Xunit.ReproducibleAttribute.Before(System.Reflection.MethodInfo! methodUnderTest, Xunit.v3.IXunitTest! test) -> void diff --git a/Dummies/PublicAPI/net8.0/PublicAPI.Unshipped.txt b/Dummies/PublicAPI/net8.0/PublicAPI.Unshipped.txt deleted file mode 100644 index e10931c3..00000000 --- a/Dummies/PublicAPI/net8.0/PublicAPI.Unshipped.txt +++ /dev/null @@ -1,499 +0,0 @@ -#nullable enable -Dummies.Any -Dummies.AnyArray -Dummies.AnyArray.Distinct() -> Dummies.AnyArray! -Dummies.AnyArray.Distinct(System.Collections.Generic.IEqualityComparer! comparer) -> Dummies.AnyArray! -Dummies.AnyBoolean -Dummies.AnyBoolean.DifferentFrom(bool value) -> Dummies.AnyBoolean! -Dummies.AnyBoolean.False() -> Dummies.AnyBoolean! -Dummies.AnyBoolean.Generate() -> bool -Dummies.AnyBoolean.True() -> Dummies.AnyBoolean! -Dummies.AnyByte -Dummies.AnyByte.Between(byte minimum, byte maximum) -> Dummies.AnyByte! -Dummies.AnyByte.DifferentFrom(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.Except(params byte[]! values) -> Dummies.AnyByte! -Dummies.AnyByte.Generate() -> byte -Dummies.AnyByte.GreaterThan(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.GreaterThanOrEqualTo(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.LessThan(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.LessThanOrEqualTo(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.MultipleOf(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.NonZero() -> Dummies.AnyByte! -Dummies.AnyByte.OneOf(params byte[]! values) -> Dummies.AnyByte! -Dummies.AnyByte.Zero() -> Dummies.AnyByte! -Dummies.AnyChar -Dummies.AnyChar.Alpha() -> Dummies.AnyChar! -Dummies.AnyChar.AlphaNumeric() -> Dummies.AnyChar! -Dummies.AnyChar.DifferentFrom(char value) -> Dummies.AnyChar! -Dummies.AnyChar.Except(params char[]! values) -> Dummies.AnyChar! -Dummies.AnyChar.Generate() -> char -Dummies.AnyChar.LowerCase() -> Dummies.AnyChar! -Dummies.AnyChar.Numeric() -> Dummies.AnyChar! -Dummies.AnyChar.OneOf(params char[]! values) -> Dummies.AnyChar! -Dummies.AnyChar.UpperCase() -> Dummies.AnyChar! -Dummies.AnyCollection -Dummies.AnyCollection.Containing(TItem value) -> TSelf! -Dummies.AnyCollection.ContainingAny(Dummies.IAny! generator) -> TSelf! -Dummies.AnyCollection.Empty() -> TSelf! -Dummies.AnyCollection.Generate() -> TResult -Dummies.AnyCollection.NonEmpty() -> TSelf! -Dummies.AnyCollection.WithCount(int count) -> TSelf! -Dummies.AnyCollection.WithCountBetween(int minimum, int maximum) -> TSelf! -Dummies.AnyCollection.WithMaxCount(int count) -> TSelf! -Dummies.AnyCollection.WithMinCount(int count) -> TSelf! -Dummies.AnyContext -Dummies.AnyContext.Boolean() -> Dummies.AnyBoolean! -Dummies.AnyContext.Byte() -> Dummies.AnyByte! -Dummies.AnyContext.Char() -> Dummies.AnyChar! -Dummies.AnyContext.DateOnly() -> Dummies.AnyDateOnly! -Dummies.AnyContext.DateTime() -> Dummies.AnyDateTime! -Dummies.AnyContext.DateTimeOffset() -> Dummies.AnyDateTimeOffset! -Dummies.AnyContext.Decimal() -> Dummies.AnyDecimal! -Dummies.AnyContext.Double() -> Dummies.AnyDouble! -Dummies.AnyContext.ElementOf(System.Collections.Generic.IEnumerable! values) -> Dummies.AnyOneOf! -Dummies.AnyContext.ElementOf(System.Collections.Generic.IReadOnlyList! values) -> Dummies.AnyOneOf! -Dummies.AnyContext.Enum() -> Dummies.AnyEnum! -Dummies.AnyContext.Guid() -> Dummies.AnyGuid! -Dummies.AnyContext.Half() -> Dummies.AnyHalf! -Dummies.AnyContext.Int128() -> Dummies.AnyInt128! -Dummies.AnyContext.Int16() -> Dummies.AnyInt16! -Dummies.AnyContext.Int32() -> Dummies.AnyInt32! -Dummies.AnyContext.Int64() -> Dummies.AnyInt64! -Dummies.AnyContext.OneOf(params T[]! values) -> Dummies.AnyOneOf! -Dummies.AnyContext.SByte() -> Dummies.AnySByte! -Dummies.AnyContext.Seed.get -> int -Dummies.AnyContext.Single() -> Dummies.AnySingle! -Dummies.AnyContext.String() -> Dummies.AnyString! -Dummies.AnyContext.StringMatching(string! pattern) -> Dummies.AnyPattern! -Dummies.AnyContext.StringMatching(System.Text.RegularExpressions.Regex! pattern) -> Dummies.AnyPattern! -Dummies.AnyContext.TimeOnly() -> Dummies.AnyTimeOnly! -Dummies.AnyContext.TimeSpan() -> Dummies.AnyTimeSpan! -Dummies.AnyContext.UInt128() -> Dummies.AnyUInt128! -Dummies.AnyContext.UInt16() -> Dummies.AnyUInt16! -Dummies.AnyContext.UInt32() -> Dummies.AnyUInt32! -Dummies.AnyContext.UInt64() -> Dummies.AnyUInt64! -Dummies.AnyContext.Uri() -> Dummies.AnyUri! -Dummies.AnyDateOnly -Dummies.AnyDateOnly.After(System.DateOnly date) -> Dummies.AnyDateOnly! -Dummies.AnyDateOnly.AfterOrEqualTo(System.DateOnly date) -> Dummies.AnyDateOnly! -Dummies.AnyDateOnly.Before(System.DateOnly date) -> Dummies.AnyDateOnly! -Dummies.AnyDateOnly.BeforeOrEqualTo(System.DateOnly date) -> Dummies.AnyDateOnly! -Dummies.AnyDateOnly.Between(System.DateOnly start, System.DateOnly end) -> Dummies.AnyDateOnly! -Dummies.AnyDateOnly.DifferentFrom(System.DateOnly value) -> Dummies.AnyDateOnly! -Dummies.AnyDateOnly.Except(params System.DateOnly[]! values) -> Dummies.AnyDateOnly! -Dummies.AnyDateOnly.Generate() -> System.DateOnly -Dummies.AnyDateOnly.OneOf(params System.DateOnly[]! values) -> Dummies.AnyDateOnly! -Dummies.AnyDateTime -Dummies.AnyDateTime.After(System.DateTime instant) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.AfterOrEqualTo(System.DateTime instant) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.Before(System.DateTime instant) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.BeforeOrEqualTo(System.DateTime instant) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.Between(System.DateTime start, System.DateTime end) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.DifferentFrom(System.DateTime value) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.Except(params System.DateTime[]! values) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.Generate() -> System.DateTime -Dummies.AnyDateTime.OneOf(params System.DateTime[]! values) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.WithGranularity(System.TimeSpan granularity) -> Dummies.AnyDateTime! -Dummies.AnyDateTimeOffset -Dummies.AnyDateTimeOffset.After(System.DateTimeOffset instant) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.AfterOrEqualTo(System.DateTimeOffset instant) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.Before(System.DateTimeOffset instant) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.BeforeOrEqualTo(System.DateTimeOffset instant) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.Between(System.DateTimeOffset start, System.DateTimeOffset end) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.DifferentFrom(System.DateTimeOffset value) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.Except(params System.DateTimeOffset[]! values) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.Generate() -> System.DateTimeOffset -Dummies.AnyDateTimeOffset.OneOf(params System.DateTimeOffset[]! values) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.WithGranularity(System.TimeSpan granularity) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.WithOffset(System.TimeSpan offset) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.WithOffsetBetween(System.TimeSpan minimum, System.TimeSpan maximum) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDecimal -Dummies.AnyDecimal.Between(decimal minimum, decimal maximum) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.DifferentFrom(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Except(params decimal[]! values) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Generate() -> decimal -Dummies.AnyDecimal.GreaterThan(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.GreaterThanOrEqualTo(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.LessThan(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.LessThanOrEqualTo(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Negative() -> Dummies.AnyDecimal! -Dummies.AnyDecimal.NonZero() -> Dummies.AnyDecimal! -Dummies.AnyDecimal.OneOf(params decimal[]! values) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Positive() -> Dummies.AnyDecimal! -Dummies.AnyDecimal.WithScale(int scale) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Zero() -> Dummies.AnyDecimal! -Dummies.AnyDictionary -Dummies.AnyDictionary.ContainingAnyKey(Dummies.IAny! generator) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.ContainingEntry(TKey key, TValue value) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.ContainingKey(TKey key) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.Empty() -> Dummies.AnyDictionary! -Dummies.AnyDictionary.Generate() -> System.Collections.Generic.Dictionary! -Dummies.AnyDictionary.NonEmpty() -> Dummies.AnyDictionary! -Dummies.AnyDictionary.WithCount(int count) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.WithCountBetween(int minimum, int maximum) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.WithMaxCount(int count) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.WithMinCount(int count) -> Dummies.AnyDictionary! -Dummies.AnyDouble -Dummies.AnyDouble.Between(double minimum, double maximum) -> Dummies.AnyDouble! -Dummies.AnyDouble.DifferentFrom(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.Except(params double[]! values) -> Dummies.AnyDouble! -Dummies.AnyDouble.Generate() -> double -Dummies.AnyDouble.GreaterThan(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.GreaterThanOrEqualTo(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.LessThan(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.LessThanOrEqualTo(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.Negative() -> Dummies.AnyDouble! -Dummies.AnyDouble.NonZero() -> Dummies.AnyDouble! -Dummies.AnyDouble.OneOf(params double[]! values) -> Dummies.AnyDouble! -Dummies.AnyDouble.Positive() -> Dummies.AnyDouble! -Dummies.AnyDouble.Zero() -> Dummies.AnyDouble! -Dummies.AnyEnum -Dummies.AnyEnum.DifferentFrom(TEnum value) -> Dummies.AnyEnum! -Dummies.AnyEnum.Except(params TEnum[]! values) -> Dummies.AnyEnum! -Dummies.AnyEnum.Generate() -> TEnum -Dummies.AnyEnum.OneOf(params TEnum[]! values) -> Dummies.AnyEnum! -Dummies.AnyException -Dummies.AnyException.AnyException(string! message) -> void -Dummies.AnyException.AnyException(string! message, System.Exception! innerException) -> void -Dummies.AnyExtensions -Dummies.AnyFtpUri -Dummies.AnyFtpUri.Generate() -> System.Uri! -Dummies.AnyFtpUri.WithHost(string! host) -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithoutPath() -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithPathSegments(int count) -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithPort() -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithPort(int port) -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithUserInfo() -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithUserInfo(string! user) -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithUserInfo(string! user, string! password) -> Dummies.AnyFtpUri! -Dummies.AnyGenerationException -Dummies.AnyGenerationException.AnyGenerationException(string! message) -> void -Dummies.AnyGenerationException.AnyGenerationException(string! message, System.Exception! innerException) -> void -Dummies.AnyGenerationException.Seed.get -> int? -Dummies.AnyGuid -Dummies.AnyGuid.DifferentFrom(System.Guid value) -> Dummies.AnyGuid! -Dummies.AnyGuid.Empty() -> Dummies.AnyGuid! -Dummies.AnyGuid.Except(params System.Guid[]! values) -> Dummies.AnyGuid! -Dummies.AnyGuid.Generate() -> System.Guid -Dummies.AnyGuid.NonEmpty() -> Dummies.AnyGuid! -Dummies.AnyGuid.OneOf(params System.Guid[]! values) -> Dummies.AnyGuid! -Dummies.AnyHalf -Dummies.AnyHalf.Between(System.Half minimum, System.Half maximum) -> Dummies.AnyHalf! -Dummies.AnyHalf.DifferentFrom(System.Half value) -> Dummies.AnyHalf! -Dummies.AnyHalf.Except(params System.Half[]! values) -> Dummies.AnyHalf! -Dummies.AnyHalf.Generate() -> System.Half -Dummies.AnyHalf.GreaterThan(System.Half value) -> Dummies.AnyHalf! -Dummies.AnyHalf.GreaterThanOrEqualTo(System.Half value) -> Dummies.AnyHalf! -Dummies.AnyHalf.LessThan(System.Half value) -> Dummies.AnyHalf! -Dummies.AnyHalf.LessThanOrEqualTo(System.Half value) -> Dummies.AnyHalf! -Dummies.AnyHalf.Negative() -> Dummies.AnyHalf! -Dummies.AnyHalf.NonZero() -> Dummies.AnyHalf! -Dummies.AnyHalf.OneOf(params System.Half[]! values) -> Dummies.AnyHalf! -Dummies.AnyHalf.Positive() -> Dummies.AnyHalf! -Dummies.AnyHalf.Zero() -> Dummies.AnyHalf! -Dummies.AnyInt128 -Dummies.AnyInt128.Between(System.Int128 minimum, System.Int128 maximum) -> Dummies.AnyInt128! -Dummies.AnyInt128.DifferentFrom(System.Int128 value) -> Dummies.AnyInt128! -Dummies.AnyInt128.Except(params System.Int128[]! values) -> Dummies.AnyInt128! -Dummies.AnyInt128.Generate() -> System.Int128 -Dummies.AnyInt128.GreaterThan(System.Int128 value) -> Dummies.AnyInt128! -Dummies.AnyInt128.GreaterThanOrEqualTo(System.Int128 value) -> Dummies.AnyInt128! -Dummies.AnyInt128.LessThan(System.Int128 value) -> Dummies.AnyInt128! -Dummies.AnyInt128.LessThanOrEqualTo(System.Int128 value) -> Dummies.AnyInt128! -Dummies.AnyInt128.MultipleOf(System.Int128 value) -> Dummies.AnyInt128! -Dummies.AnyInt128.Negative() -> Dummies.AnyInt128! -Dummies.AnyInt128.NonZero() -> Dummies.AnyInt128! -Dummies.AnyInt128.OneOf(params System.Int128[]! values) -> Dummies.AnyInt128! -Dummies.AnyInt128.Positive() -> Dummies.AnyInt128! -Dummies.AnyInt128.Zero() -> Dummies.AnyInt128! -Dummies.AnyInt16 -Dummies.AnyInt16.Between(short minimum, short maximum) -> Dummies.AnyInt16! -Dummies.AnyInt16.DifferentFrom(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.Except(params short[]! values) -> Dummies.AnyInt16! -Dummies.AnyInt16.Generate() -> short -Dummies.AnyInt16.GreaterThan(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.GreaterThanOrEqualTo(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.LessThan(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.LessThanOrEqualTo(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.MultipleOf(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.Negative() -> Dummies.AnyInt16! -Dummies.AnyInt16.NonZero() -> Dummies.AnyInt16! -Dummies.AnyInt16.OneOf(params short[]! values) -> Dummies.AnyInt16! -Dummies.AnyInt16.Positive() -> Dummies.AnyInt16! -Dummies.AnyInt16.Zero() -> Dummies.AnyInt16! -Dummies.AnyInt32 -Dummies.AnyInt32.Between(int minimum, int maximum) -> Dummies.AnyInt32! -Dummies.AnyInt32.DifferentFrom(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.Except(params int[]! values) -> Dummies.AnyInt32! -Dummies.AnyInt32.Generate() -> int -Dummies.AnyInt32.GreaterThan(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.GreaterThanOrEqualTo(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.LessThan(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.LessThanOrEqualTo(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.MultipleOf(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.Negative() -> Dummies.AnyInt32! -Dummies.AnyInt32.NonZero() -> Dummies.AnyInt32! -Dummies.AnyInt32.OneOf(params int[]! values) -> Dummies.AnyInt32! -Dummies.AnyInt32.Positive() -> Dummies.AnyInt32! -Dummies.AnyInt32.Zero() -> Dummies.AnyInt32! -Dummies.AnyInt64 -Dummies.AnyInt64.Between(long minimum, long maximum) -> Dummies.AnyInt64! -Dummies.AnyInt64.DifferentFrom(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.Except(params long[]! values) -> Dummies.AnyInt64! -Dummies.AnyInt64.Generate() -> long -Dummies.AnyInt64.GreaterThan(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.GreaterThanOrEqualTo(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.LessThan(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.LessThanOrEqualTo(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.MultipleOf(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.Negative() -> Dummies.AnyInt64! -Dummies.AnyInt64.NonZero() -> Dummies.AnyInt64! -Dummies.AnyInt64.OneOf(params long[]! values) -> Dummies.AnyInt64! -Dummies.AnyInt64.Positive() -> Dummies.AnyInt64! -Dummies.AnyInt64.Zero() -> Dummies.AnyInt64! -Dummies.AnyList -Dummies.AnyList.Distinct() -> Dummies.AnyList! -Dummies.AnyList.Distinct(System.Collections.Generic.IEqualityComparer! comparer) -> Dummies.AnyList! -Dummies.AnyMailtoUri -Dummies.AnyMailtoUri.Generate() -> System.Uri! -Dummies.AnyMailtoUri.WithDomain(string! domain) -> Dummies.AnyMailtoUri! -Dummies.AnyMailtoUri.WithHeaders() -> Dummies.AnyMailtoUri! -Dummies.AnyMailtoUri.WithLocalPart(string! localPart) -> Dummies.AnyMailtoUri! -Dummies.AnyOneOf -Dummies.AnyOneOf.Generate() -> T -Dummies.AnyPattern -Dummies.AnyPattern.Generate() -> string! -Dummies.AnyRelativeUri -Dummies.AnyRelativeUri.Generate() -> System.Uri! -Dummies.AnyRelativeUri.Rooted() -> Dummies.AnyRelativeUri! -Dummies.AnyRelativeUri.WithFragment() -> Dummies.AnyRelativeUri! -Dummies.AnyRelativeUri.WithPathSegments(int count) -> Dummies.AnyRelativeUri! -Dummies.AnyRelativeUri.WithQuery() -> Dummies.AnyRelativeUri! -Dummies.AnySByte -Dummies.AnySByte.Between(sbyte minimum, sbyte maximum) -> Dummies.AnySByte! -Dummies.AnySByte.DifferentFrom(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.Except(params sbyte[]! values) -> Dummies.AnySByte! -Dummies.AnySByte.Generate() -> sbyte -Dummies.AnySByte.GreaterThan(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.GreaterThanOrEqualTo(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.LessThan(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.LessThanOrEqualTo(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.MultipleOf(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.Negative() -> Dummies.AnySByte! -Dummies.AnySByte.NonZero() -> Dummies.AnySByte! -Dummies.AnySByte.OneOf(params sbyte[]! values) -> Dummies.AnySByte! -Dummies.AnySByte.Positive() -> Dummies.AnySByte! -Dummies.AnySByte.Zero() -> Dummies.AnySByte! -Dummies.AnySequence -Dummies.AnySequence.Distinct() -> Dummies.AnySequence! -Dummies.AnySequence.Distinct(System.Collections.Generic.IEqualityComparer! comparer) -> Dummies.AnySequence! -Dummies.AnySet -Dummies.AnySingle -Dummies.AnySingle.Between(float minimum, float maximum) -> Dummies.AnySingle! -Dummies.AnySingle.DifferentFrom(float value) -> Dummies.AnySingle! -Dummies.AnySingle.Except(params float[]! values) -> Dummies.AnySingle! -Dummies.AnySingle.Generate() -> float -Dummies.AnySingle.GreaterThan(float value) -> Dummies.AnySingle! -Dummies.AnySingle.GreaterThanOrEqualTo(float value) -> Dummies.AnySingle! -Dummies.AnySingle.LessThan(float value) -> Dummies.AnySingle! -Dummies.AnySingle.LessThanOrEqualTo(float value) -> Dummies.AnySingle! -Dummies.AnySingle.Negative() -> Dummies.AnySingle! -Dummies.AnySingle.NonZero() -> Dummies.AnySingle! -Dummies.AnySingle.OneOf(params float[]! values) -> Dummies.AnySingle! -Dummies.AnySingle.Positive() -> Dummies.AnySingle! -Dummies.AnySingle.Zero() -> Dummies.AnySingle! -Dummies.AnyString -Dummies.AnyString.Alpha() -> Dummies.AnyString! -Dummies.AnyString.AlphaNumeric() -> Dummies.AnyString! -Dummies.AnyString.Containing(string! value) -> Dummies.AnyString! -Dummies.AnyString.DifferentFrom(string! value) -> Dummies.AnyString! -Dummies.AnyString.EndingWith(string! suffix) -> Dummies.AnyString! -Dummies.AnyString.Except(params string![]! values) -> Dummies.AnyString! -Dummies.AnyString.Generate() -> string! -Dummies.AnyString.LowerCase() -> Dummies.AnyString! -Dummies.AnyString.NonEmpty() -> Dummies.AnyString! -Dummies.AnyString.Numeric() -> Dummies.AnyString! -Dummies.AnyString.OneOf(params string![]! values) -> Dummies.AnyStringOneOf! -Dummies.AnyString.OneOf(System.Collections.Generic.IEnumerable! values) -> Dummies.AnyStringOneOf! -Dummies.AnyString.StartingWith(string! prefix) -> Dummies.AnyString! -Dummies.AnyString.UpperCase() -> Dummies.AnyString! -Dummies.AnyString.WithChars(string! pool) -> Dummies.AnyString! -Dummies.AnyString.WithLength(int length) -> Dummies.AnyString! -Dummies.AnyString.WithLengthBetween(int minimum, int maximum) -> Dummies.AnyString! -Dummies.AnyString.WithMaxLength(int length) -> Dummies.AnyString! -Dummies.AnyString.WithMinLength(int length) -> Dummies.AnyString! -Dummies.AnyStringOneOf -Dummies.AnyStringOneOf.Generate() -> string! -Dummies.AnyTimeOnly -Dummies.AnyTimeOnly.After(System.TimeOnly time) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeOnly.AfterOrEqualTo(System.TimeOnly time) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeOnly.Before(System.TimeOnly time) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeOnly.BeforeOrEqualTo(System.TimeOnly time) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeOnly.Between(System.TimeOnly start, System.TimeOnly end) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeOnly.DifferentFrom(System.TimeOnly value) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeOnly.Except(params System.TimeOnly[]! values) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeOnly.Generate() -> System.TimeOnly -Dummies.AnyTimeOnly.OneOf(params System.TimeOnly[]! values) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeOnly.WithGranularity(System.TimeSpan granularity) -> Dummies.AnyTimeOnly! -Dummies.AnyTimeSpan -Dummies.AnyTimeSpan.Between(System.TimeSpan minimum, System.TimeSpan maximum) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.DifferentFrom(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Except(params System.TimeSpan[]! values) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Generate() -> System.TimeSpan -Dummies.AnyTimeSpan.GreaterThan(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.GreaterThanOrEqualTo(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.LessThan(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.LessThanOrEqualTo(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Negative() -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.NonZero() -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.OneOf(params System.TimeSpan[]! values) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Positive() -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.WithGranularity(System.TimeSpan granularity) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Zero() -> Dummies.AnyTimeSpan! -Dummies.AnyUInt128 -Dummies.AnyUInt128.Between(System.UInt128 minimum, System.UInt128 maximum) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.DifferentFrom(System.UInt128 value) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.Except(params System.UInt128[]! values) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.Generate() -> System.UInt128 -Dummies.AnyUInt128.GreaterThan(System.UInt128 value) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.GreaterThanOrEqualTo(System.UInt128 value) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.LessThan(System.UInt128 value) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.LessThanOrEqualTo(System.UInt128 value) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.MultipleOf(System.UInt128 value) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.NonZero() -> Dummies.AnyUInt128! -Dummies.AnyUInt128.OneOf(params System.UInt128[]! values) -> Dummies.AnyUInt128! -Dummies.AnyUInt128.Zero() -> Dummies.AnyUInt128! -Dummies.AnyUInt16 -Dummies.AnyUInt16.Between(ushort minimum, ushort maximum) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.DifferentFrom(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.Except(params ushort[]! values) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.Generate() -> ushort -Dummies.AnyUInt16.GreaterThan(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.GreaterThanOrEqualTo(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.LessThan(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.LessThanOrEqualTo(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.MultipleOf(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.NonZero() -> Dummies.AnyUInt16! -Dummies.AnyUInt16.OneOf(params ushort[]! values) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.Zero() -> Dummies.AnyUInt16! -Dummies.AnyUInt32 -Dummies.AnyUInt32.Between(uint minimum, uint maximum) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.DifferentFrom(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.Except(params uint[]! values) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.Generate() -> uint -Dummies.AnyUInt32.GreaterThan(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.GreaterThanOrEqualTo(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.LessThan(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.LessThanOrEqualTo(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.MultipleOf(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.NonZero() -> Dummies.AnyUInt32! -Dummies.AnyUInt32.OneOf(params uint[]! values) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.Zero() -> Dummies.AnyUInt32! -Dummies.AnyUInt64 -Dummies.AnyUInt64.Between(ulong minimum, ulong maximum) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.DifferentFrom(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.Except(params ulong[]! values) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.Generate() -> ulong -Dummies.AnyUInt64.GreaterThan(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.GreaterThanOrEqualTo(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.LessThan(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.LessThanOrEqualTo(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.MultipleOf(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.NonZero() -> Dummies.AnyUInt64! -Dummies.AnyUInt64.OneOf(params ulong[]! values) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.Zero() -> Dummies.AnyUInt64! -Dummies.AnyUri -Dummies.AnyUri.Ftp() -> Dummies.AnyFtpUri! -Dummies.AnyUri.Generate() -> System.Uri! -Dummies.AnyUri.Mailto() -> Dummies.AnyMailtoUri! -Dummies.AnyUri.Relative() -> Dummies.AnyRelativeUri! -Dummies.AnyUri.Web() -> Dummies.AnyWebUri! -Dummies.AnyUri.WebSocket() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri -Dummies.AnyWebSocketUri.Generate() -> System.Uri! -Dummies.AnyWebSocketUri.UsingWs() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.UsingWss() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithHost(string! host) -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithoutPath() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithPathSegments(int count) -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithPort() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithPort(int port) -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithQuery() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebUri -Dummies.AnyWebUri.Generate() -> System.Uri! -Dummies.AnyWebUri.UsingHttp() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.UsingHttps() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithFragment() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithHost(string! host) -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithoutPath() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithPathSegments(int count) -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithPort() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithPort(int port) -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithQuery() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithUserInfo() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithUserInfo(string! user) -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithUserInfo(string! user, string! password) -> Dummies.AnyWebUri! -Dummies.ConflictingAnyConstraintException -Dummies.ConflictingAnyConstraintException.ConflictingAnyConstraintException(string! message) -> void -Dummies.IAny -Dummies.IAny.Generate() -> T -Dummies.NullableExtensions -Dummies.NullableReferenceExtensions -Dummies.UnsupportedRegexException -Dummies.UnsupportedRegexException.UnsupportedRegexException(string! message) -> void -static Dummies.Any.ArrayOf(Dummies.IAny! item) -> Dummies.AnyArray! -static Dummies.Any.Boolean() -> Dummies.AnyBoolean! -static Dummies.Any.Byte() -> Dummies.AnyByte! -static Dummies.Any.Char() -> Dummies.AnyChar! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, Dummies.IAny! fifth, Dummies.IAny! sixth, Dummies.IAny! seventh, Dummies.IAny! eighth, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, Dummies.IAny! fifth, Dummies.IAny! sixth, Dummies.IAny! seventh, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, Dummies.IAny! fifth, Dummies.IAny! sixth, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, Dummies.IAny! fifth, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.DateOnly() -> Dummies.AnyDateOnly! -static Dummies.Any.DateTime() -> Dummies.AnyDateTime! -static Dummies.Any.DateTimeOffset() -> Dummies.AnyDateTimeOffset! -static Dummies.Any.Decimal() -> Dummies.AnyDecimal! -static Dummies.Any.DictionaryOf(Dummies.IAny! keys, Dummies.IAny! values) -> Dummies.AnyDictionary! -static Dummies.Any.DictionaryOf(Dummies.IAny! keys, Dummies.IAny! values, System.Collections.Generic.IEqualityComparer! keyComparer) -> Dummies.AnyDictionary! -static Dummies.Any.Double() -> Dummies.AnyDouble! -static Dummies.Any.ElementOf(System.Collections.Generic.IEnumerable! values) -> Dummies.AnyOneOf! -static Dummies.Any.ElementOf(System.Collections.Generic.IReadOnlyList! values) -> Dummies.AnyOneOf! -static Dummies.Any.Enum() -> Dummies.AnyEnum! -static Dummies.Any.Guid() -> Dummies.AnyGuid! -static Dummies.Any.Half() -> Dummies.AnyHalf! -static Dummies.Any.Int128() -> Dummies.AnyInt128! -static Dummies.Any.Int16() -> Dummies.AnyInt16! -static Dummies.Any.Int32() -> Dummies.AnyInt32! -static Dummies.Any.Int64() -> Dummies.AnyInt64! -static Dummies.Any.ListOf(Dummies.IAny! item) -> Dummies.AnyList! -static Dummies.Any.OneOf(params T[]! values) -> Dummies.AnyOneOf! -static Dummies.Any.PairOf(Dummies.IAny! first, Dummies.IAny! second) -> Dummies.IAny<(T1, T2)>! -static Dummies.Any.Reproducibly(int seed, System.Action! body, System.Action? report = null) -> void -static Dummies.Any.Reproducibly(int seed, System.Func! body, System.Action? report = null) -> System.Threading.Tasks.Task! -static Dummies.Any.Reproducibly(System.Action! body, System.Action? report = null) -> void -static Dummies.Any.Reproducibly(System.Func! body, System.Action? report = null) -> System.Threading.Tasks.Task! -static Dummies.Any.SByte() -> Dummies.AnySByte! -static Dummies.Any.SequenceOf(Dummies.IAny! item) -> Dummies.AnySequence! -static Dummies.Any.SetOf(Dummies.IAny! item) -> Dummies.AnySet! -static Dummies.Any.SetOf(Dummies.IAny! item, System.Collections.Generic.IEqualityComparer! comparer) -> Dummies.AnySet! -static Dummies.Any.Single() -> Dummies.AnySingle! -static Dummies.Any.String() -> Dummies.AnyString! -static Dummies.Any.StringMatching(string! pattern) -> Dummies.AnyPattern! -static Dummies.Any.StringMatching(System.Text.RegularExpressions.Regex! pattern) -> Dummies.AnyPattern! -static Dummies.Any.TimeOnly() -> Dummies.AnyTimeOnly! -static Dummies.Any.TimeSpan() -> Dummies.AnyTimeSpan! -static Dummies.Any.TripleOf(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third) -> Dummies.IAny<(T1, T2, T3)>! -static Dummies.Any.UInt128() -> Dummies.AnyUInt128! -static Dummies.Any.UInt16() -> Dummies.AnyUInt16! -static Dummies.Any.UInt32() -> Dummies.AnyUInt32! -static Dummies.Any.UInt64() -> Dummies.AnyUInt64! -static Dummies.Any.Uri() -> Dummies.AnyUri! -static Dummies.Any.UseSeed(int seed) -> System.IDisposable! -static Dummies.Any.UseSeed(int seed, string! replaySnippet) -> System.IDisposable! -static Dummies.Any.WithSeed(int seed) -> Dummies.AnyContext! -static Dummies.AnyExtensions.As(this Dummies.IAny! generator, System.Func! factory) -> Dummies.IAny! -static Dummies.NullableExtensions.OrNull(this Dummies.IAny! generator) -> Dummies.IAny! -static Dummies.NullableReferenceExtensions.OrNull(this Dummies.IAny! generator) -> Dummies.IAny! diff --git a/Dummies/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt b/Dummies/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt deleted file mode 100644 index e5a598cf..00000000 --- a/Dummies/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt +++ /dev/null @@ -1,426 +0,0 @@ -#nullable enable -Dummies.Any -Dummies.AnyArray -Dummies.AnyArray.Distinct() -> Dummies.AnyArray! -Dummies.AnyArray.Distinct(System.Collections.Generic.IEqualityComparer! comparer) -> Dummies.AnyArray! -Dummies.AnyBoolean -Dummies.AnyBoolean.DifferentFrom(bool value) -> Dummies.AnyBoolean! -Dummies.AnyBoolean.False() -> Dummies.AnyBoolean! -Dummies.AnyBoolean.Generate() -> bool -Dummies.AnyBoolean.True() -> Dummies.AnyBoolean! -Dummies.AnyByte -Dummies.AnyByte.Between(byte minimum, byte maximum) -> Dummies.AnyByte! -Dummies.AnyByte.DifferentFrom(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.Except(params byte[]! values) -> Dummies.AnyByte! -Dummies.AnyByte.Generate() -> byte -Dummies.AnyByte.GreaterThan(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.GreaterThanOrEqualTo(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.LessThan(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.LessThanOrEqualTo(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.MultipleOf(byte value) -> Dummies.AnyByte! -Dummies.AnyByte.NonZero() -> Dummies.AnyByte! -Dummies.AnyByte.OneOf(params byte[]! values) -> Dummies.AnyByte! -Dummies.AnyByte.Zero() -> Dummies.AnyByte! -Dummies.AnyChar -Dummies.AnyChar.Alpha() -> Dummies.AnyChar! -Dummies.AnyChar.AlphaNumeric() -> Dummies.AnyChar! -Dummies.AnyChar.DifferentFrom(char value) -> Dummies.AnyChar! -Dummies.AnyChar.Except(params char[]! values) -> Dummies.AnyChar! -Dummies.AnyChar.Generate() -> char -Dummies.AnyChar.LowerCase() -> Dummies.AnyChar! -Dummies.AnyChar.Numeric() -> Dummies.AnyChar! -Dummies.AnyChar.OneOf(params char[]! values) -> Dummies.AnyChar! -Dummies.AnyChar.UpperCase() -> Dummies.AnyChar! -Dummies.AnyCollection -Dummies.AnyCollection.Containing(TItem value) -> TSelf! -Dummies.AnyCollection.ContainingAny(Dummies.IAny! generator) -> TSelf! -Dummies.AnyCollection.Empty() -> TSelf! -Dummies.AnyCollection.Generate() -> TResult -Dummies.AnyCollection.NonEmpty() -> TSelf! -Dummies.AnyCollection.WithCount(int count) -> TSelf! -Dummies.AnyCollection.WithCountBetween(int minimum, int maximum) -> TSelf! -Dummies.AnyCollection.WithMaxCount(int count) -> TSelf! -Dummies.AnyCollection.WithMinCount(int count) -> TSelf! -Dummies.AnyContext -Dummies.AnyContext.Boolean() -> Dummies.AnyBoolean! -Dummies.AnyContext.Byte() -> Dummies.AnyByte! -Dummies.AnyContext.Char() -> Dummies.AnyChar! -Dummies.AnyContext.DateTime() -> Dummies.AnyDateTime! -Dummies.AnyContext.DateTimeOffset() -> Dummies.AnyDateTimeOffset! -Dummies.AnyContext.Decimal() -> Dummies.AnyDecimal! -Dummies.AnyContext.Double() -> Dummies.AnyDouble! -Dummies.AnyContext.ElementOf(System.Collections.Generic.IEnumerable! values) -> Dummies.AnyOneOf! -Dummies.AnyContext.ElementOf(System.Collections.Generic.IReadOnlyList! values) -> Dummies.AnyOneOf! -Dummies.AnyContext.Enum() -> Dummies.AnyEnum! -Dummies.AnyContext.Guid() -> Dummies.AnyGuid! -Dummies.AnyContext.Int16() -> Dummies.AnyInt16! -Dummies.AnyContext.Int32() -> Dummies.AnyInt32! -Dummies.AnyContext.Int64() -> Dummies.AnyInt64! -Dummies.AnyContext.OneOf(params T[]! values) -> Dummies.AnyOneOf! -Dummies.AnyContext.SByte() -> Dummies.AnySByte! -Dummies.AnyContext.Seed.get -> int -Dummies.AnyContext.Single() -> Dummies.AnySingle! -Dummies.AnyContext.String() -> Dummies.AnyString! -Dummies.AnyContext.StringMatching(string! pattern) -> Dummies.AnyPattern! -Dummies.AnyContext.StringMatching(System.Text.RegularExpressions.Regex! pattern) -> Dummies.AnyPattern! -Dummies.AnyContext.TimeSpan() -> Dummies.AnyTimeSpan! -Dummies.AnyContext.UInt16() -> Dummies.AnyUInt16! -Dummies.AnyContext.UInt32() -> Dummies.AnyUInt32! -Dummies.AnyContext.UInt64() -> Dummies.AnyUInt64! -Dummies.AnyContext.Uri() -> Dummies.AnyUri! -Dummies.AnyDateTime -Dummies.AnyDateTime.After(System.DateTime instant) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.AfterOrEqualTo(System.DateTime instant) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.Before(System.DateTime instant) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.BeforeOrEqualTo(System.DateTime instant) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.Between(System.DateTime start, System.DateTime end) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.DifferentFrom(System.DateTime value) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.Except(params System.DateTime[]! values) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.Generate() -> System.DateTime -Dummies.AnyDateTime.OneOf(params System.DateTime[]! values) -> Dummies.AnyDateTime! -Dummies.AnyDateTime.WithGranularity(System.TimeSpan granularity) -> Dummies.AnyDateTime! -Dummies.AnyDateTimeOffset -Dummies.AnyDateTimeOffset.After(System.DateTimeOffset instant) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.AfterOrEqualTo(System.DateTimeOffset instant) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.Before(System.DateTimeOffset instant) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.BeforeOrEqualTo(System.DateTimeOffset instant) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.Between(System.DateTimeOffset start, System.DateTimeOffset end) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.DifferentFrom(System.DateTimeOffset value) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.Except(params System.DateTimeOffset[]! values) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.Generate() -> System.DateTimeOffset -Dummies.AnyDateTimeOffset.OneOf(params System.DateTimeOffset[]! values) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.WithGranularity(System.TimeSpan granularity) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.WithOffset(System.TimeSpan offset) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDateTimeOffset.WithOffsetBetween(System.TimeSpan minimum, System.TimeSpan maximum) -> Dummies.AnyDateTimeOffset! -Dummies.AnyDecimal -Dummies.AnyDecimal.Between(decimal minimum, decimal maximum) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.DifferentFrom(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Except(params decimal[]! values) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Generate() -> decimal -Dummies.AnyDecimal.GreaterThan(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.GreaterThanOrEqualTo(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.LessThan(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.LessThanOrEqualTo(decimal value) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Negative() -> Dummies.AnyDecimal! -Dummies.AnyDecimal.NonZero() -> Dummies.AnyDecimal! -Dummies.AnyDecimal.OneOf(params decimal[]! values) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Positive() -> Dummies.AnyDecimal! -Dummies.AnyDecimal.WithScale(int scale) -> Dummies.AnyDecimal! -Dummies.AnyDecimal.Zero() -> Dummies.AnyDecimal! -Dummies.AnyDictionary -Dummies.AnyDictionary.ContainingAnyKey(Dummies.IAny! generator) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.ContainingEntry(TKey key, TValue value) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.ContainingKey(TKey key) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.Empty() -> Dummies.AnyDictionary! -Dummies.AnyDictionary.Generate() -> System.Collections.Generic.Dictionary! -Dummies.AnyDictionary.NonEmpty() -> Dummies.AnyDictionary! -Dummies.AnyDictionary.WithCount(int count) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.WithCountBetween(int minimum, int maximum) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.WithMaxCount(int count) -> Dummies.AnyDictionary! -Dummies.AnyDictionary.WithMinCount(int count) -> Dummies.AnyDictionary! -Dummies.AnyDouble -Dummies.AnyDouble.Between(double minimum, double maximum) -> Dummies.AnyDouble! -Dummies.AnyDouble.DifferentFrom(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.Except(params double[]! values) -> Dummies.AnyDouble! -Dummies.AnyDouble.Generate() -> double -Dummies.AnyDouble.GreaterThan(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.GreaterThanOrEqualTo(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.LessThan(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.LessThanOrEqualTo(double value) -> Dummies.AnyDouble! -Dummies.AnyDouble.Negative() -> Dummies.AnyDouble! -Dummies.AnyDouble.NonZero() -> Dummies.AnyDouble! -Dummies.AnyDouble.OneOf(params double[]! values) -> Dummies.AnyDouble! -Dummies.AnyDouble.Positive() -> Dummies.AnyDouble! -Dummies.AnyDouble.Zero() -> Dummies.AnyDouble! -Dummies.AnyEnum -Dummies.AnyEnum.DifferentFrom(TEnum value) -> Dummies.AnyEnum! -Dummies.AnyEnum.Except(params TEnum[]! values) -> Dummies.AnyEnum! -Dummies.AnyEnum.Generate() -> TEnum -Dummies.AnyEnum.OneOf(params TEnum[]! values) -> Dummies.AnyEnum! -Dummies.AnyException -Dummies.AnyException.AnyException(string! message) -> void -Dummies.AnyException.AnyException(string! message, System.Exception! innerException) -> void -Dummies.AnyExtensions -Dummies.AnyFtpUri -Dummies.AnyFtpUri.Generate() -> System.Uri! -Dummies.AnyFtpUri.WithHost(string! host) -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithoutPath() -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithPathSegments(int count) -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithPort() -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithPort(int port) -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithUserInfo() -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithUserInfo(string! user) -> Dummies.AnyFtpUri! -Dummies.AnyFtpUri.WithUserInfo(string! user, string! password) -> Dummies.AnyFtpUri! -Dummies.AnyGenerationException -Dummies.AnyGenerationException.AnyGenerationException(string! message) -> void -Dummies.AnyGenerationException.AnyGenerationException(string! message, System.Exception! innerException) -> void -Dummies.AnyGenerationException.Seed.get -> int? -Dummies.AnyGuid -Dummies.AnyGuid.DifferentFrom(System.Guid value) -> Dummies.AnyGuid! -Dummies.AnyGuid.Empty() -> Dummies.AnyGuid! -Dummies.AnyGuid.Except(params System.Guid[]! values) -> Dummies.AnyGuid! -Dummies.AnyGuid.Generate() -> System.Guid -Dummies.AnyGuid.NonEmpty() -> Dummies.AnyGuid! -Dummies.AnyGuid.OneOf(params System.Guid[]! values) -> Dummies.AnyGuid! -Dummies.AnyInt16 -Dummies.AnyInt16.Between(short minimum, short maximum) -> Dummies.AnyInt16! -Dummies.AnyInt16.DifferentFrom(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.Except(params short[]! values) -> Dummies.AnyInt16! -Dummies.AnyInt16.Generate() -> short -Dummies.AnyInt16.GreaterThan(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.GreaterThanOrEqualTo(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.LessThan(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.LessThanOrEqualTo(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.MultipleOf(short value) -> Dummies.AnyInt16! -Dummies.AnyInt16.Negative() -> Dummies.AnyInt16! -Dummies.AnyInt16.NonZero() -> Dummies.AnyInt16! -Dummies.AnyInt16.OneOf(params short[]! values) -> Dummies.AnyInt16! -Dummies.AnyInt16.Positive() -> Dummies.AnyInt16! -Dummies.AnyInt16.Zero() -> Dummies.AnyInt16! -Dummies.AnyInt32 -Dummies.AnyInt32.Between(int minimum, int maximum) -> Dummies.AnyInt32! -Dummies.AnyInt32.DifferentFrom(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.Except(params int[]! values) -> Dummies.AnyInt32! -Dummies.AnyInt32.Generate() -> int -Dummies.AnyInt32.GreaterThan(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.GreaterThanOrEqualTo(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.LessThan(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.LessThanOrEqualTo(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.MultipleOf(int value) -> Dummies.AnyInt32! -Dummies.AnyInt32.Negative() -> Dummies.AnyInt32! -Dummies.AnyInt32.NonZero() -> Dummies.AnyInt32! -Dummies.AnyInt32.OneOf(params int[]! values) -> Dummies.AnyInt32! -Dummies.AnyInt32.Positive() -> Dummies.AnyInt32! -Dummies.AnyInt32.Zero() -> Dummies.AnyInt32! -Dummies.AnyInt64 -Dummies.AnyInt64.Between(long minimum, long maximum) -> Dummies.AnyInt64! -Dummies.AnyInt64.DifferentFrom(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.Except(params long[]! values) -> Dummies.AnyInt64! -Dummies.AnyInt64.Generate() -> long -Dummies.AnyInt64.GreaterThan(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.GreaterThanOrEqualTo(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.LessThan(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.LessThanOrEqualTo(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.MultipleOf(long value) -> Dummies.AnyInt64! -Dummies.AnyInt64.Negative() -> Dummies.AnyInt64! -Dummies.AnyInt64.NonZero() -> Dummies.AnyInt64! -Dummies.AnyInt64.OneOf(params long[]! values) -> Dummies.AnyInt64! -Dummies.AnyInt64.Positive() -> Dummies.AnyInt64! -Dummies.AnyInt64.Zero() -> Dummies.AnyInt64! -Dummies.AnyList -Dummies.AnyList.Distinct() -> Dummies.AnyList! -Dummies.AnyList.Distinct(System.Collections.Generic.IEqualityComparer! comparer) -> Dummies.AnyList! -Dummies.AnyMailtoUri -Dummies.AnyMailtoUri.Generate() -> System.Uri! -Dummies.AnyMailtoUri.WithDomain(string! domain) -> Dummies.AnyMailtoUri! -Dummies.AnyMailtoUri.WithHeaders() -> Dummies.AnyMailtoUri! -Dummies.AnyMailtoUri.WithLocalPart(string! localPart) -> Dummies.AnyMailtoUri! -Dummies.AnyOneOf -Dummies.AnyOneOf.Generate() -> T -Dummies.AnyPattern -Dummies.AnyPattern.Generate() -> string! -Dummies.AnyRelativeUri -Dummies.AnyRelativeUri.Generate() -> System.Uri! -Dummies.AnyRelativeUri.Rooted() -> Dummies.AnyRelativeUri! -Dummies.AnyRelativeUri.WithFragment() -> Dummies.AnyRelativeUri! -Dummies.AnyRelativeUri.WithPathSegments(int count) -> Dummies.AnyRelativeUri! -Dummies.AnyRelativeUri.WithQuery() -> Dummies.AnyRelativeUri! -Dummies.AnySByte -Dummies.AnySByte.Between(sbyte minimum, sbyte maximum) -> Dummies.AnySByte! -Dummies.AnySByte.DifferentFrom(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.Except(params sbyte[]! values) -> Dummies.AnySByte! -Dummies.AnySByte.Generate() -> sbyte -Dummies.AnySByte.GreaterThan(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.GreaterThanOrEqualTo(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.LessThan(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.LessThanOrEqualTo(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.MultipleOf(sbyte value) -> Dummies.AnySByte! -Dummies.AnySByte.Negative() -> Dummies.AnySByte! -Dummies.AnySByte.NonZero() -> Dummies.AnySByte! -Dummies.AnySByte.OneOf(params sbyte[]! values) -> Dummies.AnySByte! -Dummies.AnySByte.Positive() -> Dummies.AnySByte! -Dummies.AnySByte.Zero() -> Dummies.AnySByte! -Dummies.AnySequence -Dummies.AnySequence.Distinct() -> Dummies.AnySequence! -Dummies.AnySequence.Distinct(System.Collections.Generic.IEqualityComparer! comparer) -> Dummies.AnySequence! -Dummies.AnySet -Dummies.AnySingle -Dummies.AnySingle.Between(float minimum, float maximum) -> Dummies.AnySingle! -Dummies.AnySingle.DifferentFrom(float value) -> Dummies.AnySingle! -Dummies.AnySingle.Except(params float[]! values) -> Dummies.AnySingle! -Dummies.AnySingle.Generate() -> float -Dummies.AnySingle.GreaterThan(float value) -> Dummies.AnySingle! -Dummies.AnySingle.GreaterThanOrEqualTo(float value) -> Dummies.AnySingle! -Dummies.AnySingle.LessThan(float value) -> Dummies.AnySingle! -Dummies.AnySingle.LessThanOrEqualTo(float value) -> Dummies.AnySingle! -Dummies.AnySingle.Negative() -> Dummies.AnySingle! -Dummies.AnySingle.NonZero() -> Dummies.AnySingle! -Dummies.AnySingle.OneOf(params float[]! values) -> Dummies.AnySingle! -Dummies.AnySingle.Positive() -> Dummies.AnySingle! -Dummies.AnySingle.Zero() -> Dummies.AnySingle! -Dummies.AnyString -Dummies.AnyString.Alpha() -> Dummies.AnyString! -Dummies.AnyString.AlphaNumeric() -> Dummies.AnyString! -Dummies.AnyString.Containing(string! value) -> Dummies.AnyString! -Dummies.AnyString.DifferentFrom(string! value) -> Dummies.AnyString! -Dummies.AnyString.EndingWith(string! suffix) -> Dummies.AnyString! -Dummies.AnyString.Except(params string![]! values) -> Dummies.AnyString! -Dummies.AnyString.Generate() -> string! -Dummies.AnyString.LowerCase() -> Dummies.AnyString! -Dummies.AnyString.NonEmpty() -> Dummies.AnyString! -Dummies.AnyString.Numeric() -> Dummies.AnyString! -Dummies.AnyString.OneOf(params string![]! values) -> Dummies.AnyStringOneOf! -Dummies.AnyString.OneOf(System.Collections.Generic.IEnumerable! values) -> Dummies.AnyStringOneOf! -Dummies.AnyString.StartingWith(string! prefix) -> Dummies.AnyString! -Dummies.AnyString.UpperCase() -> Dummies.AnyString! -Dummies.AnyString.WithChars(string! pool) -> Dummies.AnyString! -Dummies.AnyString.WithLength(int length) -> Dummies.AnyString! -Dummies.AnyString.WithLengthBetween(int minimum, int maximum) -> Dummies.AnyString! -Dummies.AnyString.WithMaxLength(int length) -> Dummies.AnyString! -Dummies.AnyString.WithMinLength(int length) -> Dummies.AnyString! -Dummies.AnyStringOneOf -Dummies.AnyStringOneOf.Generate() -> string! -Dummies.AnyTimeSpan -Dummies.AnyTimeSpan.Between(System.TimeSpan minimum, System.TimeSpan maximum) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.DifferentFrom(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Except(params System.TimeSpan[]! values) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Generate() -> System.TimeSpan -Dummies.AnyTimeSpan.GreaterThan(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.GreaterThanOrEqualTo(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.LessThan(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.LessThanOrEqualTo(System.TimeSpan value) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Negative() -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.NonZero() -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.OneOf(params System.TimeSpan[]! values) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Positive() -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.WithGranularity(System.TimeSpan granularity) -> Dummies.AnyTimeSpan! -Dummies.AnyTimeSpan.Zero() -> Dummies.AnyTimeSpan! -Dummies.AnyUInt16 -Dummies.AnyUInt16.Between(ushort minimum, ushort maximum) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.DifferentFrom(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.Except(params ushort[]! values) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.Generate() -> ushort -Dummies.AnyUInt16.GreaterThan(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.GreaterThanOrEqualTo(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.LessThan(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.LessThanOrEqualTo(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.MultipleOf(ushort value) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.NonZero() -> Dummies.AnyUInt16! -Dummies.AnyUInt16.OneOf(params ushort[]! values) -> Dummies.AnyUInt16! -Dummies.AnyUInt16.Zero() -> Dummies.AnyUInt16! -Dummies.AnyUInt32 -Dummies.AnyUInt32.Between(uint minimum, uint maximum) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.DifferentFrom(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.Except(params uint[]! values) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.Generate() -> uint -Dummies.AnyUInt32.GreaterThan(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.GreaterThanOrEqualTo(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.LessThan(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.LessThanOrEqualTo(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.MultipleOf(uint value) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.NonZero() -> Dummies.AnyUInt32! -Dummies.AnyUInt32.OneOf(params uint[]! values) -> Dummies.AnyUInt32! -Dummies.AnyUInt32.Zero() -> Dummies.AnyUInt32! -Dummies.AnyUInt64 -Dummies.AnyUInt64.Between(ulong minimum, ulong maximum) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.DifferentFrom(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.Except(params ulong[]! values) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.Generate() -> ulong -Dummies.AnyUInt64.GreaterThan(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.GreaterThanOrEqualTo(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.LessThan(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.LessThanOrEqualTo(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.MultipleOf(ulong value) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.NonZero() -> Dummies.AnyUInt64! -Dummies.AnyUInt64.OneOf(params ulong[]! values) -> Dummies.AnyUInt64! -Dummies.AnyUInt64.Zero() -> Dummies.AnyUInt64! -Dummies.AnyUri -Dummies.AnyUri.Ftp() -> Dummies.AnyFtpUri! -Dummies.AnyUri.Generate() -> System.Uri! -Dummies.AnyUri.Mailto() -> Dummies.AnyMailtoUri! -Dummies.AnyUri.Relative() -> Dummies.AnyRelativeUri! -Dummies.AnyUri.Web() -> Dummies.AnyWebUri! -Dummies.AnyUri.WebSocket() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri -Dummies.AnyWebSocketUri.Generate() -> System.Uri! -Dummies.AnyWebSocketUri.UsingWs() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.UsingWss() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithHost(string! host) -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithoutPath() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithPathSegments(int count) -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithPort() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithPort(int port) -> Dummies.AnyWebSocketUri! -Dummies.AnyWebSocketUri.WithQuery() -> Dummies.AnyWebSocketUri! -Dummies.AnyWebUri -Dummies.AnyWebUri.Generate() -> System.Uri! -Dummies.AnyWebUri.UsingHttp() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.UsingHttps() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithFragment() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithHost(string! host) -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithoutPath() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithPathSegments(int count) -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithPort() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithPort(int port) -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithQuery() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithUserInfo() -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithUserInfo(string! user) -> Dummies.AnyWebUri! -Dummies.AnyWebUri.WithUserInfo(string! user, string! password) -> Dummies.AnyWebUri! -Dummies.ConflictingAnyConstraintException -Dummies.ConflictingAnyConstraintException.ConflictingAnyConstraintException(string! message) -> void -Dummies.IAny -Dummies.IAny.Generate() -> T -Dummies.NullableExtensions -Dummies.NullableReferenceExtensions -Dummies.UnsupportedRegexException -Dummies.UnsupportedRegexException.UnsupportedRegexException(string! message) -> void -static Dummies.Any.ArrayOf(Dummies.IAny! item) -> Dummies.AnyArray! -static Dummies.Any.Boolean() -> Dummies.AnyBoolean! -static Dummies.Any.Byte() -> Dummies.AnyByte! -static Dummies.Any.Char() -> Dummies.AnyChar! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, Dummies.IAny! fifth, Dummies.IAny! sixth, Dummies.IAny! seventh, Dummies.IAny! eighth, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, Dummies.IAny! fifth, Dummies.IAny! sixth, Dummies.IAny! seventh, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, Dummies.IAny! fifth, Dummies.IAny! sixth, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, Dummies.IAny! fifth, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, Dummies.IAny! fourth, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.Combine(Dummies.IAny! first, Dummies.IAny! second, System.Func! compose) -> Dummies.IAny! -static Dummies.Any.DateTime() -> Dummies.AnyDateTime! -static Dummies.Any.DateTimeOffset() -> Dummies.AnyDateTimeOffset! -static Dummies.Any.Decimal() -> Dummies.AnyDecimal! -static Dummies.Any.DictionaryOf(Dummies.IAny! keys, Dummies.IAny! values) -> Dummies.AnyDictionary! -static Dummies.Any.DictionaryOf(Dummies.IAny! keys, Dummies.IAny! values, System.Collections.Generic.IEqualityComparer! keyComparer) -> Dummies.AnyDictionary! -static Dummies.Any.Double() -> Dummies.AnyDouble! -static Dummies.Any.ElementOf(System.Collections.Generic.IEnumerable! values) -> Dummies.AnyOneOf! -static Dummies.Any.ElementOf(System.Collections.Generic.IReadOnlyList! values) -> Dummies.AnyOneOf! -static Dummies.Any.Enum() -> Dummies.AnyEnum! -static Dummies.Any.Guid() -> Dummies.AnyGuid! -static Dummies.Any.Int16() -> Dummies.AnyInt16! -static Dummies.Any.Int32() -> Dummies.AnyInt32! -static Dummies.Any.Int64() -> Dummies.AnyInt64! -static Dummies.Any.ListOf(Dummies.IAny! item) -> Dummies.AnyList! -static Dummies.Any.OneOf(params T[]! values) -> Dummies.AnyOneOf! -static Dummies.Any.PairOf(Dummies.IAny! first, Dummies.IAny! second) -> Dummies.IAny<(T1, T2)>! -static Dummies.Any.Reproducibly(int seed, System.Action! body, System.Action? report = null) -> void -static Dummies.Any.Reproducibly(int seed, System.Func! body, System.Action? report = null) -> System.Threading.Tasks.Task! -static Dummies.Any.Reproducibly(System.Action! body, System.Action? report = null) -> void -static Dummies.Any.Reproducibly(System.Func! body, System.Action? report = null) -> System.Threading.Tasks.Task! -static Dummies.Any.SByte() -> Dummies.AnySByte! -static Dummies.Any.SequenceOf(Dummies.IAny! item) -> Dummies.AnySequence! -static Dummies.Any.SetOf(Dummies.IAny! item) -> Dummies.AnySet! -static Dummies.Any.SetOf(Dummies.IAny! item, System.Collections.Generic.IEqualityComparer! comparer) -> Dummies.AnySet! -static Dummies.Any.Single() -> Dummies.AnySingle! -static Dummies.Any.String() -> Dummies.AnyString! -static Dummies.Any.StringMatching(string! pattern) -> Dummies.AnyPattern! -static Dummies.Any.StringMatching(System.Text.RegularExpressions.Regex! pattern) -> Dummies.AnyPattern! -static Dummies.Any.TimeSpan() -> Dummies.AnyTimeSpan! -static Dummies.Any.TripleOf(Dummies.IAny! first, Dummies.IAny! second, Dummies.IAny! third) -> Dummies.IAny<(T1, T2, T3)>! -static Dummies.Any.UInt16() -> Dummies.AnyUInt16! -static Dummies.Any.UInt32() -> Dummies.AnyUInt32! -static Dummies.Any.UInt64() -> Dummies.AnyUInt64! -static Dummies.Any.Uri() -> Dummies.AnyUri! -static Dummies.Any.UseSeed(int seed) -> System.IDisposable! -static Dummies.Any.UseSeed(int seed, string! replaySnippet) -> System.IDisposable! -static Dummies.Any.WithSeed(int seed) -> Dummies.AnyContext! -static Dummies.AnyExtensions.As(this Dummies.IAny! generator, System.Func! factory) -> Dummies.IAny! -static Dummies.NullableExtensions.OrNull(this Dummies.IAny! generator) -> Dummies.IAny! -static Dummies.NullableReferenceExtensions.OrNull(this Dummies.IAny! generator) -> Dummies.IAny! diff --git a/FirstClassErrors.RequestBinder.UnitTests/FirstClassErrors.RequestBinder.UnitTests.csproj b/FirstClassErrors.RequestBinder.UnitTests/FirstClassErrors.RequestBinder.UnitTests.csproj index ec5f4f29..7d84bdb4 100644 --- a/FirstClassErrors.RequestBinder.UnitTests/FirstClassErrors.RequestBinder.UnitTests.csproj +++ b/FirstClassErrors.RequestBinder.UnitTests/FirstClassErrors.RequestBinder.UnitTests.csproj @@ -26,9 +26,9 @@ - - + + diff --git a/FirstClassErrors.Testing.UnitTests/ClockUseAnyTests.cs b/FirstClassErrors.Testing.UnitTests/ClockUseAnyTests.cs index b68342a5..6e6367bb 100644 --- a/FirstClassErrors.Testing.UnitTests/ClockUseAnyTests.cs +++ b/FirstClassErrors.Testing.UnitTests/ClockUseAnyTests.cs @@ -31,15 +31,15 @@ public void UseAnyFreezesASingleInstant() { } } - [Fact(DisplayName = "Inside Dummies.Any.Reproducibly, Clock.UseAny picks the same instant for a given seed.")] + [Fact(DisplayName = "Inside JustDummies.Any.Reproducibly, Clock.UseAny picks the same instant for a given seed.")] public void UseAnyIsReproducibleUnderAReproduciblyScope() { DateTimeOffset first = default; DateTimeOffset second = default; - Dummies.Any.Reproducibly(42, () => { + JustDummies.Any.Reproducibly(42, () => { using (Clock.UseAny()) { first = AnError().OccurredAt; } }); - Dummies.Any.Reproducibly(42, () => { + JustDummies.Any.Reproducibly(42, () => { using (Clock.UseAny()) { second = AnError().OccurredAt; } }); diff --git a/FirstClassErrors.Testing.UnitTests/FirstClassErrors.Testing.UnitTests.csproj b/FirstClassErrors.Testing.UnitTests/FirstClassErrors.Testing.UnitTests.csproj index b847a7b3..df15035a 100644 --- a/FirstClassErrors.Testing.UnitTests/FirstClassErrors.Testing.UnitTests.csproj +++ b/FirstClassErrors.Testing.UnitTests/FirstClassErrors.Testing.UnitTests.csproj @@ -25,7 +25,7 @@ - + diff --git a/FirstClassErrors.Testing.UnitTests/InstanceIdsUseAnyTests.cs b/FirstClassErrors.Testing.UnitTests/InstanceIdsUseAnyTests.cs index 666f0330..c921e295 100644 --- a/FirstClassErrors.Testing.UnitTests/InstanceIdsUseAnyTests.cs +++ b/FirstClassErrors.Testing.UnitTests/InstanceIdsUseAnyTests.cs @@ -31,20 +31,20 @@ public void UseAnyAssignsDistinctIds() { } } - [Fact(DisplayName = "Inside Dummies.Any.Reproducibly, InstanceIds.UseAny reproduces the same id sequence for a given seed.")] + [Fact(DisplayName = "Inside JustDummies.Any.Reproducibly, InstanceIds.UseAny reproduces the same id sequence for a given seed.")] public void UseAnyIsReproducibleUnderAReproduciblyScope() { Guid firstRunA = Guid.Empty; Guid firstRunB = Guid.Empty; Guid secondRunA = Guid.Empty; Guid secondRunB = Guid.Empty; - Dummies.Any.Reproducibly(7, () => { + JustDummies.Any.Reproducibly(7, () => { using (InstanceIds.UseAny()) { firstRunA = AnError().InstanceId; firstRunB = AnError().InstanceId; } }); - Dummies.Any.Reproducibly(7, () => { + JustDummies.Any.Reproducibly(7, () => { using (InstanceIds.UseAny()) { secondRunA = AnError().InstanceId; secondRunB = AnError().InstanceId; diff --git a/FirstClassErrors.Testing.UnitTests/MeaningfulEnumFactoryTests.cs b/FirstClassErrors.Testing.UnitTests/MeaningfulEnumFactoryTests.cs index 7eee9b26..a94a00e5 100644 --- a/FirstClassErrors.Testing.UnitTests/MeaningfulEnumFactoryTests.cs +++ b/FirstClassErrors.Testing.UnitTests/MeaningfulEnumFactoryTests.cs @@ -10,7 +10,7 @@ namespace FirstClassErrors.Testing.UnitTests; /// /// Contract tests for the meaningful-enum factories: they must never yield the Unknown sentinel, which is -/// the whole reason they exist next to a plain Dummies.Any.Enum<T>() draw. +/// the whole reason they exist next to a plain JustDummies.Any.Enum<T>() draw. /// public sealed class MeaningfulEnumFactoryTests { diff --git a/FirstClassErrors.Testing/Clock.cs b/FirstClassErrors.Testing/Clock.cs index 38efe447..14abd3d4 100644 --- a/FirstClassErrors.Testing/Clock.cs +++ b/FirstClassErrors.Testing/Clock.cs @@ -55,13 +55,13 @@ public static IDisposable UseFixed(DateTimeOffset instant) { /// /// /// The instant is drawn once, when this method is called, and stays fixed for every error created within the - /// scope — the same freezing behavior as . The value is drawn from Dummies' ambient - /// random context; run the test inside Dummies.Any.Reproducibly(...) to make the chosen instant + /// scope — the same freezing behavior as . The value is drawn from JustDummies' ambient + /// random context; run the test inside JustDummies.Any.Reproducibly(...) to make the chosen instant /// reproducible and reported on failure. /// /// A scope that restores the real system clock when disposed. public static IDisposable UseAny() { - return UseFixed(Dummies.Any.DateTimeOffset().Generate()); + return UseFixed(JustDummies.Any.DateTimeOffset().Generate()); } } diff --git a/FirstClassErrors.Testing/DetailedMessageFactory.cs b/FirstClassErrors.Testing/DetailedMessageFactory.cs index 137a38d9..0443a346 100644 --- a/FirstClassErrors.Testing/DetailedMessageFactory.cs +++ b/FirstClassErrors.Testing/DetailedMessageFactory.cs @@ -3,14 +3,14 @@ namespace FirstClassErrors.Testing; /// /// Supplies an arbitrary, non-blank public detailed message for tests that need some detailed text but do /// not assert on it. The value reads as arbitrary (for example Any detailed message 7F3A9C.) and is drawn -/// from Dummies' ambient random context, so a test wrapped in Dummies.Any.Reproducibly(...) replays it. +/// from JustDummies' ambient random context, so a test wrapped in JustDummies.Any.Reproducibly(...) replays it. /// public static class DetailedMessageFactory { /// Returns an arbitrary, non-blank detailed message. /// An arbitrary detailed message. public static string Any() { - return "Any detailed message " + Dummies.Any.String().WithLength(6).Generate() + "."; + return "Any detailed message " + JustDummies.Any.String().WithLength(6).Generate() + "."; } } diff --git a/FirstClassErrors.Testing/DiagnosticMessageFactory.cs b/FirstClassErrors.Testing/DiagnosticMessageFactory.cs index 91ec652f..b6b3744c 100644 --- a/FirstClassErrors.Testing/DiagnosticMessageFactory.cs +++ b/FirstClassErrors.Testing/DiagnosticMessageFactory.cs @@ -3,14 +3,14 @@ namespace FirstClassErrors.Testing; /// /// Supplies an arbitrary, non-blank internal diagnostic message for tests that need some diagnostic text but /// do not assert on it. The value reads as arbitrary (for example Any diagnostic message 7F3A9C.) and is -/// drawn from Dummies' ambient random context, so a test wrapped in Dummies.Any.Reproducibly(...) replays it. +/// drawn from JustDummies' ambient random context, so a test wrapped in JustDummies.Any.Reproducibly(...) replays it. /// public static class DiagnosticMessageFactory { /// Returns an arbitrary, non-blank diagnostic message. /// An arbitrary diagnostic message. public static string Any() { - return "Any diagnostic message " + Dummies.Any.String().WithLength(6).Generate() + "."; + return "Any diagnostic message " + JustDummies.Any.String().WithLength(6).Generate() + "."; } } diff --git a/FirstClassErrors.Testing/ErrorCodeFactory.cs b/FirstClassErrors.Testing/ErrorCodeFactory.cs index 7fe92299..6a6b9a8d 100644 --- a/FirstClassErrors.Testing/ErrorCodeFactory.cs +++ b/FirstClassErrors.Testing/ErrorCodeFactory.cs @@ -1,6 +1,6 @@ #region Usings declarations -using Dummies; +using JustDummies; #endregion @@ -10,8 +10,8 @@ namespace FirstClassErrors.Testing; /// Supplies an arbitrary, valid for the parts of a test that need some code but /// never assert on it — an explicit ErrorCodeFactory.Any() call reads as "this code is arbitrary" where a hand-picked /// literal reads as "this matters". The value is shaped like ANY_CODE_7F3A9C so it is recognizable as -/// arbitrary in a failure message, and it is drawn from Dummies' ambient random context: wrap the test in -/// Dummies.Any.Reproducibly(...) to make the chosen code reproducible and reported on failure. +/// arbitrary in a failure message, and it is drawn from JustDummies' ambient random context: wrap the test in +/// JustDummies.Any.Reproducibly(...) to make the chosen code reproducible and reported on failure. /// public static class ErrorCodeFactory { @@ -21,7 +21,7 @@ public static class ErrorCodeFactory { /// /// An arbitrary error code. public static ErrorCode Any() { - return Dummies.Any.StringMatching("ANY_CODE_[A-Z0-9]{6}").As(ErrorCode.Create).Generate(); + return JustDummies.Any.StringMatching("ANY_CODE_[A-Z0-9]{6}").As(ErrorCode.Create).Generate(); } } diff --git a/FirstClassErrors.Testing/ErrorOriginFactory.cs b/FirstClassErrors.Testing/ErrorOriginFactory.cs index c0b8ac4a..242c960a 100644 --- a/FirstClassErrors.Testing/ErrorOriginFactory.cs +++ b/FirstClassErrors.Testing/ErrorOriginFactory.cs @@ -2,14 +2,14 @@ namespace FirstClassErrors.Testing; /// /// Supplies an arbitrary , uniformly across all of its members, for tests that need -/// some origin but do not assert on it. Drawn from Dummies' ambient random context. +/// some origin but do not assert on it. Drawn from JustDummies' ambient random context. /// public static class ErrorOriginFactory { /// Returns an arbitrary . /// An arbitrary error origin. public static ErrorOrigin Any() { - return Dummies.Any.Enum().Generate(); + return JustDummies.Any.Enum().Generate(); } } diff --git a/FirstClassErrors.Testing/FirstClassErrors.Testing.csproj b/FirstClassErrors.Testing/FirstClassErrors.Testing.csproj index 4d5f5c0f..6ab9ddf7 100644 --- a/FirstClassErrors.Testing/FirstClassErrors.Testing.csproj +++ b/FirstClassErrors.Testing/FirstClassErrors.Testing.csproj @@ -56,21 +56,21 @@ - - + switch to a NuGet PackageReference once JustDummies is published. --> + - + - $(TargetsForTfmSpecificBuildOutput);IncludeDummiesInPackage + $(TargetsForTfmSpecificBuildOutput);IncludeJustDummiesInPackage - + - + diff --git a/FirstClassErrors.Testing/InstanceIds.cs b/FirstClassErrors.Testing/InstanceIds.cs index 8162ea01..37f71236 100644 --- a/FirstClassErrors.Testing/InstanceIds.cs +++ b/FirstClassErrors.Testing/InstanceIds.cs @@ -61,13 +61,13 @@ public static IDisposable UseSequential() { /// /// /// Each error created within the scope gets its own fresh arbitrary id (as in production, several errors do not - /// collide), drawn from Dummies' ambient random context rather than . Run the - /// test inside Dummies.Any.Reproducibly(...) to make the sequence reproducible and reported on failure. To + /// collide), drawn from JustDummies' ambient random context rather than . Run the + /// test inside JustDummies.Any.Reproducibly(...) to make the sequence reproducible and reported on failure. To /// pin a single fixed id instead, use . /// /// A scope that restores the default (random) identifier when disposed. public static IDisposable UseAny() { - return Use(() => Dummies.Any.Guid().Generate()); + return Use(() => JustDummies.Any.Guid().Generate()); } } diff --git a/FirstClassErrors.Testing/InteractionDirectionFactory.cs b/FirstClassErrors.Testing/InteractionDirectionFactory.cs index 8200b686..df3e1340 100644 --- a/FirstClassErrors.Testing/InteractionDirectionFactory.cs +++ b/FirstClassErrors.Testing/InteractionDirectionFactory.cs @@ -4,7 +4,7 @@ namespace FirstClassErrors.Testing; /// Supplies an arbitrary meaningful — /// or , never the /// sentinel — for tests that need some direction but do not -/// assert on it. Drawn from Dummies' ambient random context. +/// assert on it. Drawn from JustDummies' ambient random context. /// public static class InteractionDirectionFactory { @@ -13,7 +13,7 @@ public static class InteractionDirectionFactory { /// /// An arbitrary meaningful interaction direction. public static InteractionDirection Any() { - return Dummies.Any.Enum().Except(InteractionDirection.Unknown).Generate(); + return JustDummies.Any.Enum().Except(InteractionDirection.Unknown).Generate(); } } diff --git a/FirstClassErrors.Testing/README.nuget.md b/FirstClassErrors.Testing/README.nuget.md index 1926d055..5a8867e7 100644 --- a/FirstClassErrors.Testing/README.nuget.md +++ b/FirstClassErrors.Testing/README.nuget.md @@ -15,8 +15,8 @@ Testing helpers for **FirstClassErrors** — so your tests about errors and outc for snapshot and equality assertions. - **Arbitrary-value factories** (`ErrorCodeFactory.Any()`, `DiagnosticMessageFactory.Any()`, ...) for the error inputs a test needs but never asserts on, built on the companion - **Dummies** generator library (use `Dummies.Any.*` for arbitrary primitives). Wrap a - value-sensitive test in `Dummies.Any.Reproducibly(...)` and a failing run reports the seed + **JustDummies** generator library (use `JustDummies.Any.*` for arbitrary primitives). Wrap a + value-sensitive test in `JustDummies.Any.Reproducibly(...)` and a failing run reports the seed to replay; `Clock.UseAny()` / `InstanceIds.UseAny()` draw from the same source. Overrides are scoped (`using`), context-local (safe under parallel tests), and never diff --git a/FirstClassErrors.Testing/ShortMessageFactory.cs b/FirstClassErrors.Testing/ShortMessageFactory.cs index 09410d5a..b1eae129 100644 --- a/FirstClassErrors.Testing/ShortMessageFactory.cs +++ b/FirstClassErrors.Testing/ShortMessageFactory.cs @@ -3,14 +3,14 @@ namespace FirstClassErrors.Testing; /// /// Supplies an arbitrary, non-blank public short message for tests that need some short text but do not /// assert on it. The value reads as arbitrary (for example Any short message 7F3A9C.) and is drawn from -/// Dummies' ambient random context, so a test wrapped in Dummies.Any.Reproducibly(...) replays it. +/// JustDummies' ambient random context, so a test wrapped in JustDummies.Any.Reproducibly(...) replays it. /// public static class ShortMessageFactory { /// Returns an arbitrary, non-blank short message. /// An arbitrary short message. public static string Any() { - return "Any short message " + Dummies.Any.String().WithLength(6).Generate() + "."; + return "Any short message " + JustDummies.Any.String().WithLength(6).Generate() + "."; } } diff --git a/FirstClassErrors.Testing/TransienceFactory.cs b/FirstClassErrors.Testing/TransienceFactory.cs index 65834f6c..a919245f 100644 --- a/FirstClassErrors.Testing/TransienceFactory.cs +++ b/FirstClassErrors.Testing/TransienceFactory.cs @@ -3,7 +3,7 @@ namespace FirstClassErrors.Testing; /// /// Supplies an arbitrary meaningful or /// , never the sentinel — for tests that -/// need some classification but do not assert on it. Drawn from Dummies' ambient random context. +/// need some classification but do not assert on it. Drawn from JustDummies' ambient random context. /// public static class TransienceFactory { @@ -12,7 +12,7 @@ public static class TransienceFactory { /// /// An arbitrary meaningful transience. public static Transience Any() { - return Dummies.Any.Enum().Except(Transience.Unknown).Generate(); + return JustDummies.Any.Enum().Except(Transience.Unknown).Generate(); } } diff --git a/FirstClassErrors.UnitTests/ErrorContextImmutabilityTests.cs b/FirstClassErrors.UnitTests/ErrorContextImmutabilityTests.cs index aecce2f0..4f66259d 100644 --- a/FirstClassErrors.UnitTests/ErrorContextImmutabilityTests.cs +++ b/FirstClassErrors.UnitTests/ErrorContextImmutabilityTests.cs @@ -34,7 +34,7 @@ public void TheContextValuesAreReadOnlyAndCannotBeMutated() { // Setup ErrorContextKey key = ErrorContextKey.Create("K"); ErrorContext context = DomainError.Create(ErrorCodeFactory.Any(), DiagnosticMessageFactory.Any(), - ctx => ctx.Add(key, Dummies.Any.String().NonEmpty().Generate())).WithPublicMessage(ShortMessageFactory.Any()).Context; + ctx => ctx.Add(key, JustDummies.Any.String().NonEmpty().Generate())).WithPublicMessage(ShortMessageFactory.Any()).Context; // Exercise & verify Check.ThatCode(() => ((IDictionary)context.Values).Clear()) diff --git a/FirstClassErrors.UnitTests/FirstClassErrors.UnitTests.csproj b/FirstClassErrors.UnitTests/FirstClassErrors.UnitTests.csproj index ddc5d9aa..932d49bc 100644 --- a/FirstClassErrors.UnitTests/FirstClassErrors.UnitTests.csproj +++ b/FirstClassErrors.UnitTests/FirstClassErrors.UnitTests.csproj @@ -29,9 +29,9 @@ - - + + diff --git a/FirstClassErrors.UnitTests/OutcomeAssertionsTests.cs b/FirstClassErrors.UnitTests/OutcomeAssertionsTests.cs index 0b9969ac..a020f11d 100644 --- a/FirstClassErrors.UnitTests/OutcomeAssertionsTests.cs +++ b/FirstClassErrors.UnitTests/OutcomeAssertionsTests.cs @@ -68,7 +68,7 @@ public void ShouldFailWithMismatchingCodeThrows() { [Fact(DisplayName = "ShouldFail on a successful outcome throws.")] public void ShouldFailOnSuccessThrows() { - Outcome outcome = Outcome.Success(Dummies.Any.Int32().Generate()); + Outcome outcome = Outcome.Success(JustDummies.Any.Int32().Generate()); Assert.Throws(() => outcome.ShouldFail()); } diff --git a/FirstClassErrors.UnitTests/OutcomeGenericAdditionalTests.cs b/FirstClassErrors.UnitTests/OutcomeGenericAdditionalTests.cs index c6a859f7..eea31d43 100644 --- a/FirstClassErrors.UnitTests/OutcomeGenericAdditionalTests.cs +++ b/FirstClassErrors.UnitTests/OutcomeGenericAdditionalTests.cs @@ -16,7 +16,7 @@ public sealed class OutcomeGenericAdditionalTests { [Fact(DisplayName = "Then discarding the value chains to a non-generic Outcome on success.")] public void ThenDiscardingTheValueChainsToANonGenericOutcomeOnSuccess() { // Setup - Outcome outcome = Outcome.Success(Dummies.Any.Int32().Generate()); + Outcome outcome = Outcome.Success(JustDummies.Any.Int32().Generate()); // Exercise Outcome result = outcome.Then(_ => Outcome.Success); @@ -82,7 +82,7 @@ public async Task AwaitingTheAsyncInstanceRecoverValueOverloadRecoversAFailure() [Fact(DisplayName = "Then throws an ArgumentNullException when the continuation is null.")] public void ThenThrowsAnArgumentNullExceptionWhenTheContinuationIsNull() { // Setup - Outcome outcome = Outcome.Success(Dummies.Any.Int32().Generate()); + Outcome outcome = Outcome.Success(JustDummies.Any.Int32().Generate()); // Exercise & verify Check.ThatCode(() => outcome.Then((Func)null!)) @@ -92,7 +92,7 @@ public void ThenThrowsAnArgumentNullExceptionWhenTheContinuationIsNull() { [Fact(DisplayName = "Then (value mapping) throws an ArgumentNullException when the converter is null.")] public void ToThrowsAnArgumentNullExceptionWhenTheConverterIsNull() { // Setup - Outcome outcome = Outcome.Success(Dummies.Any.Int32().Generate()); + Outcome outcome = Outcome.Success(JustDummies.Any.Int32().Generate()); // Exercise & verify Check.ThatCode(() => outcome.Then((Func)null!)) @@ -102,7 +102,7 @@ public void ToThrowsAnArgumentNullExceptionWhenTheConverterIsNull() { [Fact(DisplayName = "Recover throws an ArgumentNullException when the fallback is null.")] public void RecoverThrowsAnArgumentNullExceptionWhenTheFallbackIsNull() { // Setup - Outcome outcome = Outcome.Success(Dummies.Any.Int32().Generate()); + Outcome outcome = Outcome.Success(JustDummies.Any.Int32().Generate()); // Exercise & verify Check.ThatCode(() => outcome.Recover((Func>)null!)) @@ -112,7 +112,7 @@ public void RecoverThrowsAnArgumentNullExceptionWhenTheFallbackIsNull() { [Fact(DisplayName = "Finally throws an ArgumentNullException when the success handler is null.")] public void FinallyThrowsAnArgumentNullExceptionWhenTheSuccessHandlerIsNull() { // Setup - Outcome outcome = Outcome.Success(Dummies.Any.Int32().Generate()); + Outcome outcome = Outcome.Success(JustDummies.Any.Int32().Generate()); // Exercise & verify Check.ThatCode(() => outcome.Finally((Func)null!, _ => "ko")) diff --git a/FirstClassErrors.UnitTests/OutcomeTaskExtensionsEagerValidationTests.cs b/FirstClassErrors.UnitTests/OutcomeTaskExtensionsEagerValidationTests.cs index 01679e8f..8d711c97 100644 --- a/FirstClassErrors.UnitTests/OutcomeTaskExtensionsEagerValidationTests.cs +++ b/FirstClassErrors.UnitTests/OutcomeTaskExtensionsEagerValidationTests.cs @@ -70,7 +70,7 @@ public void ToOverANullGenericTaskOutcomeThrowsSynchronously() { [Fact(DisplayName = "Recover over a null Task> throws synchronously, before the task is awaited.")] public void RecoverOverANullGenericTaskOutcomeThrowsSynchronously() { // Exercise & verify - Check.ThatCode(() => { _ = ((Task>)null!).Recover(_ => Outcome.Success(Dummies.Any.Int32().Generate())); }) + Check.ThatCode(() => { _ = ((Task>)null!).Recover(_ => Outcome.Success(JustDummies.Any.Int32().Generate())); }) .Throws(); } @@ -139,7 +139,7 @@ public void FinallyWithANullFailureBranchThrowsSynchronously() { [Fact(DisplayName = "Then (value mapping) over a Task> with a null conversion throws synchronously.")] public void ToWithANullConversionThrowsSynchronously() { // Setup - Task> task = Task.FromResult(Outcome.Success(Dummies.Any.Int32().Generate())); + Task> task = Task.FromResult(Outcome.Success(JustDummies.Any.Int32().Generate())); // Exercise & verify Check.ThatCode(() => { _ = task.Then((Func)null!); }) @@ -149,7 +149,7 @@ public void ToWithANullConversionThrowsSynchronously() { [Fact(DisplayName = "Recover over a Task> with a null fallback throws synchronously.")] public void GenericRecoverWithANullFallbackThrowsSynchronously() { // Setup - Task> task = Task.FromResult(Outcome.Success(Dummies.Any.Int32().Generate())); + Task> task = Task.FromResult(Outcome.Success(JustDummies.Any.Int32().Generate())); // Exercise & verify Check.ThatCode(() => { _ = task.Recover((Func>)null!); }) @@ -159,7 +159,7 @@ public void GenericRecoverWithANullFallbackThrowsSynchronously() { [Fact(DisplayName = "Finally over a Task> with a null failure branch throws synchronously.")] public void GenericFinallyWithANullFailureBranchThrowsSynchronously() { // Setup - Task> task = Task.FromResult(Outcome.Success(Dummies.Any.Int32().Generate())); + Task> task = Task.FromResult(Outcome.Success(JustDummies.Any.Int32().Generate())); // Exercise & verify Check.ThatCode(() => { _ = task.Finally(value => $"ok:{value}", (Func)null!); }) diff --git a/FirstClassErrors.UnitTests/OutcomeTests.cs b/FirstClassErrors.UnitTests/OutcomeTests.cs index cfa48dc7..9808a899 100644 --- a/FirstClassErrors.UnitTests/OutcomeTests.cs +++ b/FirstClassErrors.UnitTests/OutcomeTests.cs @@ -16,7 +16,7 @@ public sealed class OutcomeTests { [Fact(DisplayName = "A successful outcome is marked as success.")] public void SuccessfulOutcomeIsMarkedAsSuccess() { // Exercise - Outcome outcome = Outcome.Success(Dummies.Any.String().NonEmpty().Generate()); + Outcome outcome = Outcome.Success(JustDummies.Any.String().NonEmpty().Generate()); // Verify Check.That(outcome.IsSuccess).IsTrue(); @@ -131,7 +131,7 @@ public void ThrowIfFailureThrowsTheAssociatedExceptionWhenTheOutcomeIsAFailure() [Fact(DisplayName = "ThrowIfFailure does nothing when the outcome is a success.")] public void ThrowIfFailureDoesNothingWhenTheOutcomeIsASuccess() { // Setup - Outcome outcome = Outcome.Success(Dummies.Any.String().NonEmpty().Generate()); + Outcome outcome = Outcome.Success(JustDummies.Any.String().NonEmpty().Generate()); // Exercise & verify Check.ThatCode(() => outcome.ThrowIfFailure()).DoesNotThrow(); diff --git a/FirstClassErrors.sln b/FirstClassErrors.sln index a72f33a5..3131b88b 100644 --- a/FirstClassErrors.sln +++ b/FirstClassErrors.sln @@ -45,9 +45,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirstClassErrors.RequestBin EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirstClassErrors.RequestBinder.UnitTests", "FirstClassErrors.RequestBinder.UnitTests\FirstClassErrors.RequestBinder.UnitTests.csproj", "{75EA57DD-0128-4EB9-ADBE-567BFF602A93}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dummies", "Dummies\Dummies.csproj", "{F2C739E7-6F2E-4256-9C87-9D6F1168DF4A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JustDummies", "JustDummies\JustDummies.csproj", "{F2C739E7-6F2E-4256-9C87-9D6F1168DF4A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dummies.UnitTests", "Dummies.UnitTests\Dummies.UnitTests.csproj", "{BC4F2BE8-55C9-4AA4-90FA-699EC83A8985}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JustDummies.UnitTests", "JustDummies.UnitTests\JustDummies.UnitTests.csproj", "{BC4F2BE8-55C9-4AA4-90FA-699EC83A8985}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirstClassErrors.RequestBinder.PropertyTests", "FirstClassErrors.RequestBinder.PropertyTests\FirstClassErrors.RequestBinder.PropertyTests.csproj", "{1FC2C501-8842-4ABE-845E-000ED6575DD6}" EndProject @@ -59,9 +59,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirstClassErrors.RequestBin EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirstClassErrors.Testing.UnitTests", "FirstClassErrors.Testing.UnitTests\FirstClassErrors.Testing.UnitTests.csproj", "{74E68697-7C00-401C-84A9-7BF8DAFD9D34}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dummies.Xunit", "Dummies.Xunit\Dummies.Xunit.csproj", "{BF67DBAE-EBE1-45CE-86E5-B2E9E3D4EF6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JustDummies.Xunit", "JustDummies.Xunit\JustDummies.Xunit.csproj", "{BF67DBAE-EBE1-45CE-86E5-B2E9E3D4EF6B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dummies.Xunit.UnitTests", "Dummies.Xunit.UnitTests\Dummies.Xunit.UnitTests.csproj", "{75FD5E2C-A871-4659-8A01-13461FED84EB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JustDummies.Xunit.UnitTests", "JustDummies.Xunit.UnitTests\JustDummies.Xunit.UnitTests.csproj", "{75FD5E2C-A871-4659-8A01-13461FED84EB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/Dummies.UnitTests/AmbientSeedScopeTests.cs b/JustDummies.UnitTests/AmbientSeedScopeTests.cs similarity index 99% rename from Dummies.UnitTests/AmbientSeedScopeTests.cs rename to JustDummies.UnitTests/AmbientSeedScopeTests.cs index b14af111..da8b45a0 100644 --- a/Dummies.UnitTests/AmbientSeedScopeTests.cs +++ b/JustDummies.UnitTests/AmbientSeedScopeTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// /// The scope form of reproducibility: a handle a caller opens and disposes itself, for a test-framework adapter diff --git a/Dummies.UnitTests/AnyCollectionTests.cs b/JustDummies.UnitTests/AnyCollectionTests.cs similarity index 99% rename from Dummies.UnitTests/AnyCollectionTests.cs rename to JustDummies.UnitTests/AnyCollectionTests.cs index ffdf0473..574de4f0 100644 --- a/Dummies.UnitTests/AnyCollectionTests.cs +++ b/JustDummies.UnitTests/AnyCollectionTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnyCollectionTests { diff --git a/Dummies.UnitTests/AnyContinuousTests.cs b/JustDummies.UnitTests/AnyContinuousTests.cs similarity index 99% rename from Dummies.UnitTests/AnyContinuousTests.cs rename to JustDummies.UnitTests/AnyContinuousTests.cs index ed9e0fb3..2efe4118 100644 --- a/Dummies.UnitTests/AnyContinuousTests.cs +++ b/JustDummies.UnitTests/AnyContinuousTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnyContinuousTests { diff --git a/Dummies.UnitTests/AnyDateTimeOffsetOffsetTests.cs b/JustDummies.UnitTests/AnyDateTimeOffsetOffsetTests.cs similarity index 99% rename from Dummies.UnitTests/AnyDateTimeOffsetOffsetTests.cs rename to JustDummies.UnitTests/AnyDateTimeOffsetOffsetTests.cs index 8d995fef..91de606b 100644 --- a/Dummies.UnitTests/AnyDateTimeOffsetOffsetTests.cs +++ b/JustDummies.UnitTests/AnyDateTimeOffsetOffsetTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// /// Behaviour of the offset dimension — WithOffset pins it, diff --git a/Dummies.UnitTests/AnyInt32Tests.cs b/JustDummies.UnitTests/AnyInt32Tests.cs similarity index 99% rename from Dummies.UnitTests/AnyInt32Tests.cs rename to JustDummies.UnitTests/AnyInt32Tests.cs index 17bc42b3..bf21eeb4 100644 --- a/Dummies.UnitTests/AnyInt32Tests.cs +++ b/JustDummies.UnitTests/AnyInt32Tests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; [TestSubject(typeof(AnyInt32))] public sealed class AnyInt32Tests { diff --git a/Dummies.UnitTests/AnyLatticeConstraintTests.cs b/JustDummies.UnitTests/AnyLatticeConstraintTests.cs similarity index 99% rename from Dummies.UnitTests/AnyLatticeConstraintTests.cs rename to JustDummies.UnitTests/AnyLatticeConstraintTests.cs index 51edb8cc..b978c208 100644 --- a/Dummies.UnitTests/AnyLatticeConstraintTests.cs +++ b/JustDummies.UnitTests/AnyLatticeConstraintTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// /// Behaviour of the lattice constraints — MultipleOf on the integers, WithScale on diff --git a/Dummies.UnitTests/AnyModernTypeTests.cs b/JustDummies.UnitTests/AnyModernTypeTests.cs similarity index 99% rename from Dummies.UnitTests/AnyModernTypeTests.cs rename to JustDummies.UnitTests/AnyModernTypeTests.cs index 9353b23f..e94b0915 100644 --- a/Dummies.UnitTests/AnyModernTypeTests.cs +++ b/JustDummies.UnitTests/AnyModernTypeTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnyModernTypeTests { diff --git a/Dummies.UnitTests/AnyNullableTests.cs b/JustDummies.UnitTests/AnyNullableTests.cs similarity index 99% rename from Dummies.UnitTests/AnyNullableTests.cs rename to JustDummies.UnitTests/AnyNullableTests.cs index 625c3bec..8c2470ad 100644 --- a/Dummies.UnitTests/AnyNullableTests.cs +++ b/JustDummies.UnitTests/AnyNullableTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnyNullableTests { diff --git a/Dummies.UnitTests/AnyOneOfTests.cs b/JustDummies.UnitTests/AnyOneOfTests.cs similarity index 99% rename from Dummies.UnitTests/AnyOneOfTests.cs rename to JustDummies.UnitTests/AnyOneOfTests.cs index 65ea6d33..0ca9cead 100644 --- a/Dummies.UnitTests/AnyOneOfTests.cs +++ b/JustDummies.UnitTests/AnyOneOfTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; [TestSubject(typeof(AnyOneOf<>))] public sealed class AnyOneOfTests { diff --git a/Dummies.UnitTests/AnyPatternTests.cs b/JustDummies.UnitTests/AnyPatternTests.cs similarity index 98% rename from Dummies.UnitTests/AnyPatternTests.cs rename to JustDummies.UnitTests/AnyPatternTests.cs index 44541716..ea217ba0 100644 --- a/Dummies.UnitTests/AnyPatternTests.cs +++ b/JustDummies.UnitTests/AnyPatternTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnyPatternTests { @@ -204,8 +204,8 @@ public void OverLimitPatternFailsWithoutAFalseCause() { [Fact(DisplayName = "A negated class that excludes the whole printable universe is refused as unsupported, not malformed.")] public void NegatedClassExcludingTheUniverseIsUnsupported() { // Well-formed and regular — the real engine accepts both — but no printable-ASCII character survives the - // negation, so Dummies cannot draw a value. That is a universe limit (unsupported), not a caller mistake - // (malformed): the pattern is not broken, Dummies simply does not reach outside printable ASCII. + // negation, so JustDummies cannot draw a value. That is a universe limit (unsupported), not a caller mistake + // (malformed): the pattern is not broken, JustDummies simply does not reach outside printable ASCII. Check.ThatCode(() => Any.StringMatching(@"[^\x20-\x7E]")).Throws(); Check.ThatCode(() => Any.StringMatching(@"[^\s\S]")).Throws(); @@ -229,16 +229,16 @@ public void NegatedClassExcludingTheUniverseIsUnsupported() { public void PatternsAcceptedByTheRealEngineAreNeverMalformed(string pattern) { // The advertised taxonomy (see RegexParser's summary): ArgumentException == "the real engine rejects this // pattern as malformed". So a pattern the real engine COMPILES must never surface here as ArgumentException — - // Dummies must either generate a matching value, or refuse it as UnsupportedRegexException, or fail the + // JustDummies must either generate a matching value, or refuse it as UnsupportedRegexException, or fail the // generation itself. This guards the whole channel, not just the individual edges #210 corrected. Assert.True(IsCompiledByTheRealEngine(pattern), $"test precondition: /{pattern}/ must be accepted by .NET"); try { Any.WithSeed(1).StringMatching(pattern).Generate(); } catch (ArgumentException e) { - Assert.Fail($"/{pattern}/ is accepted by the real engine but Dummies rejected it as malformed: {e.Message}"); + Assert.Fail($"/{pattern}/ is accepted by the real engine but JustDummies rejected it as malformed: {e.Message}"); } catch (UnsupportedRegexException) { - // acceptable: refused as unsupported (a construct or universe Dummies declines), not as malformed + // acceptable: refused as unsupported (a construct or universe JustDummies declines), not as malformed } catch (AnyGenerationException) { // acceptable: a resource-limit overrun, not a verdict that the pattern is malformed } diff --git a/Dummies.UnitTests/AnySetTypeTests.cs b/JustDummies.UnitTests/AnySetTypeTests.cs similarity index 99% rename from Dummies.UnitTests/AnySetTypeTests.cs rename to JustDummies.UnitTests/AnySetTypeTests.cs index 5d067352..bf580c2b 100644 --- a/Dummies.UnitTests/AnySetTypeTests.cs +++ b/JustDummies.UnitTests/AnySetTypeTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnySetTypeTests { diff --git a/Dummies.UnitTests/AnySignedIntegerTests.cs b/JustDummies.UnitTests/AnySignedIntegerTests.cs similarity index 99% rename from Dummies.UnitTests/AnySignedIntegerTests.cs rename to JustDummies.UnitTests/AnySignedIntegerTests.cs index 5b31c3f4..bc164062 100644 --- a/Dummies.UnitTests/AnySignedIntegerTests.cs +++ b/JustDummies.UnitTests/AnySignedIntegerTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnySignedIntegerTests { diff --git a/Dummies.UnitTests/AnyStringOneOfTests.cs b/JustDummies.UnitTests/AnyStringOneOfTests.cs similarity index 99% rename from Dummies.UnitTests/AnyStringOneOfTests.cs rename to JustDummies.UnitTests/AnyStringOneOfTests.cs index e2d3aa37..e7468f7c 100644 --- a/Dummies.UnitTests/AnyStringOneOfTests.cs +++ b/JustDummies.UnitTests/AnyStringOneOfTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; [TestSubject(typeof(AnyStringOneOf))] public sealed class AnyStringOneOfTests { diff --git a/Dummies.UnitTests/AnyStringTests.cs b/JustDummies.UnitTests/AnyStringTests.cs similarity index 99% rename from Dummies.UnitTests/AnyStringTests.cs rename to JustDummies.UnitTests/AnyStringTests.cs index 59ad6d0d..9210ecb1 100644 --- a/Dummies.UnitTests/AnyStringTests.cs +++ b/JustDummies.UnitTests/AnyStringTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; [TestSubject(typeof(AnyString))] public sealed class AnyStringTests { diff --git a/Dummies.UnitTests/AnyTimeTests.cs b/JustDummies.UnitTests/AnyTimeTests.cs similarity index 99% rename from Dummies.UnitTests/AnyTimeTests.cs rename to JustDummies.UnitTests/AnyTimeTests.cs index 0d1e84ac..423d3aee 100644 --- a/Dummies.UnitTests/AnyTimeTests.cs +++ b/JustDummies.UnitTests/AnyTimeTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnyTimeTests { diff --git a/Dummies.UnitTests/AnyUnsignedIntegerTests.cs b/JustDummies.UnitTests/AnyUnsignedIntegerTests.cs similarity index 99% rename from Dummies.UnitTests/AnyUnsignedIntegerTests.cs rename to JustDummies.UnitTests/AnyUnsignedIntegerTests.cs index c3cbe2a4..045c6f05 100644 --- a/Dummies.UnitTests/AnyUnsignedIntegerTests.cs +++ b/JustDummies.UnitTests/AnyUnsignedIntegerTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; public sealed class AnyUnsignedIntegerTests { diff --git a/Dummies.UnitTests/AnyUriTests.cs b/JustDummies.UnitTests/AnyUriTests.cs similarity index 99% rename from Dummies.UnitTests/AnyUriTests.cs rename to JustDummies.UnitTests/AnyUriTests.cs index 707764d1..cb8e1e60 100644 --- a/Dummies.UnitTests/AnyUriTests.cs +++ b/JustDummies.UnitTests/AnyUriTests.cs @@ -11,7 +11,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; [TestSubject(typeof(AnyUri))] public sealed class AnyUriTests { diff --git a/Dummies.UnitTests/ArchitectureTests.cs b/JustDummies.UnitTests/ArchitectureTests.cs similarity index 73% rename from Dummies.UnitTests/ArchitectureTests.cs rename to JustDummies.UnitTests/ArchitectureTests.cs index 2296c85b..5b9cf42d 100644 --- a/Dummies.UnitTests/ArchitectureTests.cs +++ b/JustDummies.UnitTests/ArchitectureTests.cs @@ -6,17 +6,17 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// -/// Guards the standalone boundary of the library: Dummies is error-agnostic and must never gain a dependency on +/// Guards the standalone boundary of the library: JustDummies is error-agnostic and must never gain a dependency on /// FirstClassErrors (or any other project of this repository). If this test fails, the boundary was crossed — /// see the ADR that records the decision before touching it. /// public sealed class ArchitectureTests { - [Fact(DisplayName = "Dummies references no FirstClassErrors assembly.")] - public void DummiesReferencesNoFirstClassErrorsAssembly() { + [Fact(DisplayName = "JustDummies references no FirstClassErrors assembly.")] + public void JustDummiesReferencesNoFirstClassErrorsAssembly() { AssemblyName[] references = typeof(Any).Assembly.GetReferencedAssemblies(); foreach (AssemblyName reference in references) { @@ -24,8 +24,8 @@ public void DummiesReferencesNoFirstClassErrorsAssembly() { } } - [Fact(DisplayName = "Dummies depends on nothing beyond the standard library.")] - public void DummiesDependsOnNothingBeyondTheStandardLibrary() { + [Fact(DisplayName = "JustDummies depends on nothing beyond the standard library.")] + public void JustDummiesDependsOnNothingBeyondTheStandardLibrary() { AssemblyName[] references = typeof(Any).Assembly.GetReferencedAssemblies(); foreach (AssemblyName reference in references) { diff --git a/Dummies.UnitTests/CompositionTests.cs b/JustDummies.UnitTests/CompositionTests.cs similarity index 99% rename from Dummies.UnitTests/CompositionTests.cs rename to JustDummies.UnitTests/CompositionTests.cs index c14c3bfc..b6e00108 100644 --- a/Dummies.UnitTests/CompositionTests.cs +++ b/JustDummies.UnitTests/CompositionTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; [TestSubject(typeof(AnyExtensions))] public sealed class CompositionTests { diff --git a/Dummies.UnitTests/ContinuousExclusionNudgeTests.cs b/JustDummies.UnitTests/ContinuousExclusionNudgeTests.cs similarity index 99% rename from Dummies.UnitTests/ContinuousExclusionNudgeTests.cs rename to JustDummies.UnitTests/ContinuousExclusionNudgeTests.cs index bab7ba54..bd745cdd 100644 --- a/Dummies.UnitTests/ContinuousExclusionNudgeTests.cs +++ b/JustDummies.UnitTests/ContinuousExclusionNudgeTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// /// Regression coverage for issue #207. On the narrow (quantized) floating-point types an exclusion inside a tight diff --git a/Dummies.UnitTests/CrossEngineReachabilityTests.cs b/JustDummies.UnitTests/CrossEngineReachabilityTests.cs similarity index 99% rename from Dummies.UnitTests/CrossEngineReachabilityTests.cs rename to JustDummies.UnitTests/CrossEngineReachabilityTests.cs index ac2fc58b..c549e37c 100644 --- a/Dummies.UnitTests/CrossEngineReachabilityTests.cs +++ b/JustDummies.UnitTests/CrossEngineReachabilityTests.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// /// A single scenario battery run against every interval-backed builder through a small per-type adapter, @@ -13,7 +13,7 @@ namespace Dummies.UnitTests; /// /// /// -/// The suite closes the reachability blind spot the 2026-07-20 Dummies architecture audit named (§9.2/§9.3, +/// The suite closes the reachability blind spot the 2026-07-20 JustDummies architecture audit named (§9.2/§9.3, /// issue #213): the existing tests assert membership (a generated value satisfies its constraints) but /// never reachability (the whole declared domain is actually generable). Two shipped defects survived /// that gap — never reaching the upper half of a range (#206) and the diff --git a/Dummies.UnitTests/FactoryNamingConventionTests.cs b/JustDummies.UnitTests/FactoryNamingConventionTests.cs similarity index 98% rename from Dummies.UnitTests/FactoryNamingConventionTests.cs rename to JustDummies.UnitTests/FactoryNamingConventionTests.cs index e8bd3ace..61c1b241 100644 --- a/Dummies.UnitTests/FactoryNamingConventionTests.cs +++ b/JustDummies.UnitTests/FactoryNamingConventionTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// /// Locks the factory-naming rule recorded in ADR-0031: every parameterless, type-named scalar factory diff --git a/Dummies.UnitTests/Dummies.UnitTests.csproj b/JustDummies.UnitTests/JustDummies.UnitTests.csproj similarity index 91% rename from Dummies.UnitTests/Dummies.UnitTests.csproj rename to JustDummies.UnitTests/JustDummies.UnitTests.csproj index b5f65bc9..51ba6fe0 100644 --- a/Dummies.UnitTests/Dummies.UnitTests.csproj +++ b/JustDummies.UnitTests/JustDummies.UnitTests.csproj @@ -1,7 +1,7 @@ @@ -28,9 +28,9 @@ - - + diff --git a/Dummies.UnitTests/MaterializationTests.cs b/JustDummies.UnitTests/MaterializationTests.cs similarity index 98% rename from Dummies.UnitTests/MaterializationTests.cs rename to JustDummies.UnitTests/MaterializationTests.cs index 955a9d50..7e7b171b 100644 --- a/Dummies.UnitTests/MaterializationTests.cs +++ b/JustDummies.UnitTests/MaterializationTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; [TestSubject(typeof(Any))] public sealed class MaterializationTests { diff --git a/Dummies.UnitTests/SeedReproducibilityTests.cs b/JustDummies.UnitTests/SeedReproducibilityTests.cs similarity index 99% rename from Dummies.UnitTests/SeedReproducibilityTests.cs rename to JustDummies.UnitTests/SeedReproducibilityTests.cs index 189dafa7..a5358328 100644 --- a/Dummies.UnitTests/SeedReproducibilityTests.cs +++ b/JustDummies.UnitTests/SeedReproducibilityTests.cs @@ -6,7 +6,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; [TestSubject(typeof(Any))] public sealed class SeedReproducibilityTests { diff --git a/Dummies.UnitTests/SurfaceParityTests.cs b/JustDummies.UnitTests/SurfaceParityTests.cs similarity index 99% rename from Dummies.UnitTests/SurfaceParityTests.cs rename to JustDummies.UnitTests/SurfaceParityTests.cs index 89861550..76f96f1d 100644 --- a/Dummies.UnitTests/SurfaceParityTests.cs +++ b/JustDummies.UnitTests/SurfaceParityTests.cs @@ -7,7 +7,7 @@ #endregion -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// /// Structural guards over the library's two hand-mirrored surfaces. Both are pure reflection, so they add no diff --git a/Dummies.UnitTests/TestValueObjects.cs b/JustDummies.UnitTests/TestValueObjects.cs similarity index 98% rename from Dummies.UnitTests/TestValueObjects.cs rename to JustDummies.UnitTests/TestValueObjects.cs index 613e8bd3..4377bdb9 100644 --- a/Dummies.UnitTests/TestValueObjects.cs +++ b/JustDummies.UnitTests/TestValueObjects.cs @@ -1,4 +1,4 @@ -namespace Dummies.UnitTests; +namespace JustDummies.UnitTests; /// /// A DDD-style value object with a format invariant, used to exercise the primitive-to-value-object bridge diff --git a/Dummies.Xunit.UnitTests/ArchitectureTests.cs b/JustDummies.Xunit.UnitTests/ArchitectureTests.cs similarity index 65% rename from Dummies.Xunit.UnitTests/ArchitectureTests.cs rename to JustDummies.Xunit.UnitTests/ArchitectureTests.cs index 6188de40..57895b35 100644 --- a/Dummies.Xunit.UnitTests/ArchitectureTests.cs +++ b/JustDummies.Xunit.UnitTests/ArchitectureTests.cs @@ -6,18 +6,18 @@ #endregion -namespace Dummies.Xunit.UnitTests; +namespace JustDummies.Xunit.UnitTests; /// -/// Guards the boundary of the companion package. Dummies itself may depend on nothing beyond the standard +/// Guards the boundary of the companion package. JustDummies itself may depend on nothing beyond the standard /// library (ADR-0011), which is precisely why the xUnit adapter is a separate package (ADR-0036): it exists to -/// carry the one dependency Dummies cannot. What it must never carry is a FirstClassErrors dependency — the -/// error-agnostic promise applies to the whole Dummies line, not just its core assembly. +/// carry the one dependency JustDummies cannot. What it must never carry is a FirstClassErrors dependency — the +/// error-agnostic promise applies to the whole JustDummies line, not just its core assembly. /// public sealed class ArchitectureTests { - [Fact(DisplayName = "Dummies.Xunit references no FirstClassErrors assembly.")] - public void DummiesXunitReferencesNoFirstClassErrorsAssembly() { + [Fact(DisplayName = "JustDummies.Xunit references no FirstClassErrors assembly.")] + public void JustDummiesXunitReferencesNoFirstClassErrorsAssembly() { AssemblyName[] references = typeof(ReproducibleAttribute).Assembly.GetReferencedAssemblies(); foreach (AssemblyName reference in references) { @@ -26,14 +26,14 @@ public void DummiesXunitReferencesNoFirstClassErrorsAssembly() { } } - [Fact(DisplayName = "Dummies.Xunit depends on nothing beyond the standard library, Dummies and xUnit.")] - public void DummiesXunitDependsOnlyOnDummiesAndXunit() { + [Fact(DisplayName = "JustDummies.Xunit depends on nothing beyond the standard library, JustDummies and xUnit.")] + public void JustDummiesXunitDependsOnlyOnJustDummiesAndXunit() { AssemblyName[] references = typeof(ReproducibleAttribute).Assembly.GetReferencedAssemblies(); foreach (AssemblyName reference in references) { // The exact facade split varies with the SDK, so the guard checks the intent — the standard // library, the library being adapted, and the framework it is adapted to — not a fixed list. - bool expected = reference.Name is "netstandard" or "mscorlib" or "Dummies" + bool expected = reference.Name is "netstandard" or "mscorlib" or "JustDummies" || reference.Name!.StartsWith("System.", StringComparison.Ordinal) || reference.Name.StartsWith("xunit.", StringComparison.Ordinal); diff --git a/Dummies.Xunit.UnitTests/Dummies.Xunit.UnitTests.csproj b/JustDummies.Xunit.UnitTests/JustDummies.Xunit.UnitTests.csproj similarity index 86% rename from Dummies.Xunit.UnitTests/Dummies.Xunit.UnitTests.csproj rename to JustDummies.Xunit.UnitTests/JustDummies.Xunit.UnitTests.csproj index 3e8604c9..626bef02 100644 --- a/Dummies.Xunit.UnitTests/Dummies.Xunit.UnitTests.csproj +++ b/JustDummies.Xunit.UnitTests/JustDummies.Xunit.UnitTests.csproj @@ -1,7 +1,7 @@ @@ -28,9 +28,9 @@ - - + diff --git a/Dummies.Xunit.UnitTests/ReproducibleAttributeTests.cs b/JustDummies.Xunit.UnitTests/ReproducibleAttributeTests.cs similarity index 99% rename from Dummies.Xunit.UnitTests/ReproducibleAttributeTests.cs rename to JustDummies.Xunit.UnitTests/ReproducibleAttributeTests.cs index d210e4ad..967808ca 100644 --- a/Dummies.Xunit.UnitTests/ReproducibleAttributeTests.cs +++ b/JustDummies.Xunit.UnitTests/ReproducibleAttributeTests.cs @@ -11,7 +11,7 @@ #endregion -namespace Dummies.Xunit.UnitTests; +namespace JustDummies.Xunit.UnitTests; /// /// The adapter is exercised through the real xUnit pipeline wherever a behaviour is observable from inside a diff --git a/Dummies.Xunit/Dummies.Xunit.csproj b/JustDummies.Xunit/JustDummies.Xunit.csproj similarity index 76% rename from Dummies.Xunit/Dummies.Xunit.csproj rename to JustDummies.Xunit/JustDummies.Xunit.csproj index 1b990d31..4542de15 100644 --- a/Dummies.Xunit/Dummies.Xunit.csproj +++ b/JustDummies.Xunit/JustDummies.Xunit.csproj @@ -1,11 +1,11 @@ + netstandard2.0 subfolder: this package has one surface, unlike JustDummies' two divergent legs. --> - netstandard2.0 @@ -17,17 +17,17 @@ true + dum release train (dum-v*, see tools/packaging/pack.sh), which this package rides with JustDummies. --> 0.1.0-dev - Dummies.Xunit + JustDummies.Xunit Sylvain AURAT Reefact - The xUnit v3 companion of Dummies: mark a test, a class or an assembly [Reproducible] and its arbitrary values are drawn from a pinned seed, reported only when the test fails. Removes the per-test Any.Reproducibly ceremony without changing how values are generated. + The xUnit v3 companion of JustDummies: mark a test, a class or an assembly [Reproducible] and its arbitrary values are drawn from a pinned seed, reported only when the test fails. Removes the per-test Any.Reproducibly ceremony without changing how values are generated. @@ -36,7 +36,7 @@ false - https://github.com/Reefact/first-class-errors + https://justdummies.io https://github.com/Reefact/first-class-errors.git git @@ -56,7 +56,7 @@ - + @@ -66,13 +66,13 @@ - - + - diff --git a/Dummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt b/JustDummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt similarity index 100% rename from Dummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt rename to JustDummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Shipped.txt diff --git a/JustDummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt b/JustDummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt new file mode 100644 index 00000000..d3165b76 --- /dev/null +++ b/JustDummies.Xunit/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt @@ -0,0 +1,7 @@ +#nullable enable +JustDummies.Xunit.ReproducibleAttribute +JustDummies.Xunit.ReproducibleAttribute.ReproducibleAttribute() -> void +JustDummies.Xunit.ReproducibleAttribute.Seed.get -> int +JustDummies.Xunit.ReproducibleAttribute.Seed.set -> void +override JustDummies.Xunit.ReproducibleAttribute.After(System.Reflection.MethodInfo! methodUnderTest, Xunit.v3.IXunitTest! test) -> void +override JustDummies.Xunit.ReproducibleAttribute.Before(System.Reflection.MethodInfo! methodUnderTest, Xunit.v3.IXunitTest! test) -> void diff --git a/Dummies.Xunit/README.nuget.md b/JustDummies.Xunit/README.nuget.md similarity index 85% rename from Dummies.Xunit/README.nuget.md rename to JustDummies.Xunit/README.nuget.md index b3e31e69..19195af8 100644 --- a/Dummies.Xunit/README.nuget.md +++ b/JustDummies.Xunit/README.nuget.md @@ -1,13 +1,13 @@ -# Dummies.Xunit +# JustDummies.Xunit -The [xUnit v3](https://xunit.net) companion of [Dummies](https://www.nuget.org/packages/Dummies). +The [xUnit v3](https://xunit.net) companion of [JustDummies](https://www.nuget.org/packages/JustDummies). Mark a test `[Reproducible]` and its arbitrary values are drawn from a pinned seed — reported **only when the test fails**, so a red test names the exact seed to replay while a green one stays silent. ## Why -`Dummies` makes a run reproducible by wrapping the test body in a delegate: +`JustDummies` makes a run reproducible by wrapping the test body in a delegate: [Fact] public void Order_reference_is_accepted() { @@ -34,7 +34,7 @@ never wrapped in advance. A failing test writes its seed to the test output: - [Dummies] These arbitrary values were seeded with 1234. Reproduce this run with [Reproducible(Seed = 1234)]. + [JustDummies] These arbitrary values were seeded with 1234. Reproduce this run with [Reproducible(Seed = 1234)]. Pin it to replay: @@ -62,11 +62,11 @@ replays a particular seed. context is isolated by design and does not draw from the ambient source this attribute pins. - The seed is pinned through `Any.UseSeed(...)`, a public handle any test-framework - adapter can use — this package holds no privileged access to `Dummies`. + adapter can use — this package holds no privileged access to `JustDummies`. - xUnit v3 only. On xUnit v2, NUnit, MSTest or anything else, use `Any.Reproducibly(...)`: it is unaffected by this package and works everywhere. ## Links - [Repository](https://github.com/Reefact/first-class-errors) -- [Dummies](https://www.nuget.org/packages/Dummies) +- [JustDummies](https://www.nuget.org/packages/JustDummies) diff --git a/Dummies.Xunit/ReproducibleAttribute.cs b/JustDummies.Xunit/ReproducibleAttribute.cs similarity index 97% rename from Dummies.Xunit/ReproducibleAttribute.cs rename to JustDummies.Xunit/ReproducibleAttribute.cs index be0b3325..010920e7 100644 --- a/Dummies.Xunit/ReproducibleAttribute.cs +++ b/JustDummies.Xunit/ReproducibleAttribute.cs @@ -7,7 +7,7 @@ #endregion -namespace Dummies.Xunit; +namespace JustDummies.Xunit; /// /// Makes a test's arbitrary values reproducible: the ambient context is pinned to a seed for @@ -124,7 +124,7 @@ private static bool HasFailed() { /// internal static string? ReportFor(bool failed, int seed) { return failed - ? $"[Dummies] These arbitrary values were seeded with {seed}. Reproduce this run with {ReplaySnippet(seed)}." + ? $"[JustDummies] These arbitrary values were seeded with {seed}. Reproduce this run with {ReplaySnippet(seed)}." : null; } diff --git a/Dummies/Any.cs b/JustDummies/Any.cs similarity index 99% rename from Dummies/Any.cs rename to JustDummies/Any.cs index c74d9657..d74a58f6 100644 --- a/Dummies/Any.cs +++ b/JustDummies/Any.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// The entry point of the library: supplies arbitrary, valid values for the parts of a test that are not @@ -991,7 +991,7 @@ public static AnyDictionary DictionaryOf(IAny private static void Report(Action? report, int seed) { (report ?? Console.Error.WriteLine)( - $"[Dummies] These arbitrary values were seeded with {seed}. Reproduce this run with Any.Reproducibly({seed}, ...)."); + $"[JustDummies] These arbitrary values were seeded with {seed}. Reproduce this run with Any.Reproducibly({seed}, ...)."); } } diff --git a/Dummies/AnyArray.cs b/JustDummies/AnyArray.cs similarity index 98% rename from Dummies/AnyArray.cs rename to JustDummies/AnyArray.cs index 7f0a3e53..2d25dce4 100644 --- a/Dummies/AnyArray.cs +++ b/JustDummies/AnyArray.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary array (T[]) values over an element generator. Shares the collection diff --git a/Dummies/AnyBoolean.cs b/JustDummies/AnyBoolean.cs similarity index 99% rename from Dummies/AnyBoolean.cs rename to JustDummies/AnyBoolean.cs index 4b229325..3e42f31f 100644 --- a/Dummies/AnyBoolean.cs +++ b/JustDummies/AnyBoolean.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values. True() and False() pin the value — diff --git a/Dummies/AnyByte.cs b/JustDummies/AnyByte.cs similarity index 99% rename from Dummies/AnyByte.cs rename to JustDummies/AnyByte.cs index d7429fe3..feaeab4d 100644 --- a/Dummies/AnyByte.cs +++ b/JustDummies/AnyByte.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyChar.cs b/JustDummies/AnyChar.cs similarity index 99% rename from Dummies/AnyChar.cs rename to JustDummies/AnyChar.cs index b6e0dc7a..ae723498 100644 --- a/Dummies/AnyChar.cs +++ b/JustDummies/AnyChar.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values. Unconstrained, it draws from ASCII letters and diff --git a/Dummies/AnyCollection.cs b/JustDummies/AnyCollection.cs similarity index 99% rename from Dummies/AnyCollection.cs rename to JustDummies/AnyCollection.cs index ff2e2cd2..0af316c5 100644 --- a/Dummies/AnyCollection.cs +++ b/JustDummies/AnyCollection.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// The shared fluent surface of the collection generators. Every collection — a , diff --git a/Dummies/AnyContext.cs b/JustDummies/AnyContext.cs similarity index 99% rename from Dummies/AnyContext.cs rename to JustDummies/AnyContext.cs index 649055a8..6502942c 100644 --- a/Dummies/AnyContext.cs +++ b/JustDummies/AnyContext.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// An isolated, deterministic generation context created by : every generator created diff --git a/Dummies/AnyDateOnly.cs b/JustDummies/AnyDateOnly.cs similarity index 99% rename from Dummies/AnyDateOnly.cs rename to JustDummies/AnyDateOnly.cs index f613d8b4..950b3a66 100644 --- a/Dummies/AnyDateOnly.cs +++ b/JustDummies/AnyDateOnly.cs @@ -5,7 +5,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyDateTime.cs b/JustDummies/AnyDateTime.cs similarity index 99% rename from Dummies/AnyDateTime.cs rename to JustDummies/AnyDateTime.cs index f3e28f9a..27378068 100644 --- a/Dummies/AnyDateTime.cs +++ b/JustDummies/AnyDateTime.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as diff --git a/Dummies/AnyDateTimeOffset.cs b/JustDummies/AnyDateTimeOffset.cs similarity index 99% rename from Dummies/AnyDateTimeOffset.cs rename to JustDummies/AnyDateTimeOffset.cs index 83bdce96..5659288d 100644 --- a/Dummies/AnyDateTimeOffset.cs +++ b/JustDummies/AnyDateTimeOffset.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as diff --git a/Dummies/AnyDecimal.cs b/JustDummies/AnyDecimal.cs similarity index 99% rename from Dummies/AnyDecimal.cs rename to JustDummies/AnyDecimal.cs index 587ccb17..be693d62 100644 --- a/Dummies/AnyDecimal.cs +++ b/JustDummies/AnyDecimal.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyDerivation.cs b/JustDummies/AnyDerivation.cs similarity index 99% rename from Dummies/AnyDerivation.cs rename to JustDummies/AnyDerivation.cs index 31489e87..9f0ced3e 100644 --- a/Dummies/AnyDerivation.cs +++ b/JustDummies/AnyDerivation.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A generator derived from other generators (As, Combine): it delegates generation to a closure diff --git a/Dummies/AnyDictionary.cs b/JustDummies/AnyDictionary.cs similarity index 99% rename from Dummies/AnyDictionary.cs rename to JustDummies/AnyDictionary.cs index 3225fe9d..b96a8123 100644 --- a/Dummies/AnyDictionary.cs +++ b/JustDummies/AnyDictionary.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values over a key generator and a value diff --git a/Dummies/AnyDouble.cs b/JustDummies/AnyDouble.cs similarity index 99% rename from Dummies/AnyDouble.cs rename to JustDummies/AnyDouble.cs index 34f3ec0b..3cb12909 100644 --- a/Dummies/AnyDouble.cs +++ b/JustDummies/AnyDouble.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyEnum.cs b/JustDummies/AnyEnum.cs similarity index 99% rename from Dummies/AnyEnum.cs rename to JustDummies/AnyEnum.cs index 52cc6510..794e8fb3 100644 --- a/Dummies/AnyEnum.cs +++ b/JustDummies/AnyEnum.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values, drawn uniformly from the enum's diff --git a/Dummies/AnyException.cs b/JustDummies/AnyException.cs similarity index 93% rename from Dummies/AnyException.cs rename to JustDummies/AnyException.cs index bbfd4eb4..07da1c2b 100644 --- a/Dummies/AnyException.cs +++ b/JustDummies/AnyException.cs @@ -1,7 +1,7 @@ -namespace Dummies; +namespace JustDummies; /// -/// Base class of every exception the library throws on its own behalf, so a caller can catch "anything Dummies +/// Base class of every exception the library throws on its own behalf, so a caller can catch "anything JustDummies /// rejected" with a single clause. Concrete cases: /// when two declared constraints cannot be satisfied together, /// and when a generation fails even though the constraints were accepted. diff --git a/Dummies/AnyExtensions.cs b/JustDummies/AnyExtensions.cs similarity index 99% rename from Dummies/AnyExtensions.cs rename to JustDummies/AnyExtensions.cs index 54a7e522..4d16b6ab 100644 --- a/Dummies/AnyExtensions.cs +++ b/JustDummies/AnyExtensions.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// Composition over . These extensions are the bridge between constrained primitives and diff --git a/Dummies/AnyFtpUri.cs b/JustDummies/AnyFtpUri.cs similarity index 99% rename from Dummies/AnyFtpUri.cs rename to JustDummies/AnyFtpUri.cs index e6f6088b..280b4484 100644 --- a/Dummies/AnyFtpUri.cs +++ b/JustDummies/AnyFtpUri.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A generator of arbitrary ftp URIs — the classic ftp://user:password@host/path shape of legacy diff --git a/Dummies/AnyGenerationException.cs b/JustDummies/AnyGenerationException.cs similarity index 99% rename from Dummies/AnyGenerationException.cs rename to JustDummies/AnyGenerationException.cs index 48923955..fdfca61e 100644 --- a/Dummies/AnyGenerationException.cs +++ b/JustDummies/AnyGenerationException.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// Thrown when a generation cannot be completed even though every declared constraint was accepted — most diff --git a/Dummies/AnyGuid.cs b/JustDummies/AnyGuid.cs similarity index 99% rename from Dummies/AnyGuid.cs rename to JustDummies/AnyGuid.cs index ef6742c6..2d9a6c89 100644 --- a/Dummies/AnyGuid.cs +++ b/JustDummies/AnyGuid.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values, drawn from the seedable source — unlike diff --git a/Dummies/AnyHalf.cs b/JustDummies/AnyHalf.cs similarity index 99% rename from Dummies/AnyHalf.cs rename to JustDummies/AnyHalf.cs index 4c706359..30c6b230 100644 --- a/Dummies/AnyHalf.cs +++ b/JustDummies/AnyHalf.cs @@ -5,7 +5,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyInt128.cs b/JustDummies/AnyInt128.cs similarity index 99% rename from Dummies/AnyInt128.cs rename to JustDummies/AnyInt128.cs index a8d581b6..f4571ff3 100644 --- a/Dummies/AnyInt128.cs +++ b/JustDummies/AnyInt128.cs @@ -5,7 +5,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyInt16.cs b/JustDummies/AnyInt16.cs similarity index 99% rename from Dummies/AnyInt16.cs rename to JustDummies/AnyInt16.cs index bccb502a..1cd3346e 100644 --- a/Dummies/AnyInt16.cs +++ b/JustDummies/AnyInt16.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyInt32.cs b/JustDummies/AnyInt32.cs similarity index 99% rename from Dummies/AnyInt32.cs rename to JustDummies/AnyInt32.cs index 666c597f..2bd61b61 100644 --- a/Dummies/AnyInt32.cs +++ b/JustDummies/AnyInt32.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values. Each constraint narrows the domain the value is diff --git a/Dummies/AnyInt64.cs b/JustDummies/AnyInt64.cs similarity index 99% rename from Dummies/AnyInt64.cs rename to JustDummies/AnyInt64.cs index 25f94539..3fe565e9 100644 --- a/Dummies/AnyInt64.cs +++ b/JustDummies/AnyInt64.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyList.cs b/JustDummies/AnyList.cs similarity index 98% rename from Dummies/AnyList.cs rename to JustDummies/AnyList.cs index a1259e8a..f71fe051 100644 --- a/Dummies/AnyList.cs +++ b/JustDummies/AnyList.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values over an element generator. Shares the collection diff --git a/Dummies/AnyMailtoUri.cs b/JustDummies/AnyMailtoUri.cs similarity index 98% rename from Dummies/AnyMailtoUri.cs rename to JustDummies/AnyMailtoUri.cs index bf9fb723..35df59a5 100644 --- a/Dummies/AnyMailtoUri.cs +++ b/JustDummies/AnyMailtoUri.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A generator of arbitrary mailto URIs — mailto:local@domain, optionally with headers. The diff --git a/Dummies/AnyOneOf.cs b/JustDummies/AnyOneOf.cs similarity index 99% rename from Dummies/AnyOneOf.cs rename to JustDummies/AnyOneOf.cs index cf9476ca..ad993aa5 100644 --- a/Dummies/AnyOneOf.cs +++ b/JustDummies/AnyOneOf.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A generator that draws an arbitrary value from an explicit, fixed pool supplied by the caller — the diff --git a/Dummies/AnyPattern.cs b/JustDummies/AnyPattern.cs similarity index 99% rename from Dummies/AnyPattern.cs rename to JustDummies/AnyPattern.cs index 05bfcfee..16ffa7cf 100644 --- a/Dummies/AnyPattern.cs +++ b/JustDummies/AnyPattern.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A generator of arbitrary strings that match a regular expression — the dummy for a value whose format is diff --git a/Dummies/AnyRelativeUri.cs b/JustDummies/AnyRelativeUri.cs similarity index 98% rename from Dummies/AnyRelativeUri.cs rename to JustDummies/AnyRelativeUri.cs index 94caf5e4..4e66b182 100644 --- a/Dummies/AnyRelativeUri.cs +++ b/JustDummies/AnyRelativeUri.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A generator of arbitrary relative URI references — a path with an optional query and fragment, and no diff --git a/Dummies/AnySByte.cs b/JustDummies/AnySByte.cs similarity index 99% rename from Dummies/AnySByte.cs rename to JustDummies/AnySByte.cs index 67cadcf6..0a932c1c 100644 --- a/Dummies/AnySByte.cs +++ b/JustDummies/AnySByte.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnySequence.cs b/JustDummies/AnySequence.cs similarity index 99% rename from Dummies/AnySequence.cs rename to JustDummies/AnySequence.cs index 8a347947..b36588b5 100644 --- a/Dummies/AnySequence.cs +++ b/JustDummies/AnySequence.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values over an element generator. The generated diff --git a/Dummies/AnySet.cs b/JustDummies/AnySet.cs similarity index 98% rename from Dummies/AnySet.cs rename to JustDummies/AnySet.cs index c890ad6d..a6fb0bd4 100644 --- a/Dummies/AnySet.cs +++ b/JustDummies/AnySet.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values over an element generator. A set is diff --git a/Dummies/AnySingle.cs b/JustDummies/AnySingle.cs similarity index 99% rename from Dummies/AnySingle.cs rename to JustDummies/AnySingle.cs index 2a54b5fe..51050c7b 100644 --- a/Dummies/AnySingle.cs +++ b/JustDummies/AnySingle.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyString.cs b/JustDummies/AnyString.cs similarity index 99% rename from Dummies/AnyString.cs rename to JustDummies/AnyString.cs index b0184e8e..671a5659 100644 --- a/Dummies/AnyString.cs +++ b/JustDummies/AnyString.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values. Each constraint narrows the shape of the diff --git a/Dummies/AnyStringOneOf.cs b/JustDummies/AnyStringOneOf.cs similarity index 99% rename from Dummies/AnyStringOneOf.cs rename to JustDummies/AnyStringOneOf.cs index dae0cc38..5fd9ad6a 100644 --- a/Dummies/AnyStringOneOf.cs +++ b/JustDummies/AnyStringOneOf.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A generator of arbitrary strings drawn from an explicit, fixed set of values — the dummy for a value diff --git a/Dummies/AnyTimeOnly.cs b/JustDummies/AnyTimeOnly.cs similarity index 99% rename from Dummies/AnyTimeOnly.cs rename to JustDummies/AnyTimeOnly.cs index eb669b7e..7466480b 100644 --- a/Dummies/AnyTimeOnly.cs +++ b/JustDummies/AnyTimeOnly.cs @@ -5,7 +5,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyTimeSpan.cs b/JustDummies/AnyTimeSpan.cs similarity index 99% rename from Dummies/AnyTimeSpan.cs rename to JustDummies/AnyTimeSpan.cs index 57af0a48..8028932a 100644 --- a/Dummies/AnyTimeSpan.cs +++ b/JustDummies/AnyTimeSpan.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as diff --git a/Dummies/AnyUInt128.cs b/JustDummies/AnyUInt128.cs similarity index 99% rename from Dummies/AnyUInt128.cs rename to JustDummies/AnyUInt128.cs index dae5e26e..cd54c3aa 100644 --- a/Dummies/AnyUInt128.cs +++ b/JustDummies/AnyUInt128.cs @@ -5,7 +5,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyUInt16.cs b/JustDummies/AnyUInt16.cs similarity index 99% rename from Dummies/AnyUInt16.cs rename to JustDummies/AnyUInt16.cs index 2cf5c570..411f2834 100644 --- a/Dummies/AnyUInt16.cs +++ b/JustDummies/AnyUInt16.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyUInt32.cs b/JustDummies/AnyUInt32.cs similarity index 99% rename from Dummies/AnyUInt32.cs rename to JustDummies/AnyUInt32.cs index ea1f9a20..c97e81e0 100644 --- a/Dummies/AnyUInt32.cs +++ b/JustDummies/AnyUInt32.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyUInt64.cs b/JustDummies/AnyUInt64.cs similarity index 99% rename from Dummies/AnyUInt64.cs rename to JustDummies/AnyUInt64.cs index d829ef07..c43d37e7 100644 --- a/Dummies/AnyUInt64.cs +++ b/JustDummies/AnyUInt64.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary values — the same contract as : diff --git a/Dummies/AnyUri.cs b/JustDummies/AnyUri.cs similarity index 99% rename from Dummies/AnyUri.cs rename to JustDummies/AnyUri.cs index c2fb0d4e..a712cb74 100644 --- a/Dummies/AnyUri.cs +++ b/JustDummies/AnyUri.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A fluent generator of arbitrary yet valid values. Unconstrained, it spans the whole diff --git a/Dummies/AnyWebSocketUri.cs b/JustDummies/AnyWebSocketUri.cs similarity index 99% rename from Dummies/AnyWebSocketUri.cs rename to JustDummies/AnyWebSocketUri.cs index fa2a8575..011f0950 100644 --- a/Dummies/AnyWebSocketUri.cs +++ b/JustDummies/AnyWebSocketUri.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A generator of arbitrary ws/wss URIs. Per RFC 6455 a WebSocket URI carries no user-info and diff --git a/Dummies/AnyWebUri.cs b/JustDummies/AnyWebUri.cs similarity index 99% rename from Dummies/AnyWebUri.cs rename to JustDummies/AnyWebUri.cs index dcf731b3..82d3ed5b 100644 --- a/Dummies/AnyWebUri.cs +++ b/JustDummies/AnyWebUri.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A generator of arbitrary http/https URIs. Exposes the full authority surface — user-info, host, diff --git a/Dummies/CHANGELOG.md b/JustDummies/CHANGELOG.md similarity index 86% rename from Dummies/CHANGELOG.md rename to JustDummies/CHANGELOG.md index dbe8851c..849dce7a 100644 --- a/Dummies/CHANGELOG.md +++ b/JustDummies/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -All notable, user-facing changes to **Dummies** are documented here. +All notable, user-facing changes to **JustDummies** are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). diff --git a/Dummies/CharacterPools.cs b/JustDummies/CharacterPools.cs similarity index 97% rename from Dummies/CharacterPools.cs rename to JustDummies/CharacterPools.cs index 5011cbda..15b9e945 100644 --- a/Dummies/CharacterPools.cs +++ b/JustDummies/CharacterPools.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// The character families a string or char generator can be restricted to. internal enum CharacterSet { diff --git a/Dummies/CollectionState.cs b/JustDummies/CollectionState.cs similarity index 99% rename from Dummies/CollectionState.cs rename to JustDummies/CollectionState.cs index 39dca861..48406048 100644 --- a/Dummies/CollectionState.cs +++ b/JustDummies/CollectionState.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// The immutable specification behind every collection generator (, diff --git a/Dummies/ConflictingAnyConstraintException.cs b/JustDummies/ConflictingAnyConstraintException.cs similarity index 97% rename from Dummies/ConflictingAnyConstraintException.cs rename to JustDummies/ConflictingAnyConstraintException.cs index e9d09c92..169ac3e7 100644 --- a/Dummies/ConflictingAnyConstraintException.cs +++ b/JustDummies/ConflictingAnyConstraintException.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// Thrown at the moment a constraint is declared when it cannot be satisfied together with the constraints diff --git a/Dummies/ContinuousIntervalSpec.cs b/JustDummies/ContinuousIntervalSpec.cs similarity index 99% rename from Dummies/ContinuousIntervalSpec.cs rename to JustDummies/ContinuousIntervalSpec.cs index 370bb873..519a3fd1 100644 --- a/Dummies/ContinuousIntervalSpec.cs +++ b/JustDummies/ContinuousIntervalSpec.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// The shared immutable engine behind the binary floating-point generators (, diff --git a/Dummies/CountConstraints.cs b/JustDummies/CountConstraints.cs similarity index 99% rename from Dummies/CountConstraints.cs rename to JustDummies/CountConstraints.cs index ed7f8232..c17aa1c6 100644 --- a/Dummies/CountConstraints.cs +++ b/JustDummies/CountConstraints.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// The count-constraint facade shared by every collection generator, defined once over diff --git a/Dummies/CountSpec.cs b/JustDummies/CountSpec.cs similarity index 99% rename from Dummies/CountSpec.cs rename to JustDummies/CountSpec.cs index 2ec354fa..ad40ea29 100644 --- a/Dummies/CountSpec.cs +++ b/JustDummies/CountSpec.cs @@ -4,7 +4,7 @@ #endregion -namespace Dummies; +namespace JustDummies; /// /// The immutable count specification shared by every collection generator (, diff --git a/Dummies/DecimalIntervalSpec.cs b/JustDummies/DecimalIntervalSpec.cs similarity index 99% rename from Dummies/DecimalIntervalSpec.cs rename to JustDummies/DecimalIntervalSpec.cs index fb04b7d8..d2e1da79 100644 --- a/Dummies/DecimalIntervalSpec.cs +++ b/JustDummies/DecimalIntervalSpec.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// The immutable engine behind — the same algebra as diff --git a/Dummies/IAny.cs b/JustDummies/IAny.cs similarity index 99% rename from Dummies/IAny.cs rename to JustDummies/IAny.cs index b857d60c..0b3f28af 100644 --- a/Dummies/IAny.cs +++ b/JustDummies/IAny.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// A recipe for an arbitrary value of type that satisfies the constraints declared on diff --git a/Dummies/ICardinalityHint.cs b/JustDummies/ICardinalityHint.cs similarity index 99% rename from Dummies/ICardinalityHint.cs rename to JustDummies/ICardinalityHint.cs index 36e85a90..f8620ae1 100644 --- a/Dummies/ICardinalityHint.cs +++ b/JustDummies/ICardinalityHint.cs @@ -1,4 +1,4 @@ -namespace Dummies; +namespace JustDummies; /// /// Implemented by the library's own generators that draw from a small, countable domain, so a distinct diff --git a/Dummies/Dummies.csproj b/JustDummies/JustDummies.csproj similarity index 92% rename from Dummies/Dummies.csproj rename to JustDummies/JustDummies.csproj index 0c371cd8..b78ca127 100644 --- a/Dummies/Dummies.csproj +++ b/JustDummies/JustDummies.csproj @@ -20,7 +20,7 @@ 0.1.0-dev - Dummies + JustDummies Sylvain AURAT Reefact @@ -35,7 +35,7 @@ false - https://github.com/Reefact/first-class-errors + https://justdummies.io https://github.com/Reefact/first-class-errors.git git @@ -57,9 +57,9 @@ - + an architecture test in JustDummies.UnitTests. --> + plus a step in justdummies.yml when a Framework consumer justifies that cost. --> @@ -44,22 +44,22 @@ from a downlevel TFM is the deliberate point of this project, not an oversight. --> false false - - 1.0.0-dummiescheck.dev + 1.0.0-justdummiescheck.dev - + stable JustDummies on nuget.org can never be substituted for the artifact under test. --> + diff --git a/tools/dummies-check/Program.cs b/tools/justdummies-check/Program.cs similarity index 97% rename from tools/dummies-check/Program.cs rename to tools/justdummies-check/Program.cs index ce5b5064..c14b6749 100644 --- a/tools/dummies-check/Program.cs +++ b/tools/justdummies-check/Program.cs @@ -9,13 +9,13 @@ using System.Runtime.Versioning; using System.Text.RegularExpressions; -using Dummies; +using JustDummies; #endregion -namespace DummiesCheck; +namespace JustDummiesCheck; -// Packaged-asset compatibility consumer. Run once per consumer TFM by .github/workflows/dummies.yml. +// Packaged-asset compatibility consumer. Run once per consumer TFM by .github/workflows/justdummies.yml. // The consumer's compile target dictates which packaged asset NuGet restored, and therefore what this // program must observe: // net8.0 consumer -> lib/net8.0 asset -> modern generators present @@ -34,12 +34,12 @@ internal static class Program { private const string ExpectedFamily = ".NETStandard"; #endif - // The net8.0-only generators, guarded by #if NET8_0_OR_GREATER in Dummies (Any.cs). Present on the net8.0 + // The net8.0-only generators, guarded by #if NET8_0_OR_GREATER in JustDummies (Any.cs). Present on the net8.0 // asset, absent on the netstandard2.0 asset — the exact conditional surface the acceptance criteria name. private static readonly string[] ModernEntryPoints = { "DateOnly", "TimeOnly", "Int128", "UInt128", "Half" }; // Fixed seed for the cross-TFM golden sequence. SeedBatch draws from the COMMON surface under this seed, and - // Main prints the result as the SEEDBATCH banner. dummies.yml compares that banner byte-for-byte between the + // Main prints the result as the SEEDBATCH banner. justdummies.yml compares that banner byte-for-byte between the // net8.0 and netstandard2.0 legs: new Random(seed) keeps the legacy algorithm on modern .NET, so the two // packaged assets SHOULD agree seed-for-seed — but nothing else asserts it, and Random reserves the right to // differ across framework versions. This turns that silent assumption into a checked contract (issue #215). @@ -56,7 +56,7 @@ private static int Main() { Console.WriteLine($"RUNTIME={RuntimeInformation.FrameworkDescription}"); // The seeded common-surface batch for THIS asset, on one grep-safe line (every draw renders to printable - // ASCII). dummies.yml diffs it against the other leg's banner to prove cross-asset seed equality. Emitted + // ASCII). justdummies.yml diffs it against the other leg's banner to prove cross-asset seed equality. Emitted // here with the other identifying banners, before the checks run; a leg that no-oped would omit it. Console.WriteLine($"SEEDBATCH={SeedBatch(Any.WithSeed(CrossTfmSeed))}"); diff --git a/tools/dummies-check/nuget.config b/tools/justdummies-check/nuget.config similarity index 67% rename from tools/dummies-check/nuget.config rename to tools/justdummies-check/nuget.config index 3f8f0818..98880567 100644 --- a/tools/dummies-check/nuget.config +++ b/tools/justdummies-check/nuget.config @@ -3,26 +3,26 @@ - - + diff --git a/tools/packaging/pack.sh b/tools/packaging/pack.sh index a9513369..87834101 100755 --- a/tools/packaging/pack.sh +++ b/tools/packaging/pack.sh @@ -17,7 +17,7 @@ # and released independently: # lib -> FirstClassErrors + FirstClassErrors.Testing + FirstClassErrors.RequestBinder (lockstep) # cli -> FirstClassErrors.Cli (the `fce` .NET tool) -# dum -> Dummies (the standalone arbitrary-test-value library) +# dum -> JustDummies (the standalone arbitrary-test-value library) set -eu @@ -47,12 +47,12 @@ case "$scope" in projects='FirstClassErrors.Cli/FirstClassErrors.Cli.csproj' ;; dum) - # Dummies, the standalone arbitrary-test-value library, and its xUnit v3 companion. Deliberately + # JustDummies, the standalone arbitrary-test-value library, and its xUnit v3 companion. Deliberately # independent of everything else in this repository (ADR-0011): neither references a FirstClassErrors # project, so they release on their own train and their packages must declare no FirstClassErrors - # dependency -- asserted below. Dummies.Xunit rides this train because it versions with the library it - # adapts (ADR-0036); if Dummies ever moves to its own repository, that pairing is worth revisiting. - projects='Dummies/Dummies.csproj Dummies.Xunit/Dummies.Xunit.csproj' + # dependency -- asserted below. JustDummies.Xunit rides this train because it versions with the library it + # adapts (ADR-0036); if JustDummies ever moves to its own repository, that pairing is worth revisiting. + projects='JustDummies/JustDummies.csproj JustDummies.Xunit/JustDummies.Xunit.csproj' ;; *) echo "error: unknown scope '$scope' (expected 'lib', 'cli' or 'dum')" >&2 @@ -98,17 +98,17 @@ EOF echo "ok: every lib-train package pins its FirstClassErrors dependency to the co-published $version" fi -# Standalone guard for the dum train. Dummies' whole identity is that it depends on nothing (ADR-0011): +# Standalone guard for the dum train. JustDummies' whole identity is that it depends on nothing (ADR-0011): # an architecture test asserts it at build time, and this asserts it on the shipped artifact itself -- a # FirstClassErrors dependency sneaking into the nuspec must fail the pack, not surface on nuget.org. if [ "$scope" = "dum" ]; then - for package in artifacts/Dummies.*.nupkg; do + for package in artifacts/JustDummies.*.nupkg; do # Fail CLOSED, like the cli guard: an unmatched glob or an unreadable nuspec must not pass as # "standalone" -- read the nuspec first (unzip fails loudly on both), then reject any # FirstClassErrors dependency found in it. nuspec="$(unzip -p "$package" '*.nuspec')" || { echo "error: cannot read the nuspec from $package" >&2; exit 1; } if printf '%s\n' "$nuspec" | grep -q ']*id="FirstClassErrors'; then - echo "error: $package declares a FirstClassErrors dependency; Dummies is standalone (ADR-0011)" >&2 + echo "error: $package declares a FirstClassErrors dependency; JustDummies is standalone (ADR-0011)" >&2 exit 1 fi echo "ok: $package is standalone (no FirstClassErrors dependency)" diff --git a/tools/packaging/release-notes.sh b/tools/packaging/release-notes.sh index 1b6b0b57..4898848e 100755 --- a/tools/packaging/release-notes.sh +++ b/tools/packaging/release-notes.sh @@ -5,7 +5,7 @@ # The partition is by Conventional Commit scope (enforced by tools/commit-lint): # lib -> scopes core, analyzers, testing, binder (FirstClassErrors + .Testing + .RequestBinder) # cli -> scopes cli, gendoc (the fce tool: CLI + GenDoc + worker) -# dum -> scope dummies (the standalone Dummies library) +# dum -> scope justdummies (the standalone JustDummies library) # Commits with no scope (bare `ci:`, `build:`, `chore:` ...) are infrastructure and are left out # of both trains: these notes describe what changed for the consumer of the package, nothing else. # diff --git a/tools/trains.sh b/tools/trains.sh index 144e033a..36b17e2c 100644 --- a/tools/trains.sh +++ b/tools/trains.sh @@ -24,7 +24,7 @@ trains_rows() { cat <<'ROWS' lib|lib-v|core,analyzers,testing,binder|CHANGELOG.md|FirstClassErrors, FirstClassErrors.Testing and FirstClassErrors.RequestBinder cli|cli-v|cli,gendoc|FirstClassErrors.Cli/CHANGELOG.md|FirstClassErrors.Cli (the fce .NET tool) -dum|dum-v|dummies|Dummies/CHANGELOG.md|Dummies +dum|dum-v|justdummies|JustDummies/CHANGELOG.md|JustDummies ROWS }