# Copyright 2001 by Gavin E. Crooks. All rights reserved. # This code is part of the Biopython distribution and governed by its # license. Please see the LICENSE file that should have been included # as part of this package. """Unit test for Dom This test requires the mini DOM file 'testDom.txt' """ import unittest from Bio.SCOP import Dom from Bio.SCOP.Residues import Residues import sys def run_tests(argv): test_suite = testing_suite() runner = unittest.TextTestRunner(sys.stdout, verbosity = 2) runner.run(test_suite) def testing_suite(): return test_suite() class DomTests(unittest.TestCase): def setUp(self) : self.filename = './SCOP/testDom.txt' def testParse(self): f = open(self.filename) try: count = 0 i = Dom.Iterator(f, Dom.Parser()) while 1 : rec = i.next() if rec is None : break count +=1 self.assertEquals(count,10) finally: f.close() def testStr(self): f = open(self.filename) try: p = Dom.Parser() i = Dom.Iterator(f) while 1 : line = i.next() if line is None : break rec = p.parse(line) #End of line is platform dependant. Strip it off self.assertEquals(str(rec).rstrip(),line.rstrip()) finally: f.close() def testError(self) : corruptDom = "49xxx268\tsp\tb.1.2.1\t-\n" self.assertRaises(SyntaxError, Dom.Parser().parse, corruptDom) def testRecord(self) : recLine = 'd7hbib_\t7hbi\tb:\t1.001.001.001.001.001' rec = Dom.Parser().parse(recLine) self.assertEquals(rec.sid, 'd7hbib_') self.assertEquals(rec.residues.pdbid,'7hbi') self.assertEquals(rec.residues.fragments,(('b','',''),) ) self.assertEquals(rec.hierarchy,'1.001.001.001.001.001') def test_suite(): return unittest.makeSuite(DomTests) if __name__ == '__main__': unittest.main()