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)