aboutsummaryrefslogtreecommitdiff
path: root/tests/qc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/qc')
-rw-r--r--tests/qc/test_header.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/qc/test_header.py b/tests/qc/test_header.py
index 2feac19..a474834 100644
--- a/tests/qc/test_header.py
+++ b/tests/qc/test_header.py
@@ -3,7 +3,7 @@ from hypothesis import given
from hypothesis import strategies as st
from quality_control.headers import valid_header
-from quality_control.errors import InvalidHeaderValue
+from quality_control.errors import DuplicateHeader, InvalidHeaderValue
@given(headers=st.lists(st.text(max_size=10)))
def test_valid_header_errors_with_invalid_headers(headers):
@@ -19,3 +19,13 @@ def test_valid_header_errors_with_invalid_headers(headers):
def test_valid_header_strains_passes_with_valid_headers(strains, headers):
"Verify that the check for header validity works"
assert valid_header(strains, headers)
+
+@pytest.mark.parametrize(
+ "strains,headers", [
+ (("BXD1", "BXD2", "BXD3"), ("ProbeSet", "BXD3", "BXD1", "BXD1")),
+ (("AStrain", "AnotherStrain", "YetAnotherStrain"),
+ ("Individual", "AStrain", "AnotherStrain", "YetAnotherStrain",
+ "AStrain"))])
+def test_valid_header_fails_with_duplicate_headers(strains, headers):
+ with pytest.raises(DuplicateHeader):
+ valid_header(strains, headers)