in doubles/method_double.py [0:0]
def _find_matching_allowance(self, args, kwargs):
"""Return a matching allowance.
Returns the first allowance that matches the ones declared. Tries one with specific
arguments first, then falls back to an allowance that allows arbitrary arguments.
:return: The matching ``Allowance``, if one was found.
:rtype: Allowance, None
"""
for allowance in self._allowances:
if allowance.satisfy_exact_match(args, kwargs):
return allowance
for allowance in self._allowances:
if allowance.satisfy_custom_matcher(args, kwargs):
return allowance
for allowance in self._allowances:
if allowance.satisfy_any_args_match():
return allowance