[Avida-SVN] r1361 - in extras: . source source/python source/python/Avida source/python/Avida/analyze source/python/testsuites

kaben at myxo.css.msu.edu kaben at myxo.css.msu.edu
Wed Feb 21 17:21:24 PST 2007


Author: kaben
Date: 2007-02-21 20:21:24 -0500 (Wed, 21 Feb 2007)
New Revision: 1361

Added:
   extras/source/python/
   extras/source/python/Avida/
   extras/source/python/Avida/__init__.py
   extras/source/python/Avida/analyze/
   extras/source/python/Avida/analyze/DataFile.py
   extras/source/python/Avida/analyze/__init__.py
   extras/source/python/testsuites/
   extras/source/python/testsuites/bogus.dat
   extras/source/python/testsuites/detail.dat
   extras/source/python/testsuites/test_analyze.py
   extras/source/python/testsuites/test_hello_world.py
Modified:
   extras/
Log:
 r1494 at clearly:  kaben | 2007-02-21 19:56:09 -0500
 Added some utility code written in Python:
 - module Avida.analyze.DataFile to parse Avida data files
 - preliminary testsuites of above module



Property changes on: extras
___________________________________________________________________
Name: svk:merge
   - 079b078a-dbed-46b9-b3da-37668d4295ca:/avida/local/extras:1479
   + 079b078a-dbed-46b9-b3da-37668d4295ca:/avida/local/extras:1494

Added: extras/source/python/Avida/__init__.py
===================================================================

Added: extras/source/python/Avida/analyze/DataFile.py
===================================================================
--- extras/source/python/Avida/analyze/DataFile.py	2007-02-21 15:18:36 UTC (rev 1360)
+++ extras/source/python/Avida/analyze/DataFile.py	2007-02-22 01:21:24 UTC (rev 1361)
@@ -0,0 +1,52 @@
+
+class genotype_data:
+  def clear(self):
+    self.detail_lines = []
+    self.detail_fields = {}
+    
+  def __init__(self, filename = None):
+    self.clear()
+    if filename is not None:
+      self.load_genotype_data(filename)
+
+  def check_filetype(self, file_format_string):
+    """
+    Raise a RuntimeError when given any file_format_string other than
+    "#filetype genotype_data".
+    """
+    filetype_fields = file_format_string.split()
+    if filetype_fields[0] != "#filetype" or filetype_fields[1] != "genotype_data":
+      raise RuntimeError, 'Wrong file_format_string "%s".' % file_format_string
+
+  def has_key(self, field_name):
+    return self.detail_fields.has_key(field_name)
+
+  def column_from_field_name(self, field_name):
+    return self.detail_fields[field_name]
+
+  def load_genotype_data(self, file_name):
+    """
+    Load genotype_data from file, verifying file type, and reading field
+    names.
+    """
+    self.detail_file = file(file_name)
+    self.clear()
+    for l in self.detail_file.readlines():
+      s = l.strip()
+      if s.startswith("#filetype"):
+        self.check_filetype(s)
+      elif s.startswith("#format"):
+        idx = 0
+        for field in s.split()[1:]:
+          self.detail_fields[field] = idx
+          idx = idx + 1
+      elif s == "" or s.startswith("#"):
+        pass
+      else:
+        self.detail_lines.append(s.split())
+
+  def entry(self, row, field_name):
+    return self.detail_lines[row][self.column_from_field_name(field_name)]
+
+  def __len__(self):
+    return len(self.detail_lines)

Added: extras/source/python/Avida/analyze/__init__.py
===================================================================

Added: extras/source/python/testsuites/bogus.dat
===================================================================
--- extras/source/python/testsuites/bogus.dat	2007-02-21 15:18:36 UTC (rev 1360)
+++ extras/source/python/testsuites/bogus.dat	2007-02-22 01:21:24 UTC (rev 1361)
@@ -0,0 +1 @@
+#filetype bogus

Added: extras/source/python/testsuites/detail.dat
===================================================================
--- extras/source/python/testsuites/detail.dat	2007-02-21 15:18:36 UTC (rev 1360)
+++ extras/source/python/testsuites/detail.dat	2007-02-22 01:21:24 UTC (rev 1361)
@@ -0,0 +1,122 @@
+#filetype genotype_data
+#format id update_born viable fitness gest_time length merit task.0 task.1 task.2 task.3 task.4 task.5 task.6 task.7 task.8 sequence 
+
+# Legend:
+# 1: Genotype ID
+# 2: Update Born
+# 3: Is Viable (0/1)
+# 4: Fitness
+# 5: Gestation Time
+# 6: Genome Length
+# 7: Merit
+# 8: Not
+# 9: Nand
+# 10: And
+# 11: OrNot
+# 12: Or
+# 13: AndNot
+# 14: Nor
+# 15: Xor
+# 16: Equals
+# 17: Genome Sequence
+
+100 6893 1 7894.88 386 98 3.04742e+06 1 0 0 1 0 1 0 1 1 rzaakacmidnciebgvcckgbsceexseruqcgrpsglctncqcgqcdcycczpctgbsthroqctcnfcpcqcbtisdaevlbaykjutycasvab 
+101 8535 1 4455.61 467 130 2.08077e+06 1 1 0 1 1 1 1 0 0 jhmaaxrilblazjyhvcrypaajpameaawsucavczczsrmzcqzyqcrzzcptqsyzcpclbbcsnrtfcwnzggqgcpcdaztidcdocfnqrrptrttrpsicpcecqqcppqgimutycasvab 
+102 5757 1 183.433 254 132 46592 1 1 1 1 0 1 0 0 0 ruzabfgmqcgqqpcamyydfdocdeeqcpbreqqpcvcpysctkaqzclzcecrntdqclcsqsyrcjpupcndqcqieeidsbuttyasvhbabruzabouzabfgmqcgqqpcamyydfdocdeeqckb 
+103 6251 1 4504.5 371 105 1.67117e+06 1 1 0 1 1 1 1 0 0 xrucavcnagbxukyudcbtmftphzqcpqcatihcppagpinqcsmchtlthtqnubofhzocaqiqtpqectuyghmjbdxicrgcrhoqpqlzutycasvab 
+104 9000 0 4232.84 898 244 3.80109e+06 1 1 0 1 1 1 1 0 0 khqaqhqcpahiazkazpardasamaahgnelbczroaagaiaoesqokiarahxoaiqcqzsfbnnodppguqdfbfzagzilmqsdawapdjlazeucfaogecpinkpafanhnqahiepsfydlaujfpebaatmadceyzucavcrsqwfsxgzcbqcdfcpcejqcrgtatpppcqcgoctczygydpqkkfqcdqifhtmeuwbcyikydnuosccishcprndocucutycasvab 
+105 5199 1 5986.46 260 98 1.55648e+06 1 1 0 1 1 1 1 0 0 rpucapfdgcpcqqcdcqadbcpppchqconccigqpbovcsqqcjctmqcukiquowzibkjcwoaijpsjfcsocqcsspczqcflutycastvab 
+106 5413 1 2914.76 267 99 778240 1 1 1 1 0 1 1 0 0 rucascehbimqcrcsscnamgrcomeqpcbyspsqcvcqgyrhvctzzpincdsgfbbmorqhcstbqdcslcgscpbcqccygtdoquttycasvab 
+107 3987 1 17629.6 342 94 6.02931e+06 1 1 1 1 1 1 1 0 0 rmizajqcmwccosvcszqpsqctzcgpcqpggcgnhbhtlecfcreccyspcyqqchpcylncboczmcpaomeazisqcqppqutycasvab 
+108 7321 1 762.394 274 106 208896 1 1 0 1 1 0 1 0 0 rhucavcfcfjcjblcbdnczqblspkrfimqcnaqpttqojzcupqtwahpcjcpqcaeacihhcnjyhtgccpfqppcchacqcdonctqnqctuttycasvab 
+109 7874 0 4287.4 428 116 1.83501e+06 1 1 0 1 1 1 1 0 0 qrtrndreritrdzavcmvcpqfaidzqcpogccnqzptipqypqhkapcftbgpspqpzshbgcpaglnqaqrxjucnupjoobfeglcxnyxymqoxoineerlfutycasvab 
+110 8204 0 2102.18 1134 300 2.38387e+06 1 0 0 1 1 1 1 0 0 rqznrrzrrqzrrrurfqzrrrurruurrrurorhrxrplrruprrurrxariqruruxetchorupobunurureyucururujurjrnrecrsursrufwrqzuucrtnndkrurltururuhuoydhsolrupruhuuhruaruhgzhriarwycfuhrnolsmkruprzpdhrterprlbrrpogugrpucavcdmmchffsjrwvsqmxictoqcplijknrdqugttimudtqjkfotszaqfcbwqmczpcptontylqpgrbggpqprcgewbyqcocqcrqsutycasvab 
+111 5940 1 285.538 312 90 89088 0 1 0 1 1 0 1 0 0 rucavccayuugcpzccoaqctazccolcdqczebzqcpchsngchztgcqczetcfcgbctblpctqbqfaatcqcpqxmutycasvab 
+112 6298 1 273.655 348 99 95232 1 0 0 1 1 0 1 0 0 rucavcpffojtsnpbtxjktradjracaqcegpbcocgeztbjcergqpfcistcgpgcczrctgxpcontcfcescpbqpafqbygqcutycasvab 
+113 5242 1 17364.2 351 98 6.09485e+06 1 1 1 1 1 1 1 0 0 crucavcjqcbtfqncydlctcgzcgcbccocdppcqcecbegdirqccfofcrncqcdbeqnotppcaaqbocmcrdzrcidoqfcpqutycasvab 
+114 6096 1 275.147 361 99 99328 1 1 0 1 1 1 0 0 0 oruhxqqchppvccqpccgksfnqcbwcafcpcaclqgzhyyddmcpvbiczqcgvcxcvcyjcarsagfifqppcyttqcthooclqirutycasvab 
+115 9858 1 3.41512e+06 1012 106 3.45611e+09 1 1 1 1 1 1 1 1 1 rrucavcchbnkoncochbkccjjncaamcqrdgccauhpapickrcncckbjxacbdcccxacarcodidccfatccdccsqjiocupticpcdcyqbycasvab 
+116 5638 1 4464.18 356 101 1.58925e+06 1 1 0 1 1 1 1 0 0 rgucavchamftfjidzzuqbctnpmitelznmdchgzsmzhqtukqtfctismoqphhqqrpqcpccqcepcpbhtrtrrciqcoqtpnlqutycasvab 
+117 6269 1 567.23 343 98 194560 1 0 0 0 1 1 1 0 0 rouzavctoldstcocfukltlcqnccyhseeygcozaogfclcyczqctyyydccbctcelttxqcpcpilqctomqsplcnqhfledutycasvab 
+118 5891 1 17394.3 373 101 6.48806e+06 1 1 1 1 1 1 1 0 0 ruawcwcomqfcyogncpcdgccqfqipcspiqcvcoaqvczhdpgxgurzzofpcdipqstqdszzqtfdaqlcqalgasaqdnqrjmgjiutycasvab 
+119 5602 1 1460.59 258 95 376832 1 1 0 1 0 1 0 0 1 rucasdfbopaopcrkdxcllslfqcncvcgbmoqpexqoiimjylkbqcrmoaqpcgpgqqdcdyplfcecgynciqbfgpslqutycastvab 
+120 5022 1 285.325 323 92 92160 1 1 0 1 1 1 0 0 0 rmdzavctctwgkbqabytkiicqzaqppcmczdhqtocojafcbloeepcpztaiqcpcdbecczpqptiqczpcapccqqcutycasvab 
+121 6572 1 2208.09 371 103 819200 1 1 1 1 0 1 0 1 0 rucavccnztzxftrpbgqcqcgryzdcqcozqpqpcnlqpdbqbfpcmqhoosygcjazqctgszbotgnnqptfradfoxzhqcazpnmqakutycasvab 
+122 7213 1 1091.55 379 105 413696 1 1 0 1 1 0 0 0 1 jrucavcctkhfbtojmaillcqfauomtekcqqcpgqzbuqcyhmzkaochdaanjsycvpzysgcfqccibdecppcqsbfpqsmaebofqcmrutycasvab 
+123 6762 1 188.93 271 102 51200 1 0 0 1 1 1 0 0 0 rzavcxyskcthhqbutxegdcbzxjazsfynfcwxyhlqucqqqcplcsndcqfmahcoehcedtxgrpafcgqcizfcipcsbpqgqcuqtttycasvab 
+124 5527 1 367.025 279 105 102400 1 0 0 1 1 0 1 0 0 rucakfxqqeixcfahnhapbjjymfrpqpcpqijgckrjgyoceavcqpdccpqvcdachpdisbtsczsechzpqcfccscttdtdpxhqtzguttycasvab 
+125 8837 1 871.19 583 131 507904 1 1 1 1 1 1 0 0 0 aajosmetwnthjiknarauasaczdjnuqjicbcehwcnueyqcpotcqtezcypqtpclebbcnpataccqcinqhqchhemcaygtpbrerifgpjgkmevepgszfkccubwzarmtautycasvab 
+126 6141 1 15031.2 436 104 6.5536e+06 1 1 1 1 1 1 1 0 0 rucavcbioakgamdlgjnutpcgcecqeocjdqhgcgsecypppcqcrsocqcsqceycbbisccyvlnzqdcpbcmlztrqkgdfiqtxizetutycasvab 
+127 9584 1 16946.1 1195 320 2.02506e+07 1 1 1 1 1 1 1 0 0 fugucugbjmppacfanbjzwzddumawykaiziapnayajasjqcararaolaqpaxeasarutodmjiqaryarjpkuxakrqxcrpaaaajqhaxxsudrnjawgahjapnwpyuagbnaricplkqhuamhmnmupfaajtdafyflwfzxanarefffbunmazxesoarmqiiegaevidqnyrdxqsakacupdhywmapemjmildoyjrzlequmgucajcntcaiaadqqcpygdvcppcwbectqfiqqcpgfyckpnczlctaqctfcgcpcccssqcdcocctnkyfpqnrlqcbdfsutycasvab 
+128 6811 1 4011.64 437 112 1.75309e+06 1 1 0 1 1 1 1 0 0 rucavcmbkfipcdmfcyshogfksymgzogeyokjjxrcxgjatacjojxaxcjcxlbauycwoapxmagqqshtdfqctpqccpcnlgcqfpdqpprqcqeutycasvab 
+129 6776 1 274.531 373 103 102400 1 1 0 1 1 1 0 0 0 rucavcsipilhxxqchpqqocdcfcdzwhgtnchasocztmcpqpcaqpspqpccnfboiqmcjtzqcrjhtlsaqspklhqzdrpqgbjzktutycasvab 
+130 9657 1 548.32 437 121 239616 1 1 0 1 1 0 1 0 0 usaryqvcsuxlgucavcnkzmklgbfcbnicmgpcyztbrxfhfctpyphasqocibcpcqmgqpyrgrtpadqtlqcuhztmzgmbpnxuqpxdbycjicpgqtqceapqutycasvab 
+131 5716 1 4315.79 410 109 1.76947e+06 1 1 0 1 1 1 1 0 0 mofuzaorrzamghsqwjnrnbahmbccqschfpgjaidvcmexqcrjbocqccoqcrpcdpifphgcqpdpdfbrfhoqiztqpqpsgpqlitfnqiccdcutycsva 
+132 13605 1 43.7183 568 100 24832 1 1 0 1 0 0 1 0 0 rizavcqhzifhyldfcobcmcqclqkpcqtdptbkcjooczydnaeczafcfaloicxbrxtahuaafkelcolcitsuyqqcbtocqcpbtycasvab 
+133 6468 1 2964.42 257 99 761856 1 0 0 1 1 1 1 0 0 krzzaghfbfvctcidxsaiyniifyunczzcsmgabmqpczzypcchtqzzppcptbbrzqcepcrlnqpqzclfscfoqcmyqoutycstvakrzza 
+134 6371 1 279.003 345 98 96256 1 0 0 1 1 0 1 0 0 rucakavcorpatbnymutfpyynekbcocccihclgqjcclmhttcaegcccmcrjcpcqecgcpgtlccygacasbncpgztqcutqftycasvab 
+135 7263 1 44.973 259 96 11648 1 1 0 1 1 0 0 0 0 rucavcmhhcdhxcrzsysrkuyykbwopkowmzecqachgqynauaukbpscdbbcnqcsoclffnyckienqccpccpbqqcpquttycasvab 
+136 5170 1 1470.36 273 102 401408 0 0 0 1 1 1 1 0 0 rucavcdnslfebpoakifxfnbfpcvcsqqpcjqpdccccpfcvcvcncpcbhqiqqcfqpczcpgmazcfcqedsqkyfbmoqyochcjfuttycasvab 
+137 5407 1 1100.26 376 104 413696 1 1 1 1 1 1 0 0 0 rucavcisqczbccgcljaebqfpeqppzqcclbdgncbsqchfcnbcqaananmkcnicdcsqqmthsyhchdziaaobtqoqdchncpytqpnutycasvab 
+138 8999 1 4407.65 368 101 1.62202e+06 1 1 0 1 1 1 1 0 0 rynuzavcqcqlqipedbctrzcdpcbgccqszyyoqcmcgfcstctphbpbtbczfnmqzsmrffroquhcjspfikmocqcepqnkdtqxutycasvab 
+139 7563 1 382.804 535 107 204800 1 1 0 1 0 1 1 0 0 rcrczavckzcucybheqaebyxafczktlbcdgcjokkrjnrryuqicabpceodpgqkdqseqcyccecncylcqcfcccbtpscyfhdchlnebqyutycsvka 
+140 5323 1 4421.08 378 106 1.67117e+06 1 1 0 1 1 1 1 0 0 rnucavcmmecyurptbxucyzkobbkcqcqzbtckpqizfzomncdgnctctztfcahyyqqpbzscecpcqcoigczbnqcqrpqplntxqihlmutycasvab 
+141 5975 1 1098.93 410 114 450560 1 1 0 0 1 1 1 0 0 ogygaqldfssyxjsrucavcizaqjcatztxcerfahghrcpcpngrtlztcccpcicrgonadzpfpciccchqccgpccrrpctcfqcrpicpcqcoqpqbnutycasvab 
+142 7963 1 45.8781 279 104 12800 1 1 0 1 1 0 0 0 0 qomdrucancvckjyezadgreyeitrqcoepjsitcnpzruutazmrsaqcdpcqcngpsuxmqctdyapsapfcqchpcyrhspqqcgpqrluttycasvab 
+143 6365 1 734.05 279 105 204800 1 1 0 1 1 0 1 0 0 rucavcmpsqclfpscbpochacsaexjcsyrbecqcpcnicacjcedfcmcrlypcicaqqctpbayhtqqhsjxdcnnzdretjngotblqasuttycasvab 
+144 4469 1 71303.2 375 107 2.67387e+07 1 1 1 1 0 1 0 1 1 rozapjqcapqrrcpepcplnqsscmvclycrccfgccqpqqecfglattgpbzqbpckrqbpccntfpacdctftcalchncbgthadtqcqtqaoutycasvqab 
+145 4916 1 17211.5 396 109 6.81574e+06 1 1 1 1 1 1 1 0 0 jqhrpkwojqulqwzzadnvctkflpcgtqkpnakcidnqjcrqccppcqccygrkciczfcpqpgfcncczdbagezocmccqchpaocpqcqpqtaautycasvmab 
+146 6108 1 835.021 233 100 194560 1 1 0 1 1 0 1 0 0 rucapdccrbrlxsdqoccnrhxbnjoqyncvcgheicpfcgnccwcegbpfqaqccbcvczcpcpcgccpqqcpqoufckomqeytnbutttycasvab 
+147 5383 1 33956.5 386 105 1.31072e+07 1 1 1 1 1 0 1 1 0 rxqzaepbncbonmcpqiplcqdcwcancocpnmllqhexypgbcvcipqcacrseatocqqoiydececroqcnqzixnlxmjlcatakoruceeutycasvab 
+148 4691 1 5957.82 264 101 1.57286e+06 1 1 0 1 1 1 1 0 0 rucapafqfcmcpqpqcgxncaicocdcwcqcpcjgcgcfdbapcvcqnqtqcpqrcrcziprkycndckafbcacoqxsbdgbkbzueaiuttycasvab 
+149 6414 1 741.391 279 104 206848 1 1 0 1 1 0 1 0 0 rucavcjpxciuqbzqieuifpjggjfqdafpbznjkcceclmjwbjbqccsobfccfcoccbygqcdahgpcccpazapqcziccpyqqcpqzuttycasvab 
+150 6264 1 4304.64 373 102 1.60563e+06 1 1 0 1 1 1 1 0 0 rrzucavcfhqthuspthcnjaebcalcycvrjgqcocfkqqcbplnrdgcgccgpcqcrqgrpptfchbcoqbcbpqhdyfgmnxylyqoajutycasvab 
+151 4713 1 6789.77 222 96 1.50733e+06 1 1 0 1 1 1 1 0 0 rucavctuxepqcccozbdejccqczpcptycmdyqccfcatznczpbcqidrmcsbscxdzcqkqcxsqcqpesaqplnqphqbutttycasvab 
+152 6709 0 881.418 237 107 208896 1 0 1 1 1 1 0 0 0 zkefaaaxrqucajsivckfmgdbgccgpclcbhgjocxqcocytqcajtcgroxtezqccpcpqcaaqqpeglntepcvbsayctcqnblshxncqgutycasvab 
+153 6358 1 46.0996 261 98 12032 1 1 0 1 1 0 0 0 0 rnfyaohngzaicdhxhxxfqcfleaprxaqcwchmcegckvcdshzjjbocnqmchzbgcycqecsrsdppcqscedbqcphdbqhguttycasvab 
+154 6700 0 2095.81 1028 270 2.1545e+06 1 1 1 1 1 0 1 0 0 qqqqqqqqnqqqqqqqqtqqqqqqqqqqqqqqoqjqqqqqfqqqqdqqkiqqkqqqqpqqqqbqzqqsqqqqqqqqqqqqqqqyqqqqqqqqqeqocghqqqqqqoxqzlfzdqfqsqrqfqoqiqqtqrqcqqomoojhsqomplaquhpbxlzndspkhkupmoluoqucavcqappoxlrtbdhpqhiqpcbypcngclgzgcqcxlcyyncqlmxtfceysdajarplccycvbnzbcmcgifcpqcdqpqtngmskutycasvab 
+155 6372 1 705.422 270 99 190464 1 1 0 1 1 0 1 0 0 zdcdmxdskompypdkamrbgrzehybxjfuocbcaczacdupoakcccopoqcpocgivcgjqprsgzzpcsqfqcoqytbssceypquttycasvab 
+156 6143 1 198326 534 103 1.05906e+08 0 1 1 1 1 1 1 0 1 ruzavcqmfpsdhmqlfpgcegrrugyrxueancgqpqptedfciiyihcaypdgyhqnconcagmqhbdsppcfhglacmoqicaosbyvoecutycasvab 
+157 5816 1 1122.19 365 103 409600 1 1 0 1 1 0 0 0 1 rucavctlfootuglgqhwpgkouqqtcfccdpcqczcxitqrpccbgpzqcattpcpcschscgoqcfcqcddzcrndccbhxtgcbiixbrqutycasvab 
+158 4879 1 17390.8 358 98 6.22592e+06 1 1 1 1 1 1 1 0 0 xrucahydpcpglsqkaphhyqjcrpkcqcpcgcpqfbpcdvcgqhqhitqzpqzfcplcnqnqckrjqyinxctkxtbhecyxhcnknutycasvab 
+159 6049 1 718.596 285 107 204800 1 1 0 1 1 0 1 0 0 rucavcyfalangmrbqfzpkliapdqcncdebtagcoczsdqzaadeyzcgbcmcpbgqpdynlqcqppchdqphnaychaqcypccgsphcsqxuttycasvrab 
+160 5802 1 2477.83 324 101 802816 1 0 0 1 1 1 1 0 0 rucavcanauifgzxgjjzdrcizdrukpksqbjsnuinnjcecpqcrzggjfpcccqdbppalnqqcqpcshaapctqagcbqcpnlqouwttycasvab 
+161 5832 1 180.384 281 105 50688 1 1 1 1 0 1 0 0 0 rucavcdybqubmkurmjioghecgodrjcufumnbotqrmdpqcheptqcyaoplnirrmseyclhoqfqcrfrtlcocqpqcgbcqpqioprguttycasvab 
+162 4478 1 4409.29 353 98 1.55648e+06 1 1 0 1 1 1 1 0 0 rwzacbpvczchgqctobicsqcpcsdrzpccfoeqdczqtscprrgcrzjadqceipcpqgcltjbzfemcypbcqypqcsyzqdtaqutycasvab 
+163 10429 0 1025.2 855 228 876544 1 0 1 1 1 0 1 0 0 aaaaaaaaaqaaaaaaaaaaahaaaaaaaaazaaaaaayaaaaapaaaaaepaigxalaruqrbqapaazaapcrxzaicwaasqikapqhpbyaqrnchaqamqeahgasgsrahmeasdqakloamerbjgdgroqqdkuacnhafmyicmvculcdiwkglrqywgwrccddpctpccnqpsscrgpcaqcxczlaqommndaffchaoqlcekczutycasvab 
+164 6136 1 4322.96 379 102 1.6384e+06 1 1 0 1 1 1 1 0 0 ruzavcxtixcgzuqgfxsjmfkjrbhpsdmusmdkcghihuggxjtcctcjxzqccpoedcgqcapchpadlbnqcqprldnqpqqapqhrbutycasvab 
+165 6109 1 2288.94 340 99 778240 0 1 0 1 1 1 0 1 0 rucajqqcplhhbnqdiyvczcgdbppcqhtlttqtfazycjtcoickctomtocqcgomtldciccottcrcmrgccqqcbmgdnhqiuutycasvab 
+166 9645 1 258.065 496 133 128000 1 0 0 1 0 1 1 0 0 hasawqauenruaaiorbagrehyhaqiqujdklpzamcqyadpsaqqvccncqcbcsccppccpqqplcnqfeqtkmcsdcoeacqcddeocgxasgmtzrxlcbqhsjghxersijtgkjhqutycaevab 
+167 6877 1 277.333 384 107 106496 1 0 0 1 1 0 1 0 0 iwazgxrugnruucavcljolyrkmcsnstcgutmhksthxjiuhxmscycxtsjfcdcqczgocqcgbjrstgrejafbocqtcgptgpqpnlqfyqutycasvab 
+168 5020 1 6009.58 259 98 1.55648e+06 1 1 0 1 1 1 1 0 0 ruzaicwcexuzhyqrtgxcjyrnqcelchdbackgmncyycuodyjcxqcpasczapcdygcpqiqccoqftpcqcqpczcnlqcaquttycasvab 
+169 5319 1 4246.12 382 105 1.62202e+06 1 1 0 1 1 1 1 0 0 rucavcwsdtdcjaobldpgiochikcpciqcoqsbcrenppcbqfoyhsmqfcprqcipptdcpccqmqmorbdcnlpnltybrzgqdcziqdzsutycasvab 
+170 5664 0 721.127 1136 102 819200 1 1 0 1 1 1 1 0 0 rucavcccucpqcddsorgcegtgyondearoazcncdyoatchcgbfcygsghcirqccccpceaccqccapcalccnccoqcncqioccqeutycasvab 
+171 7707 1 712.348 322 116 229376 1 1 0 1 1 0 1 0 0 xncfqohyhxsaairucaqvcjcpbndgrfutoxiclzilmgmcrtutccybyupeqaufkqcoumcjqesipbgqpcqcfchcrprdhpcqcccsccrgohhtzquttycayvab 
+172 6747 0 277.082 340 94 94208 1 1 0 1 1 1 0 0 0 rkzakicwcdmqccssbkcpcffldbjnjcerhtjqpqpshpsncqqvclcqcibipetgdijbrrcpirdcchqmutfmmtmahutycasvab 
+173 6834 1 4416.26 486 134 2.1463e+06 1 1 0 1 1 1 1 0 0 ulimxaarkpxlsunuadxakaaafqaqkucavcaftcuqhoyszldsfcdfifqzrcdgqckcmcsbtiissicygpqctpcsqgisgzocctzpqfqqcpsncrtcrzqlcqctrjdterxcsutycasvab 
+174 6352 0 546.474 401 111 219136 1 1 0 1 1 0 1 0 0 aqflrdkxzokceciczxdokbfagejhkepnxcefpgcytpefcvctwytetrrqchchbsofcgtwsaasfceahqcqcypcrdpcpqcezoqppqzpqmutycasvab 
+175 6300 1 1482.51 268 100 397312 1 1 1 1 1 1 0 0 0 prucavcaunsaixqxbojcctuurqxcpcbqcdpcchrpcyqchiyylcncgocbppdhqcgoccgbcfqnymqoqcqpncqjkstgunuttycasvab 
+176 9663 1 1081.13 466 127 503808 1 1 1 1 1 1 0 0 0 pkxedxzyyhfdlrimllducakconxbsejienofocfivcxkbzkscsjreoaftyjfpqceapqkqppcghqzdrfsttjncccdgzocjdctobrhqqmcdcbntqgoqqccmrutycasvab 
+177 6205 1 271.673 343 97 93184 1 1 0 1 1 1 0 0 0 rucagjncnakqjvccqcbzdctqypltjzbdknyeghqprqdnrcgtgaydtpybnsbxnoncrszamcrtdgqofcqptgzpcqqcutycasvab 
+178 6313 1 2236.26 359 103 802816 1 0 0 1 1 1 1 0 0 rjzagvctrkteccauqanwzbohqhyconehserctpcphcafckceclaocqcpcqcpctctebsctphqbstiogccnaqszsrpcnlqjgutycasvab 
+179 5283 1 3053.11 271 104 827392 1 1 1 1 0 1 1 0 0 ruzamvcoqcaoqhbicqcpqjcqcdhccpcwbgcpqpiclbjdthgyxkmctocbhebhbufgxictpcbgqcdssdarnlpcqioaqatoaouttycasvab 
+180 6937 1 538.296 331 91 178176 1 1 0 1 1 0 1 0 0 rucavcqstpxoqszlmiygqqpzeqinumocctwahyqpcgcfqzqpdpcqcyesstcctjaharoyzgcsccsncqpqckutycasvab 
+181 6209 1 2176.32 399 109 868352 1 1 1 1 0 1 1 0 0 sqasnrkzavckbdmpjjwndanpcmeeqjcpchhrbieqpcocsevcsojchxqccfcwagbfpagrencpqtnlqpqdcqcgpepicfcoqtaxfshdutycasvab 
+182 8029 1 138.847 354 98 49152 1 1 1 1 0 1 0 0 0 iruzavcpqcpqpqpccpqtagfzthniclquumaglwdxjeatynbxeahcsmgczsmdbbyibnnusfpicmbtoqjuwtmqczulfutycasvab 
+183 4778 0 17201 381 106 6.5536e+06 0 1 1 1 1 1 0 0 1 ulariucafpkqqkxqchlqbpcyrpacyybwccdnchocedltcvcoqhdmcmgacciacnqcoythdchpcpcgctrsecafcqqcfciqpqlzhutycasvab 
+184 7671 0 131.832 668 179 88064 0 0 0 1 1 0 1 0 0 ccycymwbknckrcpqprrrrqfsjarducrlavcjurnrrurdiwrludyyffmgwdsrgrwfefjutwugmorugmjdiooucaxpcqifiqkcqmcecvccjcoidficmrdqticeychrtpncozqcedpcrzpbciqconcahcsqcscqacqgcomeqjsnicutycasvab 
+185 5198 1 289.057 333 97 96256 1 0 0 1 1 0 1 0 0 rucagcvcipckecyqzqqgcctzyppcsqcpcaecytgqtrgcieicbqjfccfespctoctryttrcoxcfctzpcgrqtfnqcpoutycasvab 
+186 6708 1 16867.2 373 101 6.29146e+06 1 1 0 1 1 0 1 0 1 asljruzaecriimgshbcefvccpcyqfahqwagctplcnccqcpcpehzhgqzqcpqpyexfccphqnqfjsjpeedqfckxzpccbydtutycasvab 
+187 5734 1 736.36 267 102 196608 1 1 0 1 1 0 1 0 0 rucavcumtwanaeykocuygkpcgcchkprgcpdjcdtejpobczzgdqpcnylfnqgfarppcbacyccjdizhtgqcfcpcqdqcpqtluttycasvab 
+188 8994 0 932.752 202 100 188416 1 1 0 1 1 0 1 0 0 rsucavceboczdcuczfpozpynnierdjysfisutqcchyytelcpfyocbfynecqpirdvbgcrscpqqcccpeqfoscqonhgnuttycasvsab 
+189 5457 1 1104.54 356 98 393216 0 0 0 1 1 1 1 0 0 gsjrofzasljkfecjfkykgkijifwcksqcyjgcomcapagdadrygmqcpciavcdeatpqicpptqzbltiaetdqpfcsngqputycayvyab 
+190 5494 1 15696.3 405 103 6.35699e+06 1 1 1 1 1 1 1 0 0 rucavcwwrmuminqcknqrolqcyytbbfhtmoccljqddyppyfccirttqqscprnleqqcrrevtygtrcfapcfhpoybrscizqtqcdutycasvab 
+191 6303 1 550.723 357 100 196608 1 1 0 1 1 0 1 0 0 ruzaejqccmdyobqdpqbkagdxcbcswnmcycywcpgcqchvcygpctcpiqgcfpskaqqclkoonaczifszzuytwhsottbnbctutycasvab 
+192 5521 1 4389.48 321 90 1.40902e+06 1 1 0 1 1 1 1 0 0 rucavcynnlygzczofhrfcjwqltittozoocsbtjqqcrpsngotqfltfcqgqocpsqccspcpzhqfgngeiqcoqutycasvab 
+193 4473 1 1466.27 257 97 376832 1 1 1 1 1 1 0 0 0 rucavcxufclqcjpoqdpcccctiipccycophqcqbccpczncmycgdccgcgcboebssehqhjfltgczlcchczpcqpgpqkutycastvab 
+194 5550 1 2828.19 252 94 712704 0 1 0 1 1 1 1 0 0 rdipucavcqcnqppirfbtmlahyohaccqfpljszknrdfdlstqpcpqcrccdoccpqqcpqccqlpeqjcspfifbcediuttycasvab 
+195 5294 1 738.148 283 105 208896 1 1 0 1 0 1 1 0 0 rucavchchiepjnyxaaurcxbhlnyqncpbqyzrqcpcpcgcpcsaqcbhpdrsgncclnazclblcnsczfepzqccbeothmcqfocdqpduttycasvab 
+196 6631 1 278.456 342 96 95232 1 1 0 1 1 1 0 0 0 rmucaxcpcvcbicdqoucourjktbumpsncjykrhcticegoogcidrcedbtqccpqpipiqfoctqctoqcpcsecpqzqcicutycasvab 
+197 6357 1 738.078 308 115 227328 1 1 0 1 1 0 1 0 0 zarucavcxdzichfsizcjicfcnejpksqeajcdfltkjmlqocipcbhafgsrqcppioicctpzrpqogwwicppciccqgndmchsoiatpcassqcqpquttycasvab 
+198 7104 1 550.924 342 98 188416 1 1 0 1 1 0 1 0 0 yrucavcwqegclszkmpqooydmjntjxcapcuxtfcjtulqpcdccectjcpcfnqeappqpibmtatnbybmllqqcptqsguadfutycasvab 
+199 5486 1 1095.96 370 103 405504 1 1 1 1 1 1 0 0 0 rucavcoifuifrhktpaliqjctxqcpipbdqjbidaxicgphqptbhtqpceaybnpfgqshppcdqcfcwcacczlaocbhzcspjcqdgoutycasvab 

Added: extras/source/python/testsuites/test_analyze.py
===================================================================
--- extras/source/python/testsuites/test_analyze.py	2007-02-21 15:18:36 UTC (rev 1360)
+++ extras/source/python/testsuites/test_analyze.py	2007-02-22 01:21:24 UTC (rev 1361)
@@ -0,0 +1,111 @@
+import Avida.analyze.DataFile
+
+import unittest
+
+class Test_avida_analyze(unittest.TestCase):
+  def test_bad_filetype_in_check_filetype(self):
+    """
+    Verify that genotype_data.check_filetype() raises a RuntimeError
+    when given any file_format_string other than "#filetype genotype_data"
+    """
+    gd = Avida.analyze.DataFile.genotype_data()
+
+    caught_runtime_error = False
+    try:
+      gd.check_filetype("#blah")
+    except RuntimeError:
+      caught_runtime_error = True
+    self.assert_(caught_runtime_error) 
+
+    caught_runtime_error = False
+    try:
+      gd.check_filetype("#filetype blah")
+    except RuntimeError:
+      caught_runtime_error = True
+    self.assert_(caught_runtime_error) 
+
+    caught_runtime_error = False
+    try:
+      gd.check_filetype("#filetype genotype_data")
+    except RuntimeError:
+      caught_runtime_error = True
+    self.assert_(not caught_runtime_error) 
+
+    caught_runtime_error = False
+    try:
+      gd.check_filetype("#filetype genotype_data_")
+    except RuntimeError:
+      caught_runtime_error = True
+    self.assert_(caught_runtime_error) 
+
+  def test_bad_filetype_in_load_genotype_data(self):
+    """
+    Verify that genotype_data.load_genotype_data() raises a RuntimeError
+    when it tries opening the wrong kind of file.
+    """
+    bogus_name = "bogus.dat"
+
+    caught_runtime_error = False
+    try:
+      gd = Avida.analyze.DataFile.genotype_data(bogus_name)
+    except RuntimeError:
+      caught_runtime_error = True
+    self.assert_(caught_runtime_error) 
+
+  def test_loaded_fields(self):
+    """
+    Verify that genotype_data.load_genotype_data() also loads field names.
+    """
+    expected_field_names = [
+      "id",
+      "update_born",
+      "viable",
+      "fitness",
+      "gest_time",
+      "length",
+      "merit",
+      "task.0",
+      "task.1",
+      "task.2",
+      "task.3",
+      "task.4",
+      "task.5",
+      "task.6",
+      "task.7",
+      "task.8",
+      "sequence",
+    ]
+    gd = Avida.analyze.DataFile.genotype_data("detail.dat")
+    self.assert_(not gd.has_key("blah"))
+
+    for expected_field_pos in range(len(expected_field_names)):
+      expected_field_name = expected_field_names[expected_field_pos]
+      self.assert_(gd.column_from_field_name(expected_field_name) == expected_field_pos)
+
+    self.assert_(gd.column_from_field_name("sequence") != 0)
+
+  def test_reading_detail_file_entry(self):
+    """
+    Verify loading a detail file, then reading an entry by row number
+    and column name.
+    """
+    gd = Avida.analyze.DataFile.genotype_data("detail.dat")
+    self.assert_(100 == int(gd.entry(0, "id")))
+    self.assert_(101 != int(gd.entry(0, "id")))
+    self.assert_("rzaakacmidnciebgvcckgbsceexseruqcgrpsglctncqcgqcdcycczpctgbsthroqctcnfcpcqcbtisdaevlbaykjutycasvab" == gd.entry(0, "sequence"))
+
+  def test_detail_file_len(self):
+    """
+    Verify expected number of entries in a certain detail file.
+    """
+    gd = Avida.analyze.DataFile.genotype_data("detail.dat")
+    self.assert_(100 == len(gd))
+    self.assert_(101 != len(gd))
+    self.assert_(0 != len(gd))
+
+
+if __name__ == '__main__':
+  try:
+    unittest.main()
+  except SystemExit:
+    pass

Added: extras/source/python/testsuites/test_hello_world.py
===================================================================
--- extras/source/python/testsuites/test_hello_world.py	2007-02-21 15:18:36 UTC (rev 1360)
+++ extras/source/python/testsuites/test_hello_world.py	2007-02-22 01:21:24 UTC (rev 1361)
@@ -0,0 +1,15 @@
+import Avida.analyze.DataFile
+
+import unittest
+
+class Test_avida(unittest.TestCase):
+  def test_hello_world(self):
+    self.assert_(True) 
+    #self.assert_(False) 
+
+if __name__ == '__main__':
+  try:
+    unittest.main()
+  except SystemExit:
+    pass
+




More information about the Avida-cvs mailing list