Exemplo n.º 1
0
    def __call__(
        self,
        args,
        kwargs,
        fname=None,
        max_fname_arg_count=None,
        method: Optional[str] = None,
    ) -> None:
        if args or kwargs:
            fname = self.fname if fname is None else fname
            max_fname_arg_count = (
                self.max_fname_arg_count
                if max_fname_arg_count is None
                else max_fname_arg_count
            )
            method = self.method if method is None else method

            if method == "args":
                validate_args(fname, args, max_fname_arg_count, self.defaults)
            elif method == "kwargs":
                validate_kwargs(fname, kwargs, self.defaults)
            elif method == "both":
                validate_args_and_kwargs(
                    fname, args, kwargs, max_fname_arg_count, self.defaults
                )
            else:
                raise ValueError(f"invalid validation method '{method}'")
Exemplo n.º 2
0
 def test_validation(self):
     # No exceptions should be thrown
     compat_args = OrderedDict()
     compat_args['f'] = None
     compat_args['b'] = 1
     compat_args['ba'] = 's'
     kwargs = dict(f=None, b=1)
     validate_kwargs(self.fname, kwargs, compat_args)
Exemplo n.º 3
0
 def test_validation(self):
     # No exceptions should be thrown
     compat_args = OrderedDict()
     compat_args['f'] = None
     compat_args['b'] = 1
     compat_args['ba'] = 's'
     kwargs = dict(f=None, b=1)
     validate_kwargs(self.fname, kwargs, compat_args)
def test_validation():
    # No exceptions should be raised.
    compat_args = OrderedDict()
    compat_args["f"] = None
    compat_args["b"] = 1
    compat_args["ba"] = "s"

    kwargs = dict(f=None, b=1)
    validate_kwargs(_fname, kwargs, compat_args)
Exemplo n.º 5
0
def test_bad_kwarg():
    good_arg = "f"
    bad_arg = good_arg + "o"

    compat_args = {good_arg: "foo", bad_arg + "o": "bar"}
    kwargs = {good_arg: "foo", bad_arg: "bar"}

    msg = fr"{_fname}\(\) got an unexpected keyword argument '{bad_arg}'"

    with pytest.raises(TypeError, match=msg):
        validate_kwargs(_fname, kwargs, compat_args)
Exemplo n.º 6
0
    def test_bad_kwarg(self):
        goodarg = 'f'
        badarg = goodarg + 'o'

        compat_args = OrderedDict()
        compat_args[goodarg] = 'foo'
        compat_args[badarg + 'o'] = 'bar'
        kwargs = {goodarg: 'foo', badarg: 'bar'}
        msg = (r"{fname}\(\) got an unexpected "
               r"keyword argument '{arg}'".format(
            fname=self.fname, arg=badarg))

        with tm.assert_raises_regex(TypeError, msg):
            validate_kwargs(self.fname, kwargs, compat_args)
Exemplo n.º 7
0
    def test_bad_kwarg(self):
        goodarg = 'f'
        badarg = goodarg + 'o'

        compat_args = OrderedDict()
        compat_args[goodarg] = 'foo'
        compat_args[badarg + 'o'] = 'bar'
        kwargs = {goodarg: 'foo', badarg: 'bar'}
        msg = (r"{fname}\(\) got an unexpected "
               r"keyword argument '{arg}'".format(
                   fname=self.fname, arg=badarg))

        with tm.assert_raises_regex(TypeError, msg):
            validate_kwargs(self.fname, kwargs, compat_args)
def test_bad_kwarg():
    good_arg = "f"
    bad_arg = good_arg + "o"

    compat_args = OrderedDict()
    compat_args[good_arg] = "foo"
    compat_args[bad_arg + "o"] = "bar"
    kwargs = {good_arg: "foo", bad_arg: "bar"}

    msg = (r"{fname}\(\) got an unexpected "
           r"keyword argument '{arg}'".format(fname=_fname, arg=bad_arg))

    with pytest.raises(TypeError, match=msg):
        validate_kwargs(_fname, kwargs, compat_args)
def test_not_all_none(i):
    bad_arg = "foo"
    msg = (rf"the '{bad_arg}' parameter is not supported "
           rf"in the pandas implementation of {_fname}\(\)")

    compat_args = {"foo": 1, "bar": "s", "baz": None}

    kwarg_keys = ("foo", "bar", "baz")
    kwarg_vals = (2, "s", None)

    kwargs = dict(zip(kwarg_keys[:i], kwarg_vals[:i]))

    with pytest.raises(ValueError, match=msg):
        validate_kwargs(_fname, kwargs, compat_args)
def test_not_all_none(i):
    bad_arg = "foo"
    msg = (r"the '{arg}' parameter is not supported "
           r"in the pandas implementation of {func}\(\)".
           format(arg=bad_arg, func=_fname))

    compat_args = OrderedDict()
    compat_args["foo"] = 1
    compat_args["bar"] = "s"
    compat_args["baz"] = None

    kwarg_keys = ("foo", "bar", "baz")
    kwarg_vals = (2, "s", None)

    kwargs = dict(zip(kwarg_keys[:i], kwarg_vals[:i]))

    with pytest.raises(ValueError, match=msg):
        validate_kwargs(_fname, kwargs, compat_args)
Exemplo n.º 11
0
    def test_not_all_none(self):
        bad_arg = 'foo'
        msg = (r"the '{arg}' parameter is not supported "
               r"in the pandas implementation of {func}\(\)".format(
                   arg=bad_arg, func=self.fname))

        compat_args = OrderedDict()
        compat_args['foo'] = 1
        compat_args['bar'] = 's'
        compat_args['baz'] = None

        kwarg_keys = ('foo', 'bar', 'baz')
        kwarg_vals = (2, 's', None)

        for i in range(1, 3):
            kwargs = dict(zip(kwarg_keys[:i], kwarg_vals[:i]))

            with tm.assert_raises_regex(ValueError, msg):
                validate_kwargs(self.fname, kwargs, compat_args)
Exemplo n.º 12
0
    def test_not_all_none(self):
        bad_arg = 'foo'
        msg = (r"the '{arg}' parameter is not supported "
               r"in the pandas implementation of {func}\(\)".
               format(arg=bad_arg, func=self.fname))

        compat_args = OrderedDict()
        compat_args['foo'] = 1
        compat_args['bar'] = 's'
        compat_args['baz'] = None

        kwarg_keys = ('foo', 'bar', 'baz')
        kwarg_vals = (2, 's', None)

        for i in range(1, 3):
            kwargs = dict(zip(kwarg_keys[:i],
                              kwarg_vals[:i]))

            with tm.assert_raises_regex(ValueError, msg):
                validate_kwargs(self.fname, kwargs, compat_args)
Exemplo n.º 13
0
    def __call__(self, args, kwargs, fname=None,
                 max_fname_arg_count=None, method=None):
        if args or kwargs:
            fname = self.fname if fname is None else fname
            max_fname_arg_count = (self.max_fname_arg_count if
                                   max_fname_arg_count is None
                                   else max_fname_arg_count)
            method = self.method if method is None else method

            if method == 'args':
                validate_args(fname, args, max_fname_arg_count, self.defaults)
            elif method == 'kwargs':
                validate_kwargs(fname, kwargs, self.defaults)
            elif method == 'both':
                validate_args_and_kwargs(fname, args, kwargs,
                                         max_fname_arg_count,
                                         self.defaults)
            else:
                raise ValueError("invalid validation method "
                                 "'{method}'".format(method=method))
Exemplo n.º 14
0
    def __call__(self, args, kwargs, fname=None,
                 max_fname_arg_count=None, method=None):
        if args or kwargs:
            fname = self.fname if fname is None else fname
            max_fname_arg_count = (self.max_fname_arg_count if
                                   max_fname_arg_count is None
                                   else max_fname_arg_count)
            method = self.method if method is None else method

            if method == 'args':
                validate_args(fname, args, max_fname_arg_count, self.defaults)
            elif method == 'kwargs':
                validate_kwargs(fname, kwargs, self.defaults)
            elif method == 'both':
                validate_args_and_kwargs(fname, args, kwargs,
                                         max_fname_arg_count,
                                         self.defaults)
            else:
                raise ValueError("invalid validation method "
                                 "'{method}'".format(method=method))
Exemplo n.º 15
0
def test_validation():
    # No exceptions should be raised.
    compat_args = {"f": None, "b": 1, "ba": "s"}

    kwargs = dict(f=None, b=1)
    validate_kwargs(_fname, kwargs, compat_args)