test_missing_count.py
1 import numpy as np 2 import pandas as pd 3 import pytest 4 5 from evidently.core.datasets import Dataset 6 from evidently.core.metric_types import CountValue 7 from evidently.core.report import Report 8 from evidently.metrics import DatasetMissingValueCount 9 10 11 @pytest.mark.parametrize( 12 "data,metric,result", 13 [(pd.DataFrame({"a": [1, 2, np.nan, np.nan]}), DatasetMissingValueCount(), {"count": 2, "share": 0.5})], 14 ) 15 def test_missing_count(data, metric, result): 16 dataset = Dataset.from_pandas(data) 17 report = Report([metric]) 18 run = report.run(dataset, None) 19 res = run._context.get_metric_result(metric) 20 assert isinstance(res, CountValue) 21 assert res.count.value == result["count"] 22 assert res.share.value == result["share"]