exmen v0.1.0 Exmen.Discover.Discoverer

Abstraction layer to discover mutations by provided middleware.

Summary

Functions

Discover mutations in the quoted ast

Discover mutations from a list of file paths

Functions

find_mutations(pid, ast)

Discover mutations in the quoted ast

Examples

iex> alias Exmen.Discover.{Discoverer, Middleware}
iex> alias Exmen.Discover.Middleware.Math
iex> middlewares = [%Middleware{module: Math}]
iex> {:ok, pid} = Discoverer.start_link(middlewares)
iex> ast = quote(do: 1 + 1)
iex> [{mutation, _, _}] = Discoverer.find_mutations(pid, ast)
iex> mutation
:-
find_mutations_from_files(pid, files)

Discover mutations from a list of file paths

Examples

iex> alias Exmen.Discover.{Discoverer, Middleware}
iex> alias Exmen.Discover.Middleware.Math
iex> middlewares = [%Middleware{module: Math}]
iex> {:ok, pid} = Discoverer.start_link(middlewares)
iex> files = Path.wildcard("./**/*.ex")
iex> mutations = Discoverer.find_mutations_from_files(pid, files)
iex> length(mutations) > 0
true
get_middlewares(pid)
start_link(middlewares)