Skip to content

Commit

Permalink
Transfered tests from py2 to py3. (#526)
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrieldemarmiesse authored and JarnoRFB committed Jul 22, 2019
1 parent 0218792 commit d10bd66
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 89 deletions.
89 changes: 11 additions & 78 deletions tests/test_config/test_signature.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,52 +23,21 @@ def complex_function_name(a=1, b='fo', c=9):
return a, b, c


def _name_with_underscore_(fo, bar, *baz):
return fo, bar, baz
functions = [foo, bariza, complex_function_name]

ids = ['foo', 'bariza', 'complex_function_name']

def __double_underscore__(man, o, *men, **oo):
return man, o, men, oo
names = ['foo', 'bariza', 'complex_function_name']

arguments = [[], ['a', 'b', 'c'], ['a', 'b', 'c']]

def old_name(verylongvariablename):
return verylongvariablename
vararg_names = [None, None, None]

kw_wc_names = [None, None, None]

def generic(*args, **kwargs):
return args, kwargs
pos_arguments = [[], ['a', 'b', 'c'], []]


def onlykwrgs(**kwargs):
return kwargs


renamed = old_name

functions = [foo, bariza, complex_function_name,
_name_with_underscore_, __double_underscore__, old_name, renamed]

ids = ['foo', 'bariza', 'complex_function_name',
'_name_with_underscore_', '__double_underscore__', 'old_name',
'renamed']

names = ['foo', 'bariza', 'complex_function_name',
'_name_with_underscore_', '__double_underscore__', 'old_name',
'old_name']

arguments = [[], ['a', 'b', 'c'], ['a', 'b', 'c'],
['fo', 'bar'], ['man', 'o'], ['verylongvariablename'],
['verylongvariablename']]

vararg_names = [None, None, None, 'baz', 'men', None, None]

kw_wc_names = [None, None, None, None, 'oo', None, None]

pos_arguments = [[], ['a', 'b', 'c'], [], ['fo', 'bar'],
['man', 'o'], ['verylongvariablename'],
['verylongvariablename']]

kwarg_list = [{}, {}, {'a': 1, 'b': 'fo', 'c': 9}, {}, {}, {}, {}]
kwarg_list = [{}, {}, {'a': 1, 'b': 'fo', 'c': 9}]


class SomeClass(object):
Expand Down Expand Up @@ -126,15 +95,10 @@ def test_get_free_parameters():
assert free == ['a', 'b']
free = Signature(complex_function_name).get_free_parameters([], {})
assert free == ['a', 'b', 'c']
free = Signature(_name_with_underscore_).get_free_parameters([], {})
assert free == ['fo', 'bar']
s = Signature(__double_underscore__)
assert s.get_free_parameters([1, 2, 3], {}) == []


@pytest.mark.parametrize('function',
[foo, bariza, complex_function_name,
_name_with_underscore_, old_name, renamed])
[foo, bariza, complex_function_name])
def test_construct_arguments_with_unexpected_kwargs_raises_typeerror(function):
kwargs = {'zimbabwe': 23}
unexpected = re.compile(".*unexpected.*zimbabwe.*")
Expand All @@ -146,9 +110,7 @@ def test_construct_arguments_with_unexpected_kwargs_raises_typeerror(function):
@pytest.mark.parametrize('func,args', [
(foo, [1]),
(bariza, [1, 2, 3, 4]),
(complex_function_name, [1, 2, 3, 4]),
(old_name, [1, 2]),
(renamed, [1, 2])
(complex_function_name, [1, 2, 3, 4])
])
def test_construct_arguments_with_unexpected_args_raises_typeerror(func, args):
unexpected = re.compile(".*unexpected.*")
Expand All @@ -157,19 +119,6 @@ def test_construct_arguments_with_unexpected_args_raises_typeerror(func, args):
assert unexpected.match(excinfo.value.args[0])


def test_construct_arguments_with_varargs_doesnt_raise():
Signature(generic).construct_arguments([1, 2, 3], {}, {})
Signature(__double_underscore__).construct_arguments(
[1, 2, 3, 4, 5], {}, {})
Signature(_name_with_underscore_).construct_arguments(
[1, 2, 3, 4], {}, {})


def test_construct_arguments_with_kwargswildcard_doesnt_raise():
kwargs = {'zimbabwe': 23}
Signature(__double_underscore__).construct_arguments([1, 2], kwargs, {})


def test_construct_arguments_with_expected_kwargs_does_not_raise():
s = Signature(complex_function_name)
s.construct_arguments([], {'a': 4, 'b': 3, 'c': 2}, {})
Expand Down Expand Up @@ -215,11 +164,6 @@ def test_construct_arguments_without_options_returns_same_args_kwargs():
assert args == [2]
assert kwargs == {'c': 6, 'b': 7}

s = Signature(_name_with_underscore_)
args, kwargs = s.construct_arguments([], {'fo': 7, 'bar': 6}, {})
assert args == []
assert kwargs == {'fo': 7, 'bar': 6}


def test_construct_arguments_completes_kwargs_from_options():
s = Signature(bariza)
Expand All @@ -231,11 +175,6 @@ def test_construct_arguments_completes_kwargs_from_options():
assert args == []
assert kwargs == {'a': 1, 'c': 6, 'b': 7}

s = Signature(_name_with_underscore_)
args, kwargs = s.construct_arguments([], {}, {'fo': 7, 'bar': 6})
assert args == []
assert kwargs == {'fo': 7, 'bar': 6}


def test_construct_arguments_ignores_excess_options():
s = Signature(bariza)
Expand Down Expand Up @@ -299,13 +238,7 @@ def test_construct_arguments_for_bound_method():

@pytest.mark.parametrize('func,expected', [
(foo, "foo()"),
(bariza, "bariza(a, b, c)"),
(_name_with_underscore_, "_name_with_underscore_(fo, bar, *baz)"),
(__double_underscore__, "__double_underscore__(man, o, *men, **oo)"),
(old_name, "old_name(verylongvariablename)"),
(renamed, "old_name(verylongvariablename)"),
(generic, "generic(*args, **kwargs)"),
(onlykwrgs, "onlykwrgs(**kwargs)")
(bariza, "bariza(a, b, c)")
])
def test_unicode_(func, expected):
assert Signature(func).__unicode__() == expected
Expand Down
86 changes: 75 additions & 11 deletions tests/test_config/test_signature_py3.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,25 +28,57 @@ def FunCTIonWithCAPItals(a, b, c=3, **kwargs):
return a, b, c, kwargs


def _name_with_underscore_(fo, bar, *baz):
return fo, bar, baz


def __double_underscore__(man, o, *men, **oo):
return man, o, men, oo


def old_name(verylongvariablename):
return verylongvariablename


def generic(*args, **kwargs):
return args, kwargs


def onlykwrgs(**kwargs):
return kwargs

def kwonly_args(a, *, b, c=10):
return b


functions = [foo, bariza, complex_function_name, FunCTIonWithCAPItals, kwonly_args]
renamed = old_name

functions = [foo, bariza, complex_function_name, FunCTIonWithCAPItals,
_name_with_underscore_, __double_underscore__, old_name,
renamed, kwonly_args]

ids = ['foo', 'bariza', 'complex_function_name', 'FunCTIonWithCAPItals', 'kwonly_args']
ids = ['foo', 'bariza', 'complex_function_name', 'FunCTIonWithCAPItals',
'_name_with_underscore_', '__double_underscore__', 'old_name',
'renamed','kwonly_args']

names = ['foo', 'bariza', 'complex_function_name', 'FunCTIonWithCAPItals', 'kwonly_args']
names = ['foo', 'bariza', 'complex_function_name', 'FunCTIonWithCAPItals',
'_name_with_underscore_', '__double_underscore__', 'old_name',
'old_name', 'kwonly_args']

arguments = [[], ['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c']]
arguments = [[], ['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c'],
['fo', 'bar'], ['man', 'o'], ['verylongvariablename'],
['verylongvariablename'], ['a', 'b', 'c']]

vararg_names = [None, None, None, None, None]
vararg_names = [None, None, None, None, 'baz', 'men', None, None, None]

kw_wc_names = [None, None, None, 'kwargs', None]
kw_wc_names = [None, None, None, 'kwargs', None, 'oo', None, None, None]

pos_arguments = [[], ['a', 'b', 'c'], [], ['a', 'b'], ['a']]
pos_arguments = [[], ['a', 'b', 'c'], [], ['a', 'b'], ['fo', 'bar'],
['man', 'o'], ['verylongvariablename'],
['verylongvariablename'], ['a']]

kwarg_list = [{}, {}, {'a': 5, 'b': 'fo', 'c': 9}, {'c': 3}, {'c': 10}]
kwarg_list = [{}, {}, {'a': 5, 'b': 'fo', 'c': 9}, {'c': 3},
{}, {}, {}, {}, {'c': 10}]


class SomeClass(object):
Expand Down Expand Up @@ -104,10 +136,15 @@ def test_get_free_parameters():
assert free == ['a', 'b']
free = Signature(complex_function_name).get_free_parameters([], {})
assert free == ['a', 'b', 'c']
free = Signature(_name_with_underscore_).get_free_parameters([], {})
assert free == ['fo', 'bar']
s = Signature(__double_underscore__)
assert s.get_free_parameters([1, 2, 3], {}) == []


@pytest.mark.parametrize('function',
[foo, bariza, complex_function_name])
[foo, bariza, complex_function_name,
_name_with_underscore_, old_name, renamed])
def test_construct_arguments_with_unexpected_kwargs_raises_typeerror(function):
kwargs = {'zimbabwe': 23}
unexpected = re.compile(".*unexpected.*zimbabwe.*")
Expand All @@ -119,7 +156,9 @@ def test_construct_arguments_with_unexpected_kwargs_raises_typeerror(function):
@pytest.mark.parametrize('func,args', [
(foo, [1]),
(bariza, [1, 2, 3, 4]),
(complex_function_name, [1, 2, 3, 4])
(complex_function_name, [1, 2, 3, 4]),
(old_name, [1, 2]),
(renamed, [1, 2])
])
def test_construct_arguments_with_unexpected_args_raises_typeerror(func, args):
unexpected = re.compile(".*unexpected.*")
Expand All @@ -130,10 +169,19 @@ def test_construct_arguments_with_unexpected_args_raises_typeerror(func, args):

def test_construct_arguments_with_kwargswildcard_doesnt_raise():
kwargs = {'zimbabwe': 23}
Signature(__double_underscore__).construct_arguments([1, 2], kwargs, {})
Signature(FunCTIonWithCAPItals).construct_arguments(
[1, 2, 3], kwargs, {})


def test_construct_arguments_with_varargs_doesnt_raise():
Signature(generic).construct_arguments([1, 2, 3], {}, {})
Signature(__double_underscore__).construct_arguments(
[1, 2, 3, 4, 5], {}, {})
Signature(_name_with_underscore_).construct_arguments(
[1, 2, 3, 4], {}, {})


def test_construct_arguments_with_expected_kwargs_does_not_raise():
s = Signature(complex_function_name)
s.construct_arguments([], {'a': 4, 'b': 3, 'c': 2}, {})
Expand Down Expand Up @@ -190,6 +238,11 @@ def test_construct_arguments_without_options_returns_same_args_kwargs():
assert args == [2]
assert kwargs == {'c': 6, 'b': 7}

s = Signature(_name_with_underscore_)
args, kwargs = s.construct_arguments([], {'fo': 7, 'bar': 6}, {})
assert args == []
assert kwargs == {'fo': 7, 'bar': 6}


def test_construct_arguments_completes_kwargs_from_options():
s = Signature(bariza)
Expand All @@ -201,6 +254,11 @@ def test_construct_arguments_completes_kwargs_from_options():
assert args == []
assert kwargs == {'a': 1, 'c': 6, 'b': 7}

s = Signature(_name_with_underscore_)
args, kwargs = s.construct_arguments([], {}, {'fo': 7, 'bar': 6})
assert args == []
assert kwargs == {'fo': 7, 'bar': 6}


def test_construct_arguments_ignores_excess_options():
s = Signature(bariza)
Expand Down Expand Up @@ -265,7 +323,13 @@ def test_construct_arguments_for_bound_method():
@pytest.mark.parametrize('func,expected', [
(foo, "foo()"),
(bariza, "bariza(a, b, c)"),
(FunCTIonWithCAPItals, "FunCTIonWithCAPItals(a, b, c=3, **kwargs)")
(FunCTIonWithCAPItals, "FunCTIonWithCAPItals(a, b, c=3, **kwargs)"),
(_name_with_underscore_, "_name_with_underscore_(fo, bar, *baz)"),
(__double_underscore__, "__double_underscore__(man, o, *men, **oo)"),
(old_name, "old_name(verylongvariablename)"),
(renamed, "old_name(verylongvariablename)"),
(generic, "generic(*args, **kwargs)"),
(onlykwrgs, "onlykwrgs(**kwargs)")
])
def test_unicode_(func, expected):
assert Signature(func).__unicode__() == expected
Expand Down

0 comments on commit d10bd66

Please sign in to comment.