def test_empty_df(self):
        validator = StaticValidator(self.params)
        report = ValidationReport([])
        empty_df = pd.DataFrame(columns=["val", "se", "sample_size"],
                                dtype=float)
        validator.check_bad_se(empty_df, "", report)

        assert len(report.raised_errors) == 0

        validator.params.missing_se_allowed = True
        validator.check_bad_se(empty_df, "", report)

        assert len(report.raised_errors) == 0
    def test_jeffreys(self):
        validator = StaticValidator(self.params)
        report = ValidationReport([])
        validator.params.missing_se_allowed = False
        df = pd.DataFrame([[0, 0, 200], [1, 0, np.nan], [1, np.nan, np.nan]],
                          columns=["val", "se", "sample_size"])
        validator.check_bad_se(df, "name", report)

        assert len(report.raised_errors) == 2
        assert "check_se_not_missing_and_in_range" in [
            err.check_data_id[0] for err in report.raised_errors
        ]
        assert "check_se_0_when_val_0" in [
            err.check_data_id[0] for err in report.raised_errors
        ]