<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@contract-case/case-definition-dsl](./case-definition-dsl.md) &gt; [matchers](./case-definition-dsl.matchers.md) &gt; [base](./case-definition-dsl.matchers.base.md)

## matchers.base namespace

## Abstract Classes

<table><thead><tr><th>

Abstract Class

</th><th>

Description

</th></tr></thead>
<tbody><tr><td>

[AnyMatcher](./case-definition-dsl.matchers.base.anymatcher.md)

</td><td>

The base class for all Test Equivalence Matchers. Extend this if you don't have an example in your Matcher. Otherwise, use `AnyMatcherWithExample`

</td></tr>
<tr><td>

[AnyMatcherWithExample](./case-definition-dsl.matchers.base.anymatcherwithexample.md)

</td><td>

The base class for all Test Equivalence Matchers that have examples provided. Extend this if your matcher knows what the example will be. Otherwise, use `matchers.AnyMatcher`

</td></tr>
<tr><td>

[CascadingContextMatcher](./case-definition-dsl.matchers.base.cascadingcontextmatcher.md)

</td><td>

This is a passthrough matcher that does nothing except call the child matcher with the current actual data.

It's useful for taking advantage of the context cascading available on all matchers without needing to write you own matcher. Extend it if you want to make a matcher that only changes the context object. If you don't know what this means, you don't need to extend this matcher.

Due to limitations with JSii, extending implementations MUST NOT override `toJSON`<!-- -->, or MUST return the result of `super.toJSON()` as part of their toJSON method.

</td></tr>
</tbody></table>
