Dictionary Matchers¶
Matchers of dictionaries.
has_entries¶
-
class
hamcrest.library.collection.isdict_containingentries.
IsDictContainingEntries
(value_matchers)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
[Mapping
[hamcrest.library.collection.isdict_containingentries.K
,hamcrest.library.collection.isdict_containingentries.V
]]-
describe_keyvalue
(index, value, description)¶ Describes key-value pair at given index.
- Parameters
index (int) –
value (V) –
description (hamcrest.core.description.Description) –
- Return type
-
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)
isFalse
, but will not check this.- Parameters
item (Mapping[K, V]) – The item that the
Matcher
has rejected.mismatch_description (hamcrest.core.description.Description) – The description to be built or appended to.
- Return type
-
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
-
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 (Mapping[K, V]) – The object against which the matcher is evaluated.
mismatch_description (Optional[hamcrest.core.description.Description]) –
- Returns
True
ifitem
matches, otherwiseFalse
.- Return type
-
-
hamcrest.library.collection.isdict_containingentries.
has_entries
(matcher_dict)¶ Matches if dictionary contains entries satisfying a dictionary of keys and corresponding value matchers.
- Parameters
matcher_dict – A dictionary mapping keys to associated value matchers, or to expected values for
equal_to
matching.
Note that the keys must be actual keys, not matchers. Any value argument that is not a matcher is implicitly wrapped in an
equal_to
matcher to check for equality.Examples:
has_entries({'foo':equal_to(1), 'bar':equal_to(2)}) has_entries({'foo':1, 'bar':2})
has_entries
also accepts a list of keyword arguments:-
hamcrest.library.collection.isdict_containingentries.
has_entries
(keyword1=value_matcher1[, keyword2=value_matcher2[, ...]])¶
- Parameters
keyword1 – A keyword to look up.
valueMatcher1 – The matcher to satisfy for the value, or an expected value for
equal_to
matching.
Examples:
has_entries(foo=equal_to(1), bar=equal_to(2)) has_entries(foo=1, bar=2)
Finally,
has_entries
also accepts a list of alternating keys and their value matchers:-
hamcrest.library.collection.isdict_containingentries.
has_entries
(key1, value_matcher1[, ...])¶
- Parameters
key1 – A key (not a matcher) to look up.
valueMatcher1 – The matcher to satisfy for the value, or an expected value for
equal_to
matching.
Examples:
has_entries('foo', equal_to(1), 'bar', equal_to(2)) has_entries('foo', 1, 'bar', 2)
has_entry¶
-
class
hamcrest.library.collection.isdict_containing.
IsDictContaining
(key_matcher, value_matcher)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
[Mapping
[hamcrest.library.collection.isdict_containing.K
,hamcrest.library.collection.isdict_containing.V
]]-
describe_match
(item, match_description)¶ Generates a description of why the matcher has accepted the item.
The description may be part of a larger description of why a matching failed, so it should be concise.
This method assumes that
matches(item)
isTrue
, but will not check this.- Parameters
item (Mapping[K, V]) – The item that the
Matcher
has accepted.match_description (hamcrest.core.description.Description) – The description to be built or appended to.
- Return type
-
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)
isFalse
, but will not check this.- Parameters
item (Mapping[K, V]) – The item that the
Matcher
has rejected.mismatch_description (hamcrest.core.description.Description) – The description to be built or appended to.
- Return type
-
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
-
-
hamcrest.library.collection.isdict_containing.
has_entry
(key_match, value_match)¶ Matches if dictionary contains key-value entry satisfying a given pair of matchers.
- Parameters
key_match (Union[K, hamcrest.core.matcher.Matcher[K]]) – The matcher to satisfy for the key, or an expected value for
equal_to
matching.value_match (Union[V, hamcrest.core.matcher.Matcher[V]]) – The matcher to satisfy for the value, or an expected value for
equal_to
matching.
- Return type
hamcrest.core.matcher.Matcher[Mapping[K, V]]
This matcher iterates the evaluated dictionary, searching for any key-value entry that satisfies
key_match
andvalue_match
. If a matching entry is found,has_entry
is satisfied.Any argument that is not a matcher is implicitly wrapped in an
equal_to
matcher to check for equality.Examples:
has_entry(equal_to('foo'), equal_to(1)) has_entry('foo', 1)
has_key¶
-
class
hamcrest.library.collection.isdict_containingkey.
IsDictContainingKey
(key_matcher)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
[Mapping
[hamcrest.library.collection.isdict_containingkey.K
,Any
]]-
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
-
-
hamcrest.library.collection.isdict_containingkey.
has_key
(key_match)¶ Matches if dictionary contains an entry whose key satisfies a given matcher.
- Parameters
key_match (Union[K, hamcrest.core.matcher.Matcher[K]]) – The matcher to satisfy for the key, or an expected value for
equal_to
matching.- Return type
hamcrest.core.matcher.Matcher[Mapping[K, Any]]
This matcher iterates the evaluated dictionary, searching for any key-value entry whose key satisfies the given matcher. If a matching entry is found,
has_key
is satisfied.Any argument that is not a matcher is implicitly wrapped in an
equal_to
matcher to check for equality.Examples:
has_key(equal_to('foo')) has_key('foo')
has_value¶
-
class
hamcrest.library.collection.isdict_containingvalue.
IsDictContainingValue
(value_matcher)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher
[Mapping
[Any
,hamcrest.library.collection.isdict_containingvalue.V
]]-
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
-
-
hamcrest.library.collection.isdict_containingvalue.
has_value
(value)¶ Matches if dictionary contains an entry whose value satisfies a given matcher.
- Parameters
value_match – The matcher to satisfy for the value, or an expected value for
equal_to
matching.value (Union[V, hamcrest.core.matcher.Matcher[V]]) –
- Return type
hamcrest.core.matcher.Matcher[Mapping[Any, V]]
This matcher iterates the evaluated dictionary, searching for any key-value entry whose value satisfies the given matcher. If a matching entry is found,
has_value
is satisfied.Any argument that is not a matcher is implicitly wrapped in an
equal_to
matcher to check for equality.Examples:
has_value(equal_to('bar')) has_value('bar')