def test_smoke_string_groups(self, transform_feature): sf_name = "My SF" sf_vals = transform_feature(['b', 'a', 'c', 'a', 'b']) sf = {sf_name: sf_vals} result = _process_sensitive_features(sf) assert isinstance(result, list) assert len(result) == 1 assert result[0]['featureBinName'] == sf_name assert result[0]['binVector'] == [1, 0, 2, 0, 1] assert result[0]['binLabels'] == ["a", "b", "c"]
def test_smoke(self, transform_feature): sf_name = "My SF" sf_vals = transform_feature([1, 3, 3, 1]) sf = {sf_name: sf_vals} result = _process_sensitive_features(sf) assert isinstance(result, list) assert len(result) == 1 assert result[0]['featureBinName'] == sf_name assert result[0]['binVector'] == [0, 1, 1, 0] assert result[0]['binLabels'] == ["1", "3"]
def test_result_is_sorted(self): sf_vals = [1, 2, 3, 1] sf = {"b": sf_vals, "a": sf_vals, "c": sf_vals} result = _process_sensitive_features(sf) assert isinstance(result, list) assert len(result) == 3 for r in result: assert r['binVector'] == [0, 1, 2, 0] assert r['binLabels'] == ['1', '2', '3'] result_names = [r['featureBinName'] for r in result] assert result_names == ["a", "b", "c"]