Object Matchers¶
Matchers that inspect objects.
equal_to¶
-
class
hamcrest.core.core.isequal.IsEqual(equals)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher-
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 – The description to be built or appended to.
-
-
hamcrest.core.core.isequal.equal_to(obj)¶ Matches if object is equal to a given object.
- Parameters
obj – The object to compare against as the expected value.
This matcher compares the evaluated object to
objfor equality.
has_length¶
-
class
hamcrest.library.object.haslength.HasLength(len_matcher)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher-
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 – The item that the
Matcherhas rejected.mismatch_description – The description to be built or appended to.
-
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 – The description to be built or appended to.
-
-
hamcrest.library.object.haslength.has_length(match)¶ Matches if
len(item)satisfies a given matcher.- Parameters
match – The matcher to satisfy, or an expected value for
equal_tomatching.
This matcher invokes the
lenfunction on the evaluated object to get its length, passing the result to a given matcher for evaluation.If the
matchargument is not a matcher, it is implicitly wrapped in anequal_tomatcher to check for :equality.Examples:
has_length(greater_than(6)) has_length(5)
has_string¶
-
class
hamcrest.library.object.hasstring.HasString(str_matcher)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher-
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 – The description to be built or appended to.
-
-
hamcrest.library.object.hasstring.has_string(match)¶ Matches if
str(item)satisfies a given matcher.- Parameters
match – The matcher to satisfy, or an expected value for
equal_tomatching.
This matcher invokes the
strfunction on the evaluated object to get its length, passing the result to a given matcher for evaluation. If thematchargument is not a matcher, it is implicitly wrapped in anequal_tomatcher to check for equality.Examples:
has_string(starts_with('foo')) has_string('bar')
has_properties/has_property¶
-
class
hamcrest.library.object.hasproperty.IsObjectWithProperty(property_name, value_matcher)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher-
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 – The item that the
Matcherhas rejected.mismatch_description – The description to be built or appended to.
-
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 – The description to be built or appended to.
-
-
hamcrest.library.object.hasproperty.has_properties(*keys_valuematchers, **kv_args)¶ Matches if an object has properties satisfying all of a dictionary of string property names and corresponding value matchers.
- Parameters
matcher_dict – A dictionary mapping keys to associated value matchers, or to expected values for
equal_tomatching.
Note that the keys must be actual keys, not matchers. Any value argument that is not a matcher is implicitly wrapped in an
equal_tomatcher to check for equality.Examples:
has_properties({'foo':equal_to(1), 'bar':equal_to(2)}) has_properties({'foo':1, 'bar':2})
has_propertiesalso accepts a list of keyword arguments:-
hamcrest.library.object.hasproperty.has_properties(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_tomatching.
Examples:
has_properties(foo=equal_to(1), bar=equal_to(2)) has_properties(foo=1, bar=2)
Finally,
has_propertiesalso accepts a list of alternating keys and their value matchers:-
hamcrest.library.object.hasproperty.has_properties(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_tomatching.
Examples:
has_properties('foo', equal_to(1), 'bar', equal_to(2)) has_properties('foo', 1, 'bar', 2)
-
hamcrest.library.object.hasproperty.has_property(name, match=None)¶ Matches if object has a property with a given name whose value satisfies a given matcher.
- Parameters
name – The name of the property.
match – Optional matcher to satisfy.
This matcher determines if the evaluated object has a property with a given name. If no such property is found,
has_propertyis not satisfied.If the property is found, its value is passed to a given matcher for evaluation. If the
matchargument is not a matcher, it is implicitly wrapped in anequal_tomatcher to check for equality.If the
matchargument is not provided, theanythingmatcher is used so thathas_propertyis satisfied if a matching property is found.Examples:
has_property('name', starts_with('J')) has_property('name', 'Jon') has_property('name')
instance_of¶
-
class
hamcrest.core.core.isinstanceof.IsInstanceOf(expected_type)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher-
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 – The description to be built or appended to.
-
-
hamcrest.core.core.isinstanceof.instance_of(atype)¶ Matches if object is an instance of, or inherits from, a given type.
- Parameters
atype – The type to compare against as the expected type.
This matcher checks whether the evaluated object is an instance of
atypeor an instance of any class that inherits fromatype.Example:
instance_of(str)
none, not_none¶
-
class
hamcrest.core.core.isnone.IsNone¶ Bases:
hamcrest.core.base_matcher.BaseMatcher-
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 – The description to be built or appended to.
-
-
hamcrest.core.core.isnone.none()¶ Matches if object is
None.
-
hamcrest.core.core.isnone.not_none()¶ Matches if object is not
None.
same_instance¶
-
class
hamcrest.core.core.issame.IsSame(object)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher-
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 – The item that the
Matcherhas rejected.mismatch_description – The description to be built or appended to.
-
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 – The description to be built or appended to.
-
-
hamcrest.core.core.issame.same_instance(obj)¶ Matches if evaluated object is the same instance as a given object.
- Parameters
obj – The object to compare against as the expected value.
This matcher invokes the
isidentity operator to determine if the evaluated object is the the same object asobj.
calling, raises¶
-
class
hamcrest.core.core.raises.Raises(expected, pattern=None)¶ Bases:
hamcrest.core.base_matcher.BaseMatcher-
describe_mismatch(item, 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 – The item that the
Matcherhas rejected.mismatch_description – The description to be built or appended to.
-
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 – The description to be built or appended to.
-
-
hamcrest.core.core.raises.calling(func)¶ Wrapper for function call that delays the actual execution so that
raisesmatcher can catch any thrown exception.- Parameters
func – The function or method to be called
The arguments can be provided with a call to the
with_argsfunction on the returned object:calling(my_method).with_args(arguments, and_='keywords')
-
hamcrest.core.core.raises.raises(exception, pattern=None)¶ Matches if the called function raised the expected exception.
- Parameters
exception – The class of the expected exception
pattern – Optional regular expression to match exception message.
Expects the actual to be wrapped by using
calling, or a callable taking no arguments. Optional argument pattern should be a string containing a regular expression. If provided, the string representation of the actual exception - e.g.str(actual)- must match pattern.Examples:
assert_that(calling(int).with_args('q'), raises(TypeError)) assert_that(calling(parse, broken_input), raises(ValueError))