/ tests / features / test_is_valid_json_feature.py
test_is_valid_json_feature.py
 1  import pandas as pd
 2  import pytest
 3  
 4  from evidently.legacy.features.is_valid_json_feature import IsValidJSON
 5  from evidently.legacy.pipeline.column_mapping import ColumnMapping
 6  from evidently.legacy.utils.data_preprocessing import create_data_definition
 7  
 8  
 9  @pytest.mark.parametrize(
10      ("item", "expected"),
11      [
12          ('{"test": "abc"}', True),
13          ("not json", False),
14      ],
15  )
16  def test_is_valid_json_feature(item: str, expected: bool):
17      feature_generator = IsValidJSON("column_1")
18      data = pd.DataFrame(dict(column_1=[item]))
19      result = feature_generator.generate_feature(
20          data=data,
21          data_definition=create_data_definition(None, data, ColumnMapping()),
22      )
23      assert result.equals(pd.DataFrame(dict(column_1=[expected])))