Modules
Generates a dispatch facade for a vanilla Elixir @behaviour module.
Macro for defining contract behaviours with defcallback declarations.
Dispatch resolution for DoubleDown contracts.
A deferred execution marker.
Structs describing the three handler types that can be installed for
a contract via DoubleDown.Testing.
Handler meta for a module-based implementation.
Handler meta for a stateful (4/5-arity) function handler.
Handler meta for a stateless 3-arity function handler (contract, operation, args).
Centralised NimbleOwnership key helpers for DoubleDown dispatch.
Sentinel value returned from expect responders to delegate to the fallback/fake instead of returning a result directly.
Behaviour for stateful fake handler modules.
Behaviour for stateless stub handler modules.
Shared type definitions for DoubleDown dispatch.
Generates a dispatch facade for a DoubleDown.Contract.
Mox-style expect/stub handler declarations with immediate effect.
State for DoubleDown.Double.canonical_handler/5.
Dispatch-time logic for DoubleDown.Double's canonical handler.
Shared type definitions for per-operation functions in DoubleDown.Double.
Dynamic dispatch facades for existing modules.
Ensures DynamicFacade-shimmed modules retain :cover instrumentation.
Log-based expectation matcher for DoubleDown dispatch logs.
Repo contract for common Ecto Repo operations.
Steps through an Ecto.Multi without a real database transaction.
Stateful in-memory Repo fake (closed-world). Recommended default.
Stateful in-memory Repo fake (open-world).
Stateless stub for DoubleDown.Repo.
Test helpers for DoubleDown contracts.