Exemplo n.º 1
0
def test_argument_google_all():
    '''Test google full type set.'''
    name, fn = [
        x for x in getmembers(module, isfunction)
        if x[0] == 'argument_google_all'
    ][0]
    sig = signature(fn)
    document = parse(fn.__doc__)
    arguments = []
    for arg in sig.parameters:
        docstring = next((d for d in document.params if d.arg_name == arg),
                         None)
        arguments.append(
            Argument(parameters=sig.parameters[arg], docstring=docstring))
    # print(arguments[0].__dict__)
    assert arguments[0].help == 'argument string'
    assert arguments[0].type == str
    assert arguments[0].default == 'A'

    # print(arguments[1].__dict__)
    assert arguments[1].help == 'argument bool'
    # NOTE: Argparse does not store bool type
    assert not hasattr(arguments[1], 'type')
    assert arguments[1].default is False

    # print(arguments[2].__dict__)
    assert arguments[2].help == 'argument int'
    assert arguments[2].type == int
    assert arguments[2].default == 1

    # print(arguments[3].__dict__)
    assert arguments[3].help == 'argument float'
    assert arguments[3].type == float
    assert arguments[3].default == 1.5

    # print(arguments[4].__dict__)
    assert arguments[4].help == 'argument list'
    assert arguments[4].type == list
    assert arguments[4].default == ['A']

    # print(arguments[5].__dict__)
    assert arguments[5].help == 'argument set'
    assert arguments[5].type == set
    assert arguments[5].default == {'a'}

    # print(arguments[6].__dict__)
    assert arguments[6].help == 'argument tuple'
    assert arguments[6].type == tuple
    assert arguments[6].default == ('A', )
def test_argument_type_hints_simple() -> None:
    '''Test simple argument.'''
    name, fn = [
        x for x in getmembers(module, isfunction)
        if x[0] == 'argument_type_hints_simple'
    ][0]
    sig = signature(fn)
    docstring = parse(fn.__doc__)
    arguments = []
    for arg in sig.parameters:
        document = next((d for d in docstring.params if d.arg_name == arg),
                        None)
        arguments.append(
            Argument(parameters=sig.parameters[arg], docstring=document))
    # print('Arguments: ', arguments[0].__dict__)
    assert arguments[0].default is None
Exemplo n.º 3
0
def test_argument_google_choice():
    '''Test google simple character.'''
    name, fn = [
        x for x in getmembers(module, isfunction)
        if x[0] == 'argument_google_choice'
    ][0]
    sig = signature(fn)
    document = parse(fn.__doc__)
    arguments = []
    for arg in sig.parameters:
        docstring = next((d for d in document.params if d.arg_name == arg),
                         None)
        arguments.append(
            Argument(parameters=sig.parameters[arg], docstring=docstring))
    # print(arguments[0].__dict__)
    assert arguments[0].help == 'argument choice'
    assert arguments[0].default == 'A'
Exemplo n.º 4
0
def test_argument_google_bool():
    '''Test google simple boolean.'''
    name, fn = [
        x for x in getmembers(module, isfunction)
        if x[0] == 'argument_google_bool'
    ][0]
    sig = signature(fn)
    docstring = parse(fn.__doc__)
    arguments = []
    for arg in sig.parameters:
        document = next((d for d in docstring.params if d.arg_name == arg),
                        None)
        arguments.append(
            Argument(parameters=sig.parameters[arg], docstring=document))
    # print(arguments[0].__dict__)
    assert arguments[0].default is False
    assert arguments[1].default is True