Change unittest2 back into unittest.
[htsworkflow.git] / htsworkflow / submission / test / test_ucsc.py
1 from unittest import TestCase, TestSuite, defaultTestLoader
2 from StringIO import StringIO
3
4 from htsworkflow.submission import ucsc
5
6
7 ENCODE_FILES="""wgEncodeGisChiaPetHCT116D000005593.bed.gz       project=wgEncode; grant=Ruan; lab=GIS-Ruan; composite=wgEncodeGisChiaPet; dataType=ChiaPet; view=Interactions; cell=HCT-116; antibody=Pol2; replicate=1; origAssembly=hg19; dataVersion=ENCODE Jan 2011 Freeze; dccAccession=wgEncodeEH001427; dateSubmitted=2011-02-04; dateUnrestricted=2011-11-04; subId=3267; labVersion=CHH524; tableName=wgEncodeGisChiaPetHCT116D000005593; type=bed; md5sum=a3c7420aece4acfb15f80f4dfe9f1fb3; size=924K
8 wgEncodeCaltechRnaSeqGm12878R2x75Il200FastqRd2Rep1.fastq.tgz    project=wgEncode; grant=Myers; lab=Caltech; composite=wgEncodeCaltechRnaSeq; dataType=RnaSeq; view=FastqRd2; cell=GM12878; localization=cell; rnaExtract=longPolyA; readType=2x75; insertLength=200; replicate=1; origAssembly=hg18; dataVersion=ENCODE Jan 2011 Freeze; dccAccession=wgEncodeEH000122; dateSubmitted=2010-07-14; dateResubmitted=2010-06-21; dateUnrestricted=2011-04-14; subId=1647; type=fastq; md5sum=51c4d1679b0ad29888bea2b40e26364a; size=4.8G
9 """
10
11
12 class TestUCSCInfo(TestCase):
13     def test_parse_encodedcc_file(self):
14         stream = StringIO(ENCODE_FILES)
15         file_index = ucsc.parse_ucsc_file_index(stream, 'http://example.com/files')
16         self.assertEquals(len(file_index), 2)
17
18         for attributes in file_index.values():
19             self.failUnless('subId' in attributes)
20             self.failUnless('project' in attributes)
21             self.assertEquals(attributes['project'], 'wgEncode')
22
23 def suite():
24     suite = TestSuite()
25     suite.addTests(defaultTestLoader.loadTestsFromTestCase(TestUCSCInfo))
26     return suite
27
28 if __name__ == "__main__":
29     from unittest import main
30     main(defaultTest='suite')