# `Machete.AllMatcher`
[🔗](https://github.com/mtrudel/machete/blob/main/lib/machete/matchers/all_matcher.ex#L1)

Defines a matcher that matches against a set of matchers, requiring all of them to match

# `t`

```elixir
@opaque t()
```

Describes an instance of this matcher

# `all`

```elixir
@spec all([Machete.Matchable.t()]) :: t()
```

Matches against a set of matchers, requiring all of them to match

Takes a list of matchers as its sole (mandatory) argument

Examples:

    iex> assert "abc" ~> all([term(), string()])
    true

    iex> refute :abc ~> all([term(), string()])
    false

---

*Consult [api-reference.md](api-reference.md) for complete listing*
