def test_randomly_selects_correct_amount_of_items(self, mpopen, mpool): mpopen.return_value.poll.return_value = None mpopen.return_value.stdout.__iter__.return_value = self.samview_lines[1:] mpopen.return_value.stdout.readline.return_value = self.samview_lines[0] mpool.return_value.map = map with mock.patch('subsamplebam.sys') as msys: r = subsamplebam.subselect_from_bam( 'foo.bam', 10, 'chr1:1-10', ) self.assertEqual(set(self.samview_lines), r)
def test_handles_missing_depth_error(self, mpopen, mpool): mpopen.return_value.poll.return_value = None mpopen.return_value.stdout.__iter__.return_value = self.samview_lines[1:] mpopen.return_value.stdout.readline.return_value = self.samview_lines[0] mpool.return_value.map = map with mock.patch('subsamplebam.sys') as msys: r = subsamplebam.subselect_from_bam( 'foo.bam', 11, 'chr1:1-10', ) self.assertEqual(set([]), r) for i in range(1,11): msys.stderr.write.assert_has_call('Depth for chr1:{0}-{0} is only 10\n'.format(i))
def test_randomly_selects_correct_amount_of_items(self, mpopen, mpool): mpopen.return_value.poll.return_value = None mpopen.return_value.stdout.__iter__.return_value = self.samview_lines[ 1:] mpopen.return_value.stdout.readline.return_value = self.samview_lines[ 0] mpool.return_value.map = map with mock.patch('subsamplebam.sys') as msys: r = subsamplebam.subselect_from_bam( 'foo.bam', 10, 'chr1:1-10', ) self.assertEqual(set(self.samview_lines), r)
def test_handles_missing_depth_error(self, mpopen, mpool): mpopen.return_value.poll.return_value = None mpopen.return_value.stdout.__iter__.return_value = self.samview_lines[ 1:] mpopen.return_value.stdout.readline.return_value = self.samview_lines[ 0] mpool.return_value.map = map with mock.patch('subsamplebam.sys') as msys: r = subsamplebam.subselect_from_bam( 'foo.bam', 11, 'chr1:1-10', ) self.assertEqual(set([]), r) for i in range(1, 11): msys.stderr.write.assert_has_call( 'Depth for chr1:{0}-{0} is only 10\n'.format(i))