Logical Matchers

Boolean logic using other matchers.

class hamcrest.core.core.allof.AllOf(*matchers, **kwargs)

Bases: hamcrest.core.base_matcher.BaseMatcher[hamcrest.core.core.allof.T]

Parameters

matchers (hamcrest.core.matcher.Matcher[hamcrest.core.core.allof.T]) –

describe_mismatch(item, mismatch_description)

Generates a description of why the matcher has not accepted the item.

The description will be part of a larger description of why a matching failed, so it should be concise.

This method assumes that matches(item) is False, but will not check this.

Parameters
Return type

None

describe_to(description)

Generates a description of the object.

The description may be part of a description of a larger object of which this is just a component, so it should be worded appropriately.

Parameters

description (hamcrest.core.description.Description) – The description to be built or appended to.

Return type

None

matches(item, mismatch_description=None)

Evaluates the matcher for argument item.

If a mismatch is detected and argument mismatch_description is provided, it will generate a description of why the matcher has not accepted the item.

Parameters
Returns

True if item matches, otherwise False.

Return type

bool

hamcrest.core.core.allof.all_of(*items)

Matches if all of the given matchers evaluate to True.

Parameters
Return type

hamcrest.core.matcher.Matcher[hamcrest.core.core.allof.T]

The matchers are evaluated from left to right using short-circuit evaluation, so evaluation stops as soon as a matcher returns False.

Any argument that is not a matcher is implicitly wrapped in an equal_to matcher to check for equality.

class hamcrest.core.core.anyof.AnyOf(*matchers)

Bases: hamcrest.core.base_matcher.BaseMatcher[hamcrest.core.core.anyof.T]

Parameters

matchers (hamcrest.core.matcher.Matcher[hamcrest.core.core.anyof.T]) –

Return type

None

describe_to(description)

Generates a description of the object.

The description may be part of a description of a larger object of which this is just a component, so it should be worded appropriately.

Parameters

description (hamcrest.core.description.Description) – The description to be built or appended to.

Return type

None

hamcrest.core.core.anyof.any_of(*items)

Matches if any of the given matchers evaluate to True.

Parameters
Return type

hamcrest.core.matcher.Matcher[hamcrest.core.core.anyof.T]

The matchers are evaluated from left to right using short-circuit evaluation, so evaluation stops as soon as a matcher returns True.

Any argument that is not a matcher is implicitly wrapped in an equal_to matcher to check for equality.

class hamcrest.core.core.isanything.IsAnything(description)

Bases: hamcrest.core.base_matcher.BaseMatcher[Any]

Parameters

description (Optional[str]) –

Return type

None

describe_to(description)

Generates a description of the object.

The description may be part of a description of a larger object of which this is just a component, so it should be worded appropriately.

Parameters

description (hamcrest.core.description.Description) – The description to be built or appended to.

Return type

None

hamcrest.core.core.isanything.anything(description=None)

Matches anything.

Parameters

description (Optional[str]) – Optional string used to describe this matcher.

Return type

hamcrest.core.matcher.Matcher[Any]

This matcher always evaluates to True. Specify this in composite matchers when the value of a particular element is unimportant.

class hamcrest.core.core.isnot.IsNot(matcher)

Bases: hamcrest.core.base_matcher.BaseMatcher[hamcrest.core.core.isnot.T]

Parameters

matcher (hamcrest.core.matcher.Matcher[hamcrest.core.core.isnot.T]) –

Return type

None

describe_mismatch(item, mismatch_description)

Generates a description of why the matcher has not accepted the item.

The description will be part of a larger description of why a matching failed, so it should be concise.

This method assumes that matches(item) is False, but will not check this.

Parameters
Return type

None

describe_to(description)

Generates a description of the object.

The description may be part of a description of a larger object of which this is just a component, so it should be worded appropriately.

Parameters

description (hamcrest.core.description.Description) – The description to be built or appended to.

Return type

None

hamcrest.core.core.isnot.is_not(match: Type) hamcrest.core.matcher.Matcher[object]
hamcrest.core.core.isnot.is_not(match: Union[hamcrest.core.matcher.Matcher[hamcrest.core.core.isnot.T], hamcrest.core.core.isnot.T]) hamcrest.core.matcher.Matcher[hamcrest.core.core.isnot.T]

Inverts the given matcher to its logical negation.

Parameters

match – The matcher to negate.

This matcher compares the evaluated object to the negation of the given matcher. If the match argument is not a matcher, it is implicitly wrapped in an equal_to matcher to check for equality, and thus matches for inequality.

Examples:

assert_that(cheese, is_not(equal_to(smelly)))
assert_that(cheese, is_not(smelly))
hamcrest.core.core.isnot.not_(match)

Alias of is_not for better readability of negations.

Examples:

assert_that(alist, not_(has_item(item)))
Parameters

match (Union[hamcrest.core.matcher.Matcher[hamcrest.core.core.isnot.T], hamcrest.core.core.isnot.T]) –

Return type

hamcrest.core.matcher.Matcher[hamcrest.core.core.isnot.T]