PropWise.Candidate (PropWise v0.3.2)

View Source

Represents a scored property-based testing candidate.

Summary

Types

pattern()

@type pattern() :: {pattern_type(), String.t()}

pattern_type()

@type pattern_type() ::
  :collection_operation
  | :transformation
  | :validation
  | :algebraic
  | :encoder_decoder
  | :parser
  | :numeric

purity()

@type purity() :: {:pure, []} | {:impure, [side_effect()]}

side_effect()

@type side_effect() ::
  {:module_call, module(), atom(), non_neg_integer()}
  | {:function_call, atom(), non_neg_integer()}
  | {:receive_block}

t()

@type t() :: %PropWise.Candidate{
  arity: non_neg_integer(),
  file: String.t(),
  line: pos_integer(),
  module: String.t(),
  name: atom(),
  patterns: [pattern()],
  purity: purity(),
  score: non_neg_integer(),
  suggestions: [String.t()],
  type: :public | :private
}