# Machete v0.3.12 - Table of Contents Literate test matchers for ExUnit ## Modules - [Machete](Machete.md): Machete provides ergonomic match operators to help make your ExUnit tests more literate - [Machete.Assertions](Machete.Assertions.md): Macros for use within the context of ExUnit tests, to provide `~>` awareness to `assert/1` and `refute/1` macros. Because macros cannot be defined in multiple modules, proper use of this module requires the user to take `ExUnit.Assertions`' version of `assert/1` and `refute/1` out of scope, and to allow this module's versions of those macros to call through to `ExUnit.Assertions`' version for conditions other than `~>`. See `Machete.__using__/1` for details. - [Machete.Matchable](Machete.Matchable.md): Defines a protocol to determine how a given term may match against a type. The `Machete.Matchable` protocol is central to the Machete library, and conformance to it is necessary for any type to be used on the right hand side of a `~>` match - [Machete.Mismatch](Machete.Mismatch.md): Data and functions to deal with representing mismatches - [Machete.NumberMatcher](Machete.NumberMatcher.md): Defines a matcher that matches number values. Comparison is done in a type-agnostic manner, for example `1.0 ~> number(exactly: 1)` matches, as does `1 ~> number(exactly: 1.0)`. - [Machete.NumericTimeMatcher](Machete.NumericTimeMatcher.md): Defines a matcher that matches integers that represent time against various measurements (`monotonic_time`, `system_time`, and `os_time`), and in various units (`:native`, millisecond, microsecond, nanosecond, etc). - [Machete.Operators](Machete.Operators.md): Defines implementations for the `~>` and `~>>` operators - Matchers - [Machete.AllMatcher](Machete.AllMatcher.md): Defines a matcher that matches against a set of matchers, requiring all of them to match - [Machete.AnyMatcher](Machete.AnyMatcher.md): Defines a matcher that matches against a set of matchers, requiring at least one of them to match - [Machete.AtomMatcher](Machete.AtomMatcher.md): Defines a matcher that matches atom values - [Machete.BooleanMatcher](Machete.BooleanMatcher.md): Defines a matcher that matches boolean values - [Machete.DateMatcher](Machete.DateMatcher.md): Defines a matcher that matches Date values - [Machete.DateTimeMatcher](Machete.DateTimeMatcher.md): Defines a matcher that matches DateTime values - [Machete.FalsyMatcher](Machete.FalsyMatcher.md): Defines a matcher that matches falsy values - [Machete.FloatMatcher](Machete.FloatMatcher.md): Defines a matcher that matches float values - [Machete.ISO8601DateTimeMatcher](Machete.ISO8601DateTimeMatcher.md): Defines a matcher that matches ISO8601 formatted strings - [Machete.InAnyOrderMatcher](Machete.InAnyOrderMatcher.md): Defines a matcher that matches lists in any order - [Machete.IndifferentAccessMatcher](Machete.IndifferentAccessMatcher.md): Defines a matcher that matches indifferently (that is, it considers similar atom and string keys to be equivalent) - [Machete.IntegerMatcher](Machete.IntegerMatcher.md): Defines a matcher that matches integer values - [Machete.IsAMatcher](Machete.IsAMatcher.md): Defines a matcher that matches againt a type of struct - [Machete.JSONMatcher](Machete.JSONMatcher.md): Defines a matcher that matches JSON documents - [Machete.ListMatcher](Machete.ListMatcher.md): Defines a matcher that matches lists - [Machete.MapMatcher](Machete.MapMatcher.md): Defines a matcher that matches maps - [Machete.MaybeMatcher](Machete.MaybeMatcher.md): Defines a matcher that matches against another matcher & also matches nil - [Machete.NaiveDateTimeMatcher](Machete.NaiveDateTimeMatcher.md): Defines a matcher that matches NaiveDateTime values - [Machete.NoneMatcher](Machete.NoneMatcher.md): Defines a matcher that matches against a set of matchers, requiring none of them to match - [Machete.PIDMatcher](Machete.PIDMatcher.md): Defines a matcher that matches PID values - [Machete.PortMatcher](Machete.PortMatcher.md): Defines a matcher that matches port values - [Machete.ReferenceMatcher](Machete.ReferenceMatcher.md): Defines a matcher that matches reference values - [Machete.StringMatcher](Machete.StringMatcher.md): Defines a matcher that matches string values - [Machete.StructLikeMatcher](Machete.StructLikeMatcher.md): Defines a matcher that matches structs only on a specified list of fields - [Machete.SubsetMatcher](Machete.SubsetMatcher.md): Defines a matcher that matches maps which are a subset of a specified map - [Machete.SupersetMatcher](Machete.SupersetMatcher.md): Defines a matcher that matches maps which are a superset of a specified map - [Machete.TermMatcher](Machete.TermMatcher.md): Defines a matcher that matches everything - [Machete.TimeMatcher](Machete.TimeMatcher.md): Defines a matcher that matches Time values - [Machete.TruthyMatcher](Machete.TruthyMatcher.md): Defines a matcher that matches truthy values - [Machete.UnixTimeMatcher](Machete.UnixTimeMatcher.md): Defines a matcher that matches integers that represent Unix time in milliseconds