示例#1
0
def test_negative(test_input, expected, exp_message):
    with pytest.raises(expected, match=exp_message):
        pairs(test_input)
示例#2
0
def test_smoke():
    assert pairs(1, 9)
示例#3
0
def test_results_uniqueness_2():
    assert pairs(5, 5, 5, 5).count((5, 5)) == 1
示例#4
0
def test_results_uniqueness():
    assert (9, 1) not in pairs(1, 9, 5, 5, 3, 1)
示例#5
0
def test_positive(test_input, expected):
    assert expected in pairs(*test_input)
示例#6
0
def test_type():
    assert type(pairs(1, 9)) == list
示例#7
0
if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description="App can return a Fibonacci sequence with given length "
        "or find numbers pair with  specified sum")

    subparsers = parser.add_subparsers(help='sub-command help')

    parser_fib = subparsers.add_parser(
        'fib', help='Print given number of members of Fibonacci sequence')
    parser_fib.add_argument("number",
                            help="The required number of sequence members",
                            type=int)
    parser_fib.set_defaults(which='fib')

    parser_pairs = subparsers.add_parser(
        'pairs', help='Return pairs with specified sum.')
    parser_pairs.set_defaults(which='pairs')
    parser_pairs.add_argument('-n',
                              '--numbers',
                              nargs="+",
                              type=int,
                              help='List of numbers to check.')

    args = parser.parse_args()

    if args.which == 'fib':
        fib(args.number)
    elif args.which == 'pairs':
        pairs(*args.numbers)