View Source API Reference Bond v1.9.0

Modules

Design by Contract for Elixir.

Declare @pre/@post contracts on a behaviour's @callbacks and have them enforced on every implementing module.

Exception raised when a Bond.check/1 assertion fails.

Runtime control over which kinds of contract Bond evaluates.

Exception raised when an invariant is violated.

Exception raised when a function postcondition fails.

Exception raised when a function precondition fails.

Functions, operators, and quantifiers for building the boolean expressions used in contracts and assertions.

Property-based testing helpers that drive Bond-contracted functions with random inputs.

Raised by Bond.PropertyTest.probe_contract/2 when a function's precondition is so restrictive that StreamData discards too many consecutive generated inputs before finding enough that satisfy @pre.

Declare @pre/@post contracts on a defprotocol's functions and have them enforced across every implementation — present or future — at the dispatch boundary.

Opt-in contract refinement for a defimpl block.

Design by Contract for GenServer process state.

ExUnit helpers for asserting that Bond contract violations are raised.