def test_get_roc(): for sensitive_feature_value in sensitive_feature_names_ex1: grouped_data, base_points, ignore_for_base_points, x_grid = \ _get_grouped_data_and_base_points(sensitive_feature_value) roc_convex_hull = _get_roc(grouped_data, x_grid, sensitive_feature_value) curve = _interpolate_curve(roc_convex_hull, 'x', 'y', 'operation', x_grid) _assert_interpolated_points_are_between_base_points(base_points, curve, ignore_for_base_points)
def test_assert_interpolated_curve(): # An easily interpretable test to make sure the assertion method works as expected base_points = pd.DataFrame({ "x": [0, 5, 10], "y": [0, 2.5, 5], "operation": ["a", "b", "c"] # irrelevant }) x_grid = np.linspace(0, 10, 333) curve = _interpolate_curve(base_points, "x", "y", "operation", x_grid) _assert_interpolated_points_are_between_base_points(base_points, curve)
def test_interpolate_curve(): # The operation is irrelevant in this case since its semantics are not # used within _interpolate_curve. base_points = pd.DataFrame({ "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "y": [-5, -2, -1.5, -1, 0, 0.5, 0.8, 1.0, 1.1, 1.15], "operation": ["i", "r", "r", "e", "l", "e", "v", "a", "n", "t"] }) x_grid = np.linspace(0, 9, 100) curve = _interpolate_curve(base_points, "x", "y", "operation", x_grid) _assert_interpolated_points_are_between_base_points(base_points, curve)