/ tests / features / test_exact_feature.py
test_exact_feature.py
 1  import pandas as pd
 2  import pytest
 3  
 4  from evidently.legacy.features.exact_match_feature import ExactMatchFeature
 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      ("value1", "value2", "expected"),
11      [
12          ("this is same", "this is same", True),
13          ("this is same", "this is different", False),
14      ],
15  )
16  def test_exact_match_feature(value1: str, value2: str, expected: bool):
17      feature_generator = ExactMatchFeature(columns=["column_1", "column_2"])
18      data = pd.DataFrame(dict(column_1=[value1], column_2=[value2]))
19      result = feature_generator.generate_feature(
20          data=data, data_definition=create_data_definition(None, data, ColumnMapping())
21      )
22      expected_df = pd.DataFrame([[expected]], columns=["column_1|column_2"])
23      pd.testing.assert_frame_equal(result, expected_df)