Skip to content

Commit 26e2e50

Browse files
committed
Add extra assertions to make sure None is never returned by qc_checkers
1 parent 8477a37 commit 26e2e50

File tree

6 files changed

+19
-0
lines changed

6 files changed

+19
-0
lines changed

tests/qc_checkers/test_cluster_pf.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def test_cluster_pf(qc_data):
2828
)
2929

3030
assert len(qc_reports) == 2
31+
assert None not in qc_reports
3132
for report in qc_reports:
3233
lane, threshold = report.data["lane"], report.data["threshold"]
3334
match lane:
@@ -60,6 +61,7 @@ def test_cluster_pf_error_unknown(qc_data):
6061
)
6162

6263
assert len(qc_reports) == 2
64+
assert None not in qc_reports
6365
for report in qc_reports:
6466
lane, threshold = report.data["lane"], report.data["threshold"]
6567
match lane:
@@ -92,6 +94,7 @@ def test_cluster_pf_warning_unknown(qc_data):
9294
)
9395

9496
assert len(qc_reports) == 1
97+
assert None not in qc_reports
9598
report = qc_reports[0]
9699
lane, threshold = report.data["lane"], report.data["threshold"]
97100
match lane:

tests/qc_checkers/test_error_rate.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ def test_error_rate(qc_data_and_exp_val):
7272
)
7373

7474
assert len(qc_reports) == sum(len(v) for v in exp_val.values())
75+
assert None not in qc_reports
7576
for qc_report in qc_reports:
7677
lane, read = qc_report.data['lane'], qc_report.data['read']
7778
expected_report = exp_val[lane][read]
@@ -92,6 +93,7 @@ def test_error_rate_error_unknown(qc_data_and_exp_val):
9293
del exp_val[2][1]
9394

9495
assert len(qc_reports) == sum(len(v) for v in exp_val.values())
96+
assert None not in qc_reports
9597
for qc_report in qc_reports:
9698
lane, read = qc_report.data['lane'], qc_report.data['read']
9799
expected_report = exp_val[lane][read]
@@ -117,6 +119,7 @@ def test_error_rate_warning_unknown(qc_data_and_exp_val):
117119
del exp_val[2][1]
118120

119121
assert len(qc_reports) == sum(len(v) for v in exp_val.values())
122+
assert None not in qc_reports
120123
for qc_report in qc_reports:
121124
lane, read = qc_report.data['lane'], qc_report.data['read']
122125
expected_report = exp_val[lane][read]
@@ -140,6 +143,7 @@ def test_error_rate_allow_missing(qc_data_and_exp_val):
140143
del exp_val[1][3]
141144

142145
assert len(qc_reports) == sum(len(v) for v in exp_val.values())
146+
assert None not in qc_reports
143147
for qc_report in qc_reports:
144148
lane, read = qc_report.data['lane'], qc_report.data['read']
145149
expected_report = exp_val[lane][read]

tests/qc_checkers/test_percent_q30.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ def test_percent_q30(qc_data_and_exp_val):
6565
)
6666

6767
assert len(qc_reports) == sum(len(v) for v in exp_val.values())
68+
assert None not in qc_reports
6869
for qc_report in qc_reports:
6970
lane, read = qc_report.data['lane'], qc_report.data['read']
7071
expected_report = exp_val[lane][read]
@@ -92,6 +93,7 @@ def test_error_rate_error_unknown(qc_data_and_exp_val):
9293
)
9394

9495
assert len(qc_reports) == sum(len(v) for v in exp_val.values())
96+
assert None not in qc_reports
9597
for qc_report in qc_reports:
9698
lane, read = qc_report.data['lane'], qc_report.data['read']
9799
expected_report = exp_val[lane][read]
@@ -118,6 +120,7 @@ def test_error_rate_warning_unknown(qc_data_and_exp_val):
118120
del exp_val[2][4]
119121

120122
assert len(qc_reports) == sum(len(v) for v in exp_val.values())
123+
assert None not in qc_reports
121124
for qc_report in qc_reports:
122125
lane, read = qc_report.data['lane'], qc_report.data['read']
123126
expected_report = exp_val[lane][read]

tests/qc_checkers/test_reads_per_sample.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ def test_reads_per_sample(qc_data_and_exp_val):
7070
)
7171

7272
assert len(qc_reports) == 2
73+
assert None not in qc_reports
7374
for qc_report in qc_reports:
7475
lane = qc_report.data['lane']
7576
expected_report = exp_val[lane]
@@ -89,6 +90,7 @@ def test_reads_per_sample_unknown_threshold(qc_data_and_exp_val):
8990
)
9091

9192
assert len(qc_reports) == 2
93+
assert None not in qc_reports
9294
expected_report = QCErrorWarning(
9395
"Number of reads for sample Sample_B on lane 1 were too low:"
9496
" 20.0 M (threshold: 30.0 M)",

tests/qc_checkers/test_undetermined_percentage.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def test_error_threshold():
2929
)
3030

3131
assert len(qc_reports) == 1
32+
assert None not in qc_reports
3233
assert qc_reports[0].type() == "error"
3334
assert str(qc_reports[0]) == "Fatal QC error: Percentage of undetermined indices 20.00% (- 1.00% phiX) > 15.00% on lane 1."
3435
assert qc_reports[0].data == {
@@ -60,6 +61,7 @@ def test_warning_threshold():
6061
)
6162

6263
assert len(qc_reports) == 1
64+
assert None not in qc_reports
6365
assert qc_reports[0].type() == "warning"
6466
assert str(qc_reports[0]) == "QC warning: Percentage of undetermined indices 20.00% (- 1.00% phiX) > 5.00% on lane 1."
6567
assert qc_reports[0].data == {
@@ -130,6 +132,7 @@ def test_multiple_reports():
130132
)
131133

132134
assert len(qc_reports) == 2
135+
assert None not in qc_reports
133136
for report in qc_reports:
134137
match report.data["lane"]:
135138
case 1:
@@ -175,6 +178,7 @@ def test_yield_0():
175178
)
176179

177180
assert len(qc_reports) == 1
181+
assert None not in qc_reports
178182
assert qc_reports[0].type() == "error"
179183
assert str(qc_reports[0]) == "Fatal QC error: Yield for lane 1 was 0. No undetermined percentage could be computed"
180184
assert qc_reports[0].data == {"lane": 1, "percentage_undetermined": None}
@@ -201,6 +205,7 @@ def test_mean_percent_phix_nan():
201205
)
202206

203207
assert len(qc_reports) == 1
208+
assert None not in qc_reports
204209
assert qc_reports[0].type() == "error"
205210
assert str(qc_reports[0]) == "Fatal QC error: Percentage of undetermined indices 20.00% (- 1.00% phiX) > 15.00% on lane 3."
206211
assert qc_reports[0].data == {

tests/qc_checkers/test_unidentified_index.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ def test_unidentified_index(qc_data):
183183
reports = unidentified_index(qc_data, 5.)
184184

185185
assert len(reports) == 2
186+
assert None not in reports
186187
assert str(reports[0]) == """Fatal QC error: Overrepresented unknown barcode "ACCT" on lane 1 (10.0% > 5.0%).
187188
Possible causes are:
188189
- reverse index swap: "TCCA" found in samplesheet for sample "reverse", lane 1
@@ -197,6 +198,7 @@ def test_whitelist_index(qc_data):
197198
qc_data, 5.,
198199
white_listed_indexes=[".*CC.*"])
199200
assert len(reports) == 2
201+
assert None not in reports
200202
assert str(reports[0]).startswith(
201203
"QC warning: Overrepresented unknown barcode \"ACCT\" on lane 1 (10.0% > 5.0%). "
202204
"This barcode is white-listed."

0 commit comments

Comments
 (0)