def test_lt_0(self):
        validator = StaticValidator(self.params)
        report = ValidationReport([])
        df = pd.DataFrame([-5], columns=["val"])
        validator.check_bad_val(df, "name", "signal", report)

        assert len(report.raised_errors) == 1
        assert "check_val_lt_0" in report.raised_errors[0].check_data_id
    def test_gt_max_pct(self):
        validator = StaticValidator(self.params)
        report = ValidationReport([])
        df = pd.DataFrame([1e7], columns=["val"])
        validator.check_bad_val(df, "name", "pct", report)

        assert len(report.raised_errors) == 1
        assert "check_val_pct_gt_100" in report.raised_errors[0].check_data_id
    def test_empty_df(self):
        validator = StaticValidator(self.params)
        report = ValidationReport([])
        empty_df = pd.DataFrame(columns=["val"])
        validator.check_bad_val(empty_df, "", "", report)
        validator.check_bad_val(empty_df, "", "prop", report)
        validator.check_bad_val(empty_df, "", "pct", report)

        assert len(report.raised_errors) == 0