CHANGELOG

v1.0.0

1. Overview

The package is much smaller now and just provides support for the other packages in the Harnais family.

2. Standard Function API Style

The package family has adopted a standard API style that returns either {:ok, any} or {:error, error} where error is an Exception.

Peer bang functions raise the error or return the value.

2. Breaking Internal Changes

These changes do not affect the public APIs.

Renamed Harnais.Attributes as Harnais.Attribute

Consistent use of singular module names.

Deleted Harnais.Runner Modules, etc

Harnais.Runner related modules, attributes, etc have been deleted from this package and are migrating into its own package.

Deleted Other Modules

Other utility modules have been deleted.

v0.2.0

1. Enhancements

More consistent naming of functions.

Improvements to transforming a test_specification

A new option test_transform has been added to define the complete transform pipeline applied to a test_specification. The test_transform can be one or more arity 1 or 2 functions.

If no test_transform is provided, the test_mapper functions (if any) and the internal normalisation function(s) are used to define the transform pipeline.

The transform pipeline is composed into a single transform function that is applied to all tests.

Any function that returns a nil short circuits the pipeline and causes the test to be discarded.

Separated the normalisation of the runner specification from a test specification.

In v0.1.0 the allowed aliases included (conflated) both the runner specification and test specification. These are now separated so that a test specification key (e.g. :c) may not appear in the runner specification. Note some keys appear in both (e.g. :test_value)

Added

  1. Harnais.runner_test_normalise_canon_keys/1
  2. Harnais.runner_test_normalise_canon_keys!/1
  3. Harnais.runner_test_maybe_normalise_canon_keys/1
  4. Harnais.runner_spec_normalise_canon_keys/1
  5. Harnais.runner_spec_normalise_canon_keys!/1
  6. Harnais.runner_spec_maybe_normalise_canon_keys/1

These functions can be used in e.g. a test_mapper or helper function to normalise the keys in the runner specification or a test_specification.

Begun adding standard test suites in `Harnais.Runner.Tests`

The suites can be used to test e.g. delegations. So far suites for Map and Stream / Enum.

Each test is a suite is `Map` form where the keys are the shortest alias (e.g. :v not :test_value). Test mappers can be applied in the usual way.

v0.1.0 - 1st Release