aboutsummaryrefslogtreecommitdiff
path: root/tests/qc
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2022-04-13 15:11:17 +0300
committerFrederick Muriuki Muriithi2022-04-13 15:11:17 +0300
commit8954890bd7410d79ce151196f406b8e1b6985238 (patch)
tree4c1a6a44af9a518d13d6b3ba8813895fa4e068b6 /tests/qc
parent6804b610266d0804dd5c391f5171943429c285cd (diff)
downloadgn-uploader-8954890bd7410d79ce151196f406b8e1b6985238.tar.gz
Implement remaining file parsing tests
* Implement remaining file parsing tests and some helpers functions needed for ensuring the tests work.
Diffstat (limited to 'tests/qc')
-rw-r--r--tests/qc/test_parsing.py29
1 files changed, 15 insertions, 14 deletions
diff --git a/tests/qc/test_parsing.py b/tests/qc/test_parsing.py
index 14cfbde..be13d9b 100644
--- a/tests/qc/test_parsing.py
+++ b/tests/qc/test_parsing.py
@@ -11,37 +11,38 @@ from quality_control.parsing import FileType, parse_file
("tests/test_data/average.tsv", FileType.STANDARD_ERROR),
("tests/test_data/standarderror_1_error_at_end.tsv", FileType.AVERAGE),
("tests/test_data/standarderror.tsv", FileType.AVERAGE),
- ("tests/test_data/we_found_no_errors_in_your_file.tsv",
+ ("tests/test_data/duplicated_headers_no_data_errors.tsv",
FileType.STANDARD_ERROR),))
-def test_parse_file_fails_with_wrong_filetype_declaration(filepath, filetype):
+def test_parse_file_fails_with_wrong_filetype_declaration(filepath, filetype, strains):
with pytest.raises(ParseError):
- for line in parse_file(filepath, filetype, "strains.csv"):
+ for line in parse_file(filepath, filetype, strains):
pass
@pytest.mark.parametrize(
"filepath,filetype",
(("tests/test_data/average_crlf.tsv", FileType.AVERAGE),
("tests/test_data/average.tsv", FileType.AVERAGE),
- ("tests/test_data/standarderror.tsv", FileType.STANDARD_ERROR),
- ("tests/test_data/we_found_no_errors_in_your_file.tsv", FileType.AVERAGE)))
-def test_parse_file_passes_with_valid_files(filepath, filetype):
- assert False, "Not Implemented"
+ ("tests/test_data/standarderror.tsv", FileType.STANDARD_ERROR)))
+def test_parse_file_passes_with_valid_files(filepath, filetype, strains):
+ for line in parse_file(filepath, filetype, strains):
+ assert bool(line)
@pytest.mark.parametrize(
"filepath,filetype",
(("tests/test_data/average_large.tsv", FileType.AVERAGE),
("tests/test_data/average.tsv", FileType.AVERAGE),
- ("tests/test_data/standarderror.tsv", FileType.STANDARD_ERROR),
- ("tests/test_data/we_found_no_errors_in_your_file.tsv", FileType.AVERAGE)))
-def test_parse_file_works_with_large_files(filepath, filetype):
- assert False, "Not Implemented"
+ ("tests/test_data/standarderror.tsv", FileType.STANDARD_ERROR)))
+def test_parse_file_works_with_large_files(filepath, filetype, strains):
+ for line in parse_file(filepath, filetype, strains):
+ assert bool(line)
@pytest.mark.parametrize(
"filepath,filetype",
(("tests/test_data/average_error_at_end_200MB.tsv", FileType.AVERAGE),
- ("tests/test_data/standarderror_1_error_at_end.tsv", FileType.STANDARD_ERROR)))
-def test_parse_file_raises_exception_on_error_in_file(filepath, filetype):
+ ("tests/test_data/standarderror_1_error_at_end.tsv", FileType.STANDARD_ERROR),
+ ("tests/test_data/duplicated_headers_no_data_errors.tsv", FileType.AVERAGE)))
+def test_parse_file_raises_exception_on_error_in_file(filepath, filetype, strains):
with pytest.raises(ParseError):
- for line in parse_file(filepath, filetype, "strains.csv"):
+ for line in parse_file(filepath, filetype, strains):
pass