1 from unittest2 import TestCase, TestSuite, defaultTestLoader
3 from htsworkflow.pipelines import runfolder
4 class TestRunfolderUtilities(TestCase):
5 """Some functions can be tested independently of the runfolder version.
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']
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 )
18 def test_match_aligned_unaligned_relpath(self):
19 aligned = ['./Aligned', './Aligned1234', './Aligned_3mm']
20 unaligned = ['./Unaligned', './Unaligned_3mm', './Unaligned_6index']
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 )
31 suite.addTests(defaultTestLoader.loadTestsFromTestCase(RunfolderTests))
34 if __name__ == "__main__":
35 from unittest2 import main
36 main(defaultTest="suite")