import os import sys import unittest from Bio.Sequencing import Phd def run_tests(argv): test_suite = testing_suite() runner = unittest.TextTestRunner(sys.stdout, verbosity = 2) runner.run(test_suite) def testing_suite(): """Generate the suite of tests. """ test_suite = unittest.TestSuite() test_loader = unittest.TestLoader() test_loader.testMethodPrefix = 't_' tests = [PhdTestOne] for test in tests: cur_suite = test_loader.loadTestsFromTestCase(test) test_suite.addTest(cur_suite) return test_suite class PhdTestOne(unittest.TestCase): def setUp(self): self.handle = open("Phd/phd1") def tearDown(self): self.handle.close() def t_check_record_parser(self): """Test to check that record parser parses all records of a contig. """ recparser = Phd.RecordParser() it = Phd.Iterator(self.handle,recparser) x=0 print while 1: r=it.next() if not r: break x+=1 print '---- Record',x,'----' print 'Filename:',r.file_name comments=r.comments.items() comments.sort() print '\n'.join([c[0]+': '+str(c[1]) for c in comments]) allsites=['-'.join(s) for s in r.sites] print allsites[:10],'...',allsites[len(allsites)/2-5:len(allsites)/2+5],'...',allsites[-10:] print r.seq.tostring()[:10],r.seq.tostring()[-10:] print r.seq_trimmed.tostring()[:10],r.seq_trimmed.tostring()[-10:] if __name__ == "__main__": sys.exit(run_tests(sys.argv))