Example #1
0
def test_detect_kwarg_type():
    """Debe transformar el kwarg opcional en un número
    """
    def myfunction(number=5):
        pass

    parser = argparse.ArgParse()
    parser.set_from_function(myfunction)
    parser.parse(['6']) == [6]
Example #2
0
def test_not_require_kwargs():
    """Los kwargs no son obligatorios
    """
    def myfunction(number=5):
        pass

    parser = argparse.ArgParse()
    parser.set_from_function(myfunction)
    parser.parse([]) == []
Example #3
0
def test_multiple_args():
    """Debe ser capaz de capturar todos los argumentos con *args
    """
    def myfunction(*args):
        pass

    parser = argparse.ArgParse()
    parser.set_from_function(myfunction)
    parser.parse(['spam', 'eggs', 'spam']) == ['spam', 'eggs', 'spam']
Example #4
0
def test_arg():
    """Debe devolver el argumento entregado.
    """
    def myfunction(msg, word):
        pass

    parser = argparse.ArgParse()
    parser.set_from_function(myfunction)
    assert parser.parse(['word']) == ['word']
Example #5
0
def test_without_args():
    """Sin dar argumentos, no debe devolver, ni debe pedir.
    """
    def myfunction(msg):
        pass

    parser = argparse.ArgParse()
    parser.set_from_function(myfunction)
    assert parser.parse([]) == []
Example #6
0
def test_int_arg():
    """Debe devolver el argumento como un int.
    """
    def myfunction(msg, number):
        pass

    parser = argparse.ArgParse()
    parser.set_arg_types([int])
    parser.set_from_function(myfunction)
    assert parser.parse(['1']) == [1]
Example #7
0
def test_not_enought_arguments():
    """Si no hay suficientes argumentos, debe fallar.
    """
    def myfunction(msg, word1, word2):
        pass

    parser = argparse.ArgParse()
    parser.set_arg_types([int])
    parser.set_from_function(myfunction)
    with pytest.raises(PrintableException):
        parser.parse(['arg'])
Example #8
0
def test_text_argument():
    """Debería devolverse un único argumento con todo el texto
    """
    def myfunction(text):
        pass

    text = 'nobody\'s specs the spanish inquisition'
    msg = Message('test', text, 'test')
    parser = argparse.ArgParse()
    parser.set_arg_types([Text()])
    parser.set_from_function(myfunction)
    assert parser.parse(text.split(' '), msg) == [text]