def check_choice_combinations(cfstr, fnameargslist): cfdec = cfdec_parse(cfstr) clist = [tuple(c) for c in choice_combinations(cfdec)] ret = set(clist) ok_(len(ret) == len(clist), 'choice_combinations returns redundant element(s)') correct = set(fa[1] for fa in fnameargslist) eq_(ret, correct, ('choice_combinations(cfdec_parse(%s)) ' 'returns incorrect value' % cfstr))
def check_cfdec_parse(cfstr, correct, fnameargslist): ret = cfdec_parse(cfstr) dct = subdict(ret.as_dict(), *list(correct)) # exclude 'fnget' fnget = ret.fnget eq_(correct, dct, 'incorrect return for "%s"' % (cfstr)) for (fname, args) in fnameargslist: fname_ret = fnget(*args) eq_(fname_ret, fname, '%s%s returns incorrect name' % (ret.fnget.func_name, args))
def check_choice_combinations(cfstr, fnameargslist): cfdec = cfdec_parse(cfstr) clist = [tuple(c) for c in choice_combinations(cfdec)] ret = set(clist) ok_( len(ret) == len(clist), 'choice_combinations returns redundant element(s)') correct = set(fa[1] for fa in fnameargslist) eq_(ret, correct, ('choice_combinations(cfdec_parse(%s)) ' 'returns incorrect value' % cfstr))
def parse_cfuncs(cfuncs): """Parse `_cfuncs_` using `cfuncs.cfdec_parse`""" cfuncs_parsed_list = [cfdec_parse(cfstr) for cfstr in cfuncs] cfuncs_parsed = dict( (parsed.fname, parsed) for parsed in cfuncs_parsed_list) return cfuncs_parsed