/ tests / future / metrics / test_missing_count.py
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"]