def _verify_arguments_of_doubles__new__()

in doubles/verification.py [0:0]


def _verify_arguments_of_doubles__new__(target, args, kwargs):
    """Verify arg/kwargs against a class's __init__

    :param class target: The class to verify against.
    :param tuple args:  Positional arguments.
    :params dict kwargs: Keyword arguments.
    """
    if not _is_python_function(target.doubled_obj.__init__):
        class_ = target.doubled_obj
        if args and not kwargs and issubclass(class_, ACCEPTS_ARGS):
            return True
        elif kwargs and not args and issubclass(class_, ACCEPTS_KWARGS):
            return True
        elif args or kwargs:
            given_args_count = 1 + len(args) + len(kwargs)
            raise VerifyingDoubleArgumentError(
                '__init__() takes exactly 1 arguments ({} given)'.format(
                    given_args_count,
                )
            )
        return

    return _verify_arguments(
        target.doubled_obj.__init__,
        '__init__',
        ['self'] + list(args),
        kwargs,
    )