Files
args/tests.py
T
2012-07-28 12:10:23 +10:00

73 lines
2.1 KiB
Python

#! /usr/bin/env python
# -*- coding: utf-8 -*-
import args
from nose.tools import ok_
def compare_values(a, b):
ok_(a == b)
def test_args_all():
arguments = ['install', '--lang', 'python', 'c', 'js']
arg = args.ArgsList(args = arguments)
ok_(arg.all == arguments)
def test_flags():
flags = ['--name', '--email']
arguments = [flags[0], 'kracekumar', flags[1], 'me@kracekumar']
arg = args.ArgsList(args = arguments)
ok_(arg.flags.all == flags)
def test_files():
files = ['*.py']
arg = args.ArgsList(args = files)
#any way current directory will have minimum one file i.e this file
ok_(len(arg.files) > 1)
def test_not_files():
flags = ['--name', '--email']
arguments = [flags[0], 'kracekumar', flags[1], 'me@kracekumar', '*.py']
arg = args.ArgsList(args = arguments)
arguments.pop()
ok_(arg.not_files.all == arguments)
def test_grouped():
details = {'--language': ['python27', 'python32'], '--creator': ['Guido Van Rossum'], \
'--foundation': ['psf']
}
arguments = []
for key in details:
for argument in details[key]:
arguments.append(key)
arguments.append(argument)
arg = args.ArgsList(args = arguments)
yield compare_values, len(arg.grouped) - 1, len(details)
for item in arg.grouped:
if item is not '_':
yield compare_values, arg.grouped[item].all, details[item]
def test_start_with():
dynamic_lang = ['python', 'perl']
static_lang = ['c', 'c++']
arguments = ['--lang']
arguments.extend(dynamic_lang)
arguments.extend(static_lang)
arg = args.ArgsList(args = arguments)
ok_(arg.start_with('p').all == dynamic_lang)
def test_assignments():
details = {'--arch': ['x64', 'i386'], 'lang': ['']}
arguments = []
for key in details:
for argument in details[key]:
arguments.append(key + '=' + argument)
arg = args.ArgsList(args = arguments)
yield compare_values, len(arg.assignments), len(details)
for item in arg.assignments:
yield compare_values, arg.assignments[item].all, details[item]