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
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
  • item (Mapping[hamcrest.library.collection.isdict_containingentries.K, hamcrest.library.collection.isdict_containingentries.V]) – The item that the Matcher has rejected.

  • mismatch_description (hamcrest.core.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 (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.library.collection.isdict_containingentries.has_entries(**keys_valuematchers: Union[hamcrest.core.matcher.Matcher[hamcrest.library.collection.isdict_containingentries.V], hamcrest.library.collection.isdict_containingentries.V]) hamcrest.core.matcher.Matcher[Mapping[str, hamcrest.library.collection.isdict_containingentries.V]]
hamcrest.library.collection.isdict_containingentries.has_entries(keys_valuematchers: Mapping[hamcrest.library.collection.isdict_containingentries.K, Union[hamcrest.core.matcher.Matcher[hamcrest.library.collection.isdict_containingentries.V], hamcrest.library.collection.isdict_containingentries.V]]) hamcrest.core.matcher.Matcher[Mapping[hamcrest.library.collection.isdict_containingentries.K, hamcrest.library.collection.isdict_containingentries.V]]
hamcrest.library.collection.isdict_containingentries.has_entries(*keys_valuematchers: Any) hamcrest.core.matcher.Matcher[Mapping[Any, Any]]

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) is True, but will not check this.

Parameters
  • item (Mapping[hamcrest.library.collection.isdict_containing.K, hamcrest.library.collection.isdict_containing.V]) – The item that the Matcher has accepted.

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

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
  • item (Mapping[hamcrest.library.collection.isdict_containing.K, hamcrest.library.collection.isdict_containing.V]) – The item that the Matcher has rejected.

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

Return type

None

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[hamcrest.library.collection.isdict_containing.K, hamcrest.core.matcher.Matcher[hamcrest.library.collection.isdict_containing.K]]) – The matcher to satisfy for the key, or an expected value for equal_to matching.

  • value_match (Union[hamcrest.library.collection.isdict_containing.V, hamcrest.core.matcher.Matcher[hamcrest.library.collection.isdict_containing.V]]) – The matcher to satisfy for the value, or an expected value for equal_to matching.

Return type

hamcrest.core.matcher.Matcher[Mapping[hamcrest.library.collection.isdict_containing.K, hamcrest.library.collection.isdict_containing.V]]

This matcher iterates the evaluated dictionary, searching for any key-value entry that satisfies key_match and value_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

None

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[hamcrest.library.collection.isdict_containingkey.K, hamcrest.core.matcher.Matcher[hamcrest.library.collection.isdict_containingkey.K]]) – The matcher to satisfy for the key, or an expected value for equal_to matching.

Return type

hamcrest.core.matcher.Matcher[Mapping[hamcrest.library.collection.isdict_containingkey.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

None

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[hamcrest.library.collection.isdict_containingvalue.V, hamcrest.core.matcher.Matcher[hamcrest.library.collection.isdict_containingvalue.V]]) –

Return type

hamcrest.core.matcher.Matcher[Mapping[Any, hamcrest.library.collection.isdict_containingvalue.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')