diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/r_qtl/test_files/nonexistent.zip | bin | 0 -> 380 bytes | |||
-rw-r--r-- | tests/r_qtl/test_r_qtl2_nonexistent_file.py | 29 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/r_qtl/test_files/nonexistent.zip b/tests/r_qtl/test_files/nonexistent.zip Binary files differnew file mode 100644 index 0000000..4a31bf1 --- /dev/null +++ b/tests/r_qtl/test_files/nonexistent.zip diff --git a/tests/r_qtl/test_r_qtl2_nonexistent_file.py b/tests/r_qtl/test_r_qtl2_nonexistent_file.py new file mode 100644 index 0000000..c783a76 --- /dev/null +++ b/tests/r_qtl/test_r_qtl2_nonexistent_file.py @@ -0,0 +1,29 @@ +"""Test accessing nonexistent member.""" +from pathlib import Path + +import pytest +from zipfile import ZipFile + +from r_qtl import r_qtl2 as rqtl2 + +@pytest.mark.unit_test +@pytest.mark.parametrize( + "filepath,memberkey", + (("tests/r_qtl/test_files/nonexistent.zip", "geno"), + ("tests/r_qtl/test_files/nonexistent.zip", "founder_geno"), + ("tests/r_qtl/test_files/nonexistent.zip", "pheno"), + ("tests/r_qtl/test_files/nonexistent.zip", "covar"), + ("tests/r_qtl/test_files/nonexistent.zip", "phenocovar"), + ("tests/r_qtl/test_files/nonexistent.zip", "gmap"), + ("tests/r_qtl/test_files/nonexistent.zip", "pmap"))) +def test_loading_nonexistent_file(filepath, memberkey): + """ + GIVEN: A zipfile with a valid control file, but some files mentioned in the + control file do not exist in the zipfile + WHEN: access is made to such missing files + THEN: raise an exception + """ + with (ZipFile(Path(filepath).absolute(), "r") as zfile, + pytest.raises(rqtl2.InvalidFormat)): + cdata = rqtl2.control_data(zfile) + tuple(rqtl2.file_data(zfile, memberkey, cdata)) |