def test_format_signature(): # Test signature formatting. path, sgn = format_signature(g, list(range(10))) nose.tools.assert_equal(sgn, 'g([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])') path, sgn = format_signature(g, list(range(10)), y=list(range(10))) nose.tools.assert_equal(sgn, 'g([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],' ' y=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9])')
def test_format_signature(): # Test signature formatting. path, sgn = format_signature(g, list(range(10))) assert sgn == 'g([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])' path, sgn = format_signature(g, list(range(10)), y=list(range(10))) assert sgn == 'g([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],' \ ' y=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9])'
def test_format_signature(): # Test signature formatting. path, sgn = format_signature(g, list(range(10))) nose.tools.assert_equal(sgn, 'g([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])') path, sgn = format_signature(g, list(range(10)), y=list(range(10))) nose.tools.assert_equal( sgn, 'g([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],' ' y=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9])')
def partial_call_signature(func): """Return the fully qualified call signature for a (partial) function """ func = partial(func) fa = jfi.getfullargspec(func) default_kw = {} if fa.args: default_kw = dict(zip(fa.args, fa.defaults)) fq_keywords = {**default_kw, **fa.kwonlydefaults} return jfi.format_signature(func.func, *func.args, **fq_keywords)
def test_format_signature_long_arguments(): shortening_threshold = 1500 # shortening gets it down to 700 characters but there is the name # of the function in the signature and a few additional things # like dots for the ellipsis shortening_target = 700 + 10 arg = 'a' * shortening_threshold _, signature = format_signature(h, arg) assert len(signature) < shortening_target nb_args = 5 args = [arg for _ in range(nb_args)] _, signature = format_signature(h, *args) assert len(signature) < shortening_target * nb_args kwargs = {str(i): arg for i, arg in enumerate(args)} _, signature = format_signature(h, **kwargs) assert len(signature) < shortening_target * nb_args _, signature = format_signature(h, *args, **kwargs) assert len(signature) < shortening_target * 2 * nb_args
def test_format_signature(func, args, kwargs, sgn_expected): # Test signature formatting. path, sgn_result = format_signature(func, *args, **kwargs) assert sgn_result == sgn_expected