PropWise.Analyzer (PropWise v0.3.2)

View Source

Main analyzer that combines purity analysis and pattern detection to score functions.

Summary

Functions

Analyzes a single function and returns a scored result.

Analyzes all functions in a project and returns candidates for property-based testing.

Types

analysis_result()

@type analysis_result() :: %{
  candidates: [PropWise.Candidate.t()],
  inverse_pairs: [map()],
  total_functions: non_neg_integer(),
  candidates_count: non_neg_integer(),
  dropped_count: non_neg_integer()
}

Functions

analyze_function(function_info, library \\ :stream_data)

@spec analyze_function(PropWise.FunctionInfo.t() | map(), atom()) ::
  PropWise.Candidate.t()

Analyzes a single function and returns a scored result.

analyze_project(path, opts \\ [])

@spec analyze_project(
  String.t(),
  keyword()
) :: analysis_result()

Analyzes all functions in a project and returns candidates for property-based testing.