Ejemplo n.º 1
0
    def test_bad_arg_length_no_max(self):
        min_length = 5
        msg = "expected at least {min_length} arguments".format(
            min_length=min_length)

        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args((None,), min_length=min_length, max_length=None)
Ejemplo n.º 2
0
    def test_bad_arg_length_no_max(self):
        min_length = 5
        msg = "expected at least {min_length} arguments".format(
            min_length=min_length)

        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args((None, ), min_length=min_length, max_length=None)
Ejemplo n.º 3
0
    def test_validation(self):
        # No exceptions should be thrown
        validate_args(self.fname, (None,), 2, dict(out=None))

        compat_args = OrderedDict()
        compat_args['axis'] = 1
        compat_args['out'] = None

        validate_args(self.fname, (1, None), 2, compat_args)
Ejemplo n.º 4
0
    def test_validation(self):
        # No exceptions should be thrown
        validate_args(self.fname, (None, ), 2, dict(out=None))

        compat_args = OrderedDict()
        compat_args['axis'] = 1
        compat_args['out'] = None

        validate_args(self.fname, (1, None), 2, compat_args)
Ejemplo n.º 5
0
    def test_bad_arg_length_with_max(self):
        min_length = 5
        max_length = 10
        msg = ("expected between {min_length} and {max_length}"
               " arguments inclusive".format(min_length=min_length,
                                             max_length=max_length))

        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args((None,), min_length=min_length,
                          max_length=max_length)
Ejemplo n.º 6
0
    def test_bad_arg_length_with_max(self):
        min_length = 5
        max_length = 10
        msg = ("expected between {min_length} and {max_length}"
               " arguments inclusive".format(min_length=min_length,
                                             max_length=max_length))

        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args((None, ),
                          min_length=min_length,
                          max_length=max_length)
Ejemplo n.º 7
0
    def test_bad_arg_length_max_value_single(self):
        args = (None, None)
        compat_args = ("foo",)

        min_fname_arg_count = 0
        max_length = len(compat_args) + min_fname_arg_count
        actual_length = len(args) + min_fname_arg_count
        msg = r"{fname}\(\) takes at most {max_length} " r"argument \({actual_length} given\)".format(
            fname=self.fname, max_length=max_length, actual_length=actual_length
        )

        with tm.assertRaisesRegexp(TypeError, msg):
            validate_args(self.fname, args, min_fname_arg_count, compat_args)
Ejemplo n.º 8
0
    def test_bad_arg_length_max_value_multiple(self):
        args = (None, None)
        compat_args = dict(foo=None)

        min_fname_arg_count = 2
        max_length = len(compat_args) + min_fname_arg_count
        actual_length = len(args) + min_fname_arg_count
        msg = (r"{fname}\(\) takes at most {max_length} "
               r"arguments \({actual_length} given\)".format(
                   fname=self.fname,
                   max_length=max_length,
                   actual_length=actual_length))

        with tm.assert_raises_regex(TypeError, msg):
            validate_args(self.fname, args, min_fname_arg_count, compat_args)
Ejemplo n.º 9
0
    def test_bad_arg_length_max_value_single(self):
        args = (None, None)
        compat_args = ('foo', )

        min_fname_arg_count = 0
        max_length = len(compat_args) + min_fname_arg_count
        actual_length = len(args) + min_fname_arg_count
        msg = (r"{fname}\(\) takes at most {max_length} "
               r"argument \({actual_length} given\)".format(
                   fname=self.fname,
                   max_length=max_length,
                   actual_length=actual_length))

        with tm.assertRaisesRegexp(TypeError, msg):
            validate_args(self.fname, args, min_fname_arg_count, compat_args)
Ejemplo n.º 10
0
    def test_not_all_defaults(self):
        bad_arg = 'foo'
        msg = ("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'] = 2
        compat_args['bar'] = -1
        compat_args['baz'] = 3

        arg_vals = (1, -1, 3)

        for i in range(1, 3):
            with tm.assertRaisesRegexp(ValueError, msg):
                validate_args(self.fname, arg_vals[:i], 2, compat_args)
Ejemplo n.º 11
0
    def test_not_all_defaults(self):
        bad_arg = 'foo'
        msg = ("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'] = 2
        compat_args['bar'] = -1
        compat_args['baz'] = 3

        arg_vals = (1, -1, 3)

        for i in range(1, 3):
            with tm.assertRaisesRegexp(ValueError, msg):
                validate_args(self.fname, arg_vals[:i], 2, compat_args)
Ejemplo n.º 12
0
    def __call__(self, args, kwargs, fname=None,
                 max_fname_arg_count=None, method=None):
        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))
Ejemplo n.º 13
0
    def test_not_all_none(self):
        msg = "All arguments must be None"
        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args(('foo',), min_length=0,
                          max_length=1, msg=msg)

        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args(('foo', 'bar', 'baz'), min_length=2,
                          max_length=5, msg=msg)

        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args((None, 'bar', None), min_length=2,
                          max_length=5, msg=msg)
Ejemplo n.º 14
0
    def test_not_all_none(self):
        msg = "All arguments must be None"
        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args(('foo', ), min_length=0, max_length=1, msg=msg)

        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args(('foo', 'bar', 'baz'),
                          min_length=2,
                          max_length=5,
                          msg=msg)

        with tm.assertRaisesRegexp(ValueError, msg):
            validate_args((None, 'bar', None),
                          min_length=2,
                          max_length=5,
                          msg=msg)
Ejemplo n.º 15
0
 def test_validation(self):
     # No exceptions should be thrown
     validate_args((None,), min_length=0, max_length=1)
     validate_args((None, None), min_length=1, max_length=5)
Ejemplo n.º 16
0
 def test_bad_min_length(self):
     msg = "'min_length' must be non-negative"
     with tm.assertRaisesRegexp(ValueError, msg):
         validate_args((None,), min_length=-1, max_length=5)
Ejemplo n.º 17
0
 def test_bad_min_length(self):
     msg = "'min_length' must be non-negative"
     with tm.assertRaisesRegexp(ValueError, msg):
         validate_args((None, ), min_length=-1, max_length=5)
Ejemplo n.º 18
0
 def test_validation(self):
     # No exceptions should be thrown
     validate_args((None, ), min_length=0, max_length=1)
     validate_args((None, None), min_length=1, max_length=5)
Ejemplo n.º 19
0
 def test_bad_min_fname_arg_count(self):
     msg = "'max_fname_arg_count' must be non-negative"
     with tm.assertRaisesRegexp(ValueError, msg):
         validate_args(self.fname, (None, ), -1, 'foo')
Ejemplo n.º 20
0
 def test_bad_min_fname_arg_count(self):
     msg = "'max_fname_arg_count' must be non-negative"
     with tm.assertRaisesRegexp(ValueError, msg):
         validate_args(self.fname, (None,), -1, 'foo')
Ejemplo n.º 21
0
 def test_bad_min_max_length(self):
     msg = "'min_length' > 'max_length'"
     with tm.assertRaisesRegexp(ValueError, msg):
         validate_args((None, ), min_length=5, max_length=2)
Ejemplo n.º 22
0
 def test_bad_min_max_length(self):
     msg = "'min_length' > 'max_length'"
     with tm.assertRaisesRegexp(ValueError, msg):
         validate_args((None,), min_length=5, max_length=2)