Sequence Matchers¶
Matchers of sequences.
contains_exactly¶
-
class
hamcrest.library.collection.issequence_containinginorder.
IsSequenceContainingInOrder
(matchers: Sequence[hamcrest.core.matcher.Matcher[~T][T]])¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
-
describe_mismatch
(item: Sequence[T], mismatch_description: hamcrest.core.description.Description) → None¶ 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)
isFalse
, but will not check this.Parameters: - item – The item that the
Matcher
has rejected. - mismatch_description – The description to be built or appended to.
- item – The item that the
-
describe_to
(description: hamcrest.core.description.Description) → None¶ 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 – The description to be built or appended to.
-
matches
(item: Sequence[T], mismatch_description: Optional[hamcrest.core.description.Description] = None) → bool¶ 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 – The object against which the matcher is evaluated.
- mismatch_description –
Returns: True
ifitem
matches, otherwiseFalse
.
-
-
hamcrest.library.collection.issequence_containinginorder.
contains_exactly
(match1[, match2[, ...]])¶ Matches if sequence’s elements satisfy a given list of matchers, in order.
Parameters: match1,.. – A comma-separated list of matchers. This matcher iterates the evaluated sequence and a given list of matchers, seeing if each element satisfies its corresponding matcher.
Any argument that is not a matcher is implicitly wrapped in an
equal_to
matcher to check for equality.
contains_inanyorder¶
-
class
hamcrest.library.collection.issequence_containinginanyorder.
IsSequenceContainingInAnyOrder
(matchers: Sequence[hamcrest.core.matcher.Matcher[~T][T]])¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
-
describe_mismatch
(item: Sequence[T], mismatch_description: hamcrest.core.description.Description) → None¶ 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)
isFalse
, but will not check this.Parameters: - item – The item that the
Matcher
has rejected. - mismatch_description – The description to be built or appended to.
- item – The item that the
-
describe_to
(description: hamcrest.core.description.Description) → None¶ 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 – The description to be built or appended to.
-
matches
(item: Sequence[T], mismatch_description: Optional[hamcrest.core.description.Description] = None) → bool¶ 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 – The object against which the matcher is evaluated.
- mismatch_description –
Returns: True
ifitem
matches, otherwiseFalse
.
-
-
hamcrest.library.collection.issequence_containinginanyorder.
contains_inanyorder
(match1[, match2[, ...]])¶ Matches if sequences’s elements, in any order, satisfy a given list of matchers.
Parameters: match1,.. – A comma-separated list of matchers. This matcher iterates the evaluated sequence, seeing if each element satisfies any of the given matchers. The matchers are tried from left to right, and when a satisfied matcher is found, it is no longer a candidate for the remaining elements. If a one-to-one correspondence is established between elements and matchers,
contains_inanyorder
is satisfied.Any argument that is not a matcher is implicitly wrapped in an
equal_to
matcher to check for equality.
has_item, has_items¶
-
class
hamcrest.library.collection.issequence_containing.
IsSequenceContaining
(element_matcher: hamcrest.core.matcher.Matcher[~T][T])¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
-
describe_to
(description: hamcrest.core.description.Description) → None¶ 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 – The description to be built or appended to.
-
-
class
hamcrest.library.collection.issequence_containing.
IsSequenceContainingEvery
(*element_matchers)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
-
describe_mismatch
(item: Sequence[T], mismatch_description: hamcrest.core.description.Description) → None¶ 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)
isFalse
, but will not check this.Parameters: - item – The item that the
Matcher
has rejected. - mismatch_description – The description to be built or appended to.
- item – The item that the
-
describe_to
(description: hamcrest.core.description.Description) → None¶ 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 – The description to be built or appended to.
-
-
hamcrest.library.collection.issequence_containing.
has_item
(match: Union[hamcrest.core.matcher.Matcher[~T][T], T]) → hamcrest.core.matcher.Matcher[typing.Sequence[~T]][Sequence[T]]¶ Matches if any element of sequence satisfies a given matcher.
Parameters: match – The matcher to satisfy, or an expected value for equal_to
matching.This matcher iterates the evaluated sequence, searching for any element that satisfies a given matcher. If a matching element is found,
has_item
is satisfied.If the
match
argument is not a matcher, it is implicitly wrapped in anequal_to
matcher to check for equality.
-
hamcrest.library.collection.issequence_containing.
has_items
(match1[, match2[, ...]])¶ Matches if all of the given matchers are satisfied by any elements of the sequence.
Parameters: match1,.. – A comma-separated list of matchers. This matcher iterates the given matchers, searching for any elements in the evaluated sequence that satisfy them. If each matcher is satisfied, then
has_items
is satisfied.Any argument that is not a matcher is implicitly wrapped in an
equal_to
matcher to check for equality.
is_in¶
-
class
hamcrest.library.collection.isin.
IsIn
(sequence: Sequence[T])¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
-
describe_to
(description: hamcrest.core.description.Description) → None¶ 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 – The description to be built or appended to.
-
-
hamcrest.library.collection.isin.
is_in
(sequence: Sequence[T]) → hamcrest.core.matcher.Matcher[~T][T]¶ Matches if evaluated object is present in a given sequence.
Parameters: sequence – The sequence to search. This matcher invokes the
in
membership operator to determine if the evaluated object is a member of the sequence.
only_contains¶
-
class
hamcrest.library.collection.issequence_onlycontaining.
IsSequenceOnlyContaining
(matcher: hamcrest.core.matcher.Matcher[~T][T])¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
-
describe_to
(description: hamcrest.core.description.Description) → None¶ 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 – The description to be built or appended to.
-
-
hamcrest.library.collection.issequence_onlycontaining.
only_contains
(match1[, match2[, ...]])¶ Matches if each element of sequence satisfies any of the given matchers.
Parameters: match1,.. – A comma-separated list of matchers. This matcher iterates the evaluated sequence, confirming whether each element satisfies any of the given matchers.
Example:
only_contains(less_than(4))
will match
[3,1,2]
.Any argument that is not a matcher is implicitly wrapped in an
equal_to
matcher to check for equality.
empty¶
-
class
hamcrest.library.collection.is_empty.
IsEmpty
¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
-
describe_to
(description: hamcrest.core.description.Description) → None¶ 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 – The description to be built or appended to.
-
matches
(item: Sized, mismatch_description: Optional[hamcrest.core.description.Description] = None) → bool¶ 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 – The object against which the matcher is evaluated.
- mismatch_description –
Returns: True
ifitem
matches, otherwiseFalse
.
-
-
hamcrest.library.collection.is_empty.
empty
()¶ This matcher matches any collection-like object that responds to the __len__ method, and has a length of 0.