Mercurial > projects > aid
diff trunk/test.py @ 0:4b2e8e8a633e
Repository setup.
author | revcompgeek |
---|---|
date | Mon, 03 Mar 2008 19:28:10 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trunk/test.py Mon Mar 03 19:28:10 2008 -0700 @@ -0,0 +1,60 @@ +#!/usr/bin/python + +from subprocess import * + +def frange(*args): + l = len(args) + if l == 1: # only to + f = 0 + t = args[0] + step = 1 + elif l == 2: # from, to + start, stop = args + step = 1 + elif l == 3: + start, stop, step = args + k = (stop-start)/step+1 + return map(lambda x, f=start, s=step: f+s*x, range(max(0, int(k)))) + +prefix = "/Users/matthew/Desktop/D/ai/" +output_prefix = "/Users/matthew/Desktop/D/ai/tests/" + +print "Running..." + + +repetitions=100 + +tests = [ + ["ga_code","mutation-rate", "-m",frange(0.0,0.05,0.01) + frange(0.1,1,0.05),[]], + ["ga_code","population", "-p",frange(500,5000,500),[]], + ["ga_code","survival-rate", "-d",frange(0.2,0.8,0.05),[]], + ["ga_code","crossover-type","-c",frange(1,3,1),[]], + ["ga_code","code-length", "-l",frange(10,30,1),[]], + + ["ga_maze","mutation-rate","-m",frange(0.0,0.05,0.01) + frange(0.1,1,0.05),[]], + ["ga_maze","population", "-p",frange(500,5000,500),["-s","9","9"]], + ["ga_maze","survival-rate", "-d",frange(0.2,0.8,0.05),[]], + ["ga_maze","crossover-type","-c",frange(1,3,1),[]], + ["ga_maze","code-length", "-l",frange(10,30,1),[]] +] + +def runTest(exe,name,switch,vrange,addparams): + f = open(output_prefix + ("%s_%s_generations.csv" % (exe,name)),"w") + f2 = open(output_prefix + ("%s_%s_times.csv" % (exe,name)),"w") + + for i in vrange: + print i + p = Popen([prefix + exe,switch,str(i),"-r",str(repetitions),"-b","100"]+addparams,stdout=PIPE,bufsize=-1) + p.wait() + r = "".join(p.stdout.readlines()) + r = r.split(","); + f.write("%s,%s,%s\n" % (str(i),r[0],r[1])) + f2.write("%s,%s,%s" % (str(i),r[2],r[3])) + f.close() + f2.close() +#try: +for test in tests: + print "%s: %s" % (test[0],test[1]) + runTest(test[0],test[1],test[2],test[3],test[4]) +#except: +# print "Stopped" \ No newline at end of file