Home

Advertisement

Previous Entry | Next Entry

http://www.flickr.com/photos/20958118@N0

The Breeze Generator, originally uploaded by Spheres57.
例のごとくPythonでわからなくなるとTOHYA先生、ということで助けをしたら教えていただきました。
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/190465 のコードをそのまま使いました。
サーバー間のでパラメータのやり取りでそれぞれのパラメータの有り無しとか不正データの作成とかのテストを自動化させたかったのです。擬似的には以下のコードです。fa-fdでparameter a,b,c,dの内容をいじったりなんだりするって感じですね。
def  fa():
    print "Fix A..",
def  fb():
    print "Fix B..",
def  fc():
    print "Fix C..",
def  fd():
    print "Fix D..",

def xuniqueCombinations(items, n):
    if n==0: yield []
    else:
        for i in xrange(len(items)-n+1):
            for cc in xuniqueCombinations(items[i+1:],n-1):
                yield [items[i]]+cc


def case():
    r = [fa,fb,fc,fd]
    ret=[]
    for j in range(1,len(r)+1):
        x = xuniqueCombinations(r,j)
        for i in x:
            ret.append(i)
    return ret

def test(casedesk, funcs=None):
    print "*** BEGIN",casedesk
    if funcs != None:
        for f in funcs:
            f()
    print "\n*** END",casedesk


def main():
    data_fix_case = case()
    for i in range(len(data_fix_case)):
        test( "test #%d"%i, data_fix_case[i] )

if __name__ == "__main__":
    main()



WS000002