Change unittest2 back into unittest.
[htsworkflow.git] / htsworkflow / pipelines / test / test_runfolder_utils.py
1 from unittest import TestCase, TestSuite, defaultTestLoader
2
3 from htsworkflow.pipelines import runfolder
4 class TestRunfolderUtilities(TestCase):
5     """Some functions can be tested independently of the runfolder version.
6     """
7     def test_match_aligned_unaligned_abspath(self):
8         aligned = ['/a/b/c/Aligned', '/a/b/c/Aligned1234', '/a/b/c/Aligned_3mm']
9         unaligned = ['/a/b/c/Unaligned', '/a/b/c/Unaligned_3mm', '/a/b/c/Unaligned_6index']
10
11         matches = set(runfolder.hiseq_match_aligned_unaligned(aligned, unaligned))
12         self.assertEqual(len(matches), 4)
13         self.assertTrue(('/a/b/c/Aligned', '/a/b/c/Unaligned', '') in matches )
14         self.assertTrue(('/a/b/c/Aligned1234', None, '1234') in matches )
15         self.assertTrue(('/a/b/c/Aligned_3mm', '/a/b/c/Unaligned_3mm', '_3mm') in matches )
16         self.assertTrue((None, '/a/b/c/Unaligned_6index', '_6index') in matches )
17
18     def test_match_aligned_unaligned_relpath(self):
19         aligned = ['./Aligned', './Aligned1234', './Aligned_3mm']
20         unaligned = ['./Unaligned', './Unaligned_3mm', './Unaligned_6index']
21
22         matches = set(runfolder.hiseq_match_aligned_unaligned(aligned, unaligned))
23         self.assertEqual(len(matches), 4)
24         self.assertTrue(('./Aligned', './Unaligned', '') in matches )
25         self.assertTrue(('./Aligned1234', None, '1234') in matches )
26         self.assertTrue(('./Aligned_3mm', './Unaligned_3mm', '_3mm') in matches )
27         self.assertTrue((None, './Unaligned_6index', '_6index') in matches )
28
29 def suite():
30     suite = TestSuite()
31     suite.addTests(defaultTestLoader.loadTestsFromTestCase(RunfolderTests))
32     return suite
33
34 if __name__ == "__main__":
35     from unittest import main
36     main(defaultTest="suite")