ExopData v0.1.1 ExopData View Source
ExopData utilize the power of two libs: Exop & StreamData to help you write property-based tests. ExopData generates properties (essentially generates StreamData generators) based on Exop operation’s contract.
A contract is a list of maps %{name: atom(), opts: keyword()}
, where each map represents
a single parameter (%{name: :param_a, opts: [type: :string, required: true, length: %{min: 1}]}
)
For more information on Exop, operations, contracts and checks see https://github.com/madeinussr/exop
Link to this section Summary
Functions
Returns a StreamData generator for either an Exop operation or a contract
Returns a StreamData generator for parameter’s opts and props opts given to ExopData generator
Link to this section Types
Link to this section Functions
generate(module() | ExopData.contract(), keyword()) :: StreamData.t()
Returns a StreamData generator for either an Exop operation or a contract.
generator_for_opts(map(), map()) :: StreamData.t()
Returns a StreamData generator for parameter’s opts and props opts given to ExopData generator.