def test_sample_statistics_notexists(testdir, mock_testclass): sample = 'POLR2A' splits = ['100-110', '120-130'] s.flagstat_total = MagicMock(side_effect=[300, 200]) Bed.count_bed = MagicMock(side_effect=[150, 50, 40]) stats = s.sample_statistics(sample, splits) assert stats[0] == sample assert stats[1] == '' assert stats[2] == '' assert stats[3] == '' assert stats[4] == '' assert stats[5] == '' assert len(stats) == 6 s.flagstat_total.assert_not_called() Bed.count_bed.assert_not_called()
def test_sample_statistics(testdir, mock_testclass): sample = 'POLR2A' Path(sample + '.bam').touch() Path(sample + '-filtered.bam').touch() Path(sample + '.bed').touch() splits = ['100-110', '120-130'] for split in splits: Path(sample + '-' + split + '.bed').touch() s.flagstat_total = MagicMock(side_effect=[300, 200]) Bed.count_bed = MagicMock(side_effect=[150, 50, 40]) stats = s.sample_statistics(sample, splits) assert stats[0] == sample assert stats[1] == 300 assert stats[2] == 200 assert stats[3] == 150 * 2 assert stats[4] == 50 assert stats[5] == 40 assert len(stats) == 6 s.flagstat_total.assert_any_call(sample + '.bam') s.flagstat_total.assert_any_call(sample + '-filtered.bam') Bed.count_bed.assert_any_call(sample + '.bed') Bed.count_bed.assert_any_call(sample + '-100-110.bed') Bed.count_bed.assert_any_call(sample + '-120-130.bed')