From 8954890bd7410d79ce151196f406b8e1b6985238 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Wed, 13 Apr 2022 15:11:17 +0300 Subject: Implement remaining file parsing tests * Implement remaining file parsing tests and some helpers functions needed for ensuring the tests work. --- tests/qc/test_parsing.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'tests/qc') 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 -- cgit v1.2.3