def test_yield_correct_results(self, df_with_numeric_values): df = df_with_numeric_values base_check = Check(CheckLevel.EXCEPTION, description="a description") analyzers = [ Minimum("att1"), Maximum("att1"), Mean("att1"), StandardDeviation("att1"), Sum("att1"), Quantile("att1", 0.5), ] engine = PandasEngine(df) repo = InMemoryMetadataRepository() context_numeric = do_analysis_run(engine, repo, analyzers) assert is_success(base_check.has_min("att1", lambda v: v == 1.0), context_numeric) assert is_success(base_check.has_max("att1", lambda v: v == 6.0), context_numeric) assert is_success(base_check.has_mean("att1", lambda v: v == 3.5), context_numeric) assert is_success( base_check.has_standard_deviation("att1", lambda v: v == 1.870829), context_numeric, ) assert is_success(base_check.has_sum("att1", lambda v: v == 21.0), context_numeric) assert is_success( base_check.has_approx_quantile("att1", 0.5, lambda v: v == 4.0), context_numeric)
def test_multiple_quantiles_are_computed(self, df_with_numeric_values): df = df_with_numeric_values analyzers = [ Quantile("att1", 0.1), Quantile("att1", 0.5), Quantile("att1", 0.9), ] engine = PandasEngine(df) repo = InMemoryMetadataRepository() context_numeric = do_analysis_run(engine, repo, analyzers) assert len(context_numeric.metric_map) == 3 print(context_numeric) base_check = Check(CheckLevel.EXCEPTION, description="a description") assert is_success( base_check.has_approx_quantile("att1", 0.5, lambda v: v == 4.0), context_numeric) assert is_success( base_check.has_approx_quantile("att1", 0.9, lambda v: v == 6.0), context_numeric) assert is_success( base_check.has_approx_quantile("att1", 0.1, lambda v: v == 1.0), context_numeric)