AB.Generators (AB v0.2.1)
View SourceFunctions for generating valid test data from type specifications.
Summary
Functions
Creates input generators from type specifications. Returns a generator that produces lists of arguments.
Resolves a user type from a module's type definitions. Returns the resolved type or nil if not found.
Converts a type specification to a StreamData generator.
Types
@type typespec_ast() :: {:type, non_neg_integer(), atom(), [typespec_ast()]} | {:atom, non_neg_integer(), atom()} | {:integer, non_neg_integer(), integer()} | {:user_type, non_neg_integer(), atom(), [typespec_ast()]} | {:remote_type, non_neg_integer(), [typespec_ast()]}
Functions
@spec create_input_generator([typespec_ast()], module() | nil) :: any()
Creates input generators from type specifications. Returns a generator that produces lists of arguments.
Optionally accepts a module to resolve user-defined type aliases.
Resolves a user type from a module's type definitions. Returns the resolved type or nil if not found.
@spec type_to_generator(typespec_ast(), module() | nil) :: any()
Converts a type specification to a StreamData generator.
Optionally accepts a module to resolve user-defined type aliases.