def test_duplicate_dates(self):
        params = {
            "data_source": "",
            "span_length": 1,
            "end_date": "2020-09-02",
            "expected_lag": {}
        }
        validator = StaticValidator(params)
        report = ValidationReport([])

        filenames = [("20200901_county_signal_signal.csv", "match_obj"),
                     ("20200903_county_signal_signal.csv", "match_obj"),
                     ("20200903_usa_signal_signal.csv", "match_obj"),
                     ("20200903_usa_signal_signal.csv", "match_obj")]
        validator.check_missing_date_files(filenames, report)

        assert len(report.raised_errors) == 1
        assert "check_missing_date_files" in [
            err.check_data_id[0] for err in report.raised_errors
        ]
        assert len([
            err.expression[0] for err in report.raised_errors
            if err.check_data_id[0] == "check_missing_date_files"
        ]) == 1
        assert [
            err.expression[0] for err in report.raised_errors
            if err.check_data_id[0] == "check_missing_date_files"
        ][0] == datetime.strptime("20200902", "%Y%m%d").date()
    def test_same_day(self):
        params = {
            "data_source": "",
            "span_length": 0,
            "end_date": "2020-09-01",
            "expected_lag": {}
        }
        validator = StaticValidator(params)
        report = ValidationReport([])

        filenames = [("20200901_county_signal_signal.csv", "match_obj")]
        validator.check_missing_date_files(filenames, report)

        assert len(report.raised_errors) == 0
        assert "check_missing_date_files" not in [
            err.check_data_id[0] for err in report.raised_errors
        ]
    def test_empty_filelist(self):
        params = {
            "data_source": "",
            "span_length": 8,
            "end_date": "2020-09-09",
            "expected_lag": {}
        }
        validator = StaticValidator(params)
        report = ValidationReport([])
        report = ValidationReport([])

        filenames = list()
        validator.check_missing_date_files(filenames, report)

        assert len(report.raised_errors) == 1
        assert "check_missing_date_files" in [
            err.check_data_id[0] for err in report.raised_errors
        ]
        assert len(report.raised_errors[0].expression) == 9