Logical Matchers

Boolean logic using other matchers.

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

Bases: BaseMatcher[T]

Parameters:

matchers (Matcher[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:
  • item (T) – The item that the Matcher has rejected.

  • mismatch_description (Description) – The description to be built or appended to.

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 (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:
  • item (T) – The object against which the matcher is evaluated.

  • mismatch_description (Optional[Description]) –

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:
  • matcher1,... – A comma-separated list of matchers.

  • items (Union[Matcher[T], T]) –

Return type:

Matcher[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: BaseMatcher[T]

Parameters:

matchers (Matcher[T]) –

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 (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:
  • matcher1,... – A comma-separated list of matchers.

  • items (Union[Matcher[T], T]) –

Return type:

Matcher[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: BaseMatcher[Any]

Parameters:

description (Optional[str]) –

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 (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:

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: BaseMatcher[T]

Parameters:

matcher (Matcher[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:
  • item (T) – The item that the Matcher has rejected.

  • mismatch_description (Description) – The description to be built or appended to.

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 (Description) – The description to be built or appended to.

Return type:

None

hamcrest.core.core.isnot.is_not(match: Type) Matcher[object]
hamcrest.core.core.isnot.is_not(match: Union[Matcher[T], T]) Matcher[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[Matcher[T], T]) –

Return type:

Matcher[T]