code: def _assert_equal_points(expected_points, actual_points):
      assert len(expected_points) == len(actual_points)
  
      for i in range(len(expected_points)):
          assert np.isclose(actual_points.x[i], expected_points.x[i])
          assert np.isclose(actual_points.y[i], expected_points.y[i])
          assert (
              actual_points.operation[i].operator
              == expected_points.operation[i].operator
          )
          assert np.isclose(
              actual_points.operation[i].threshold,
              expected_points.operation[i].threshold,
          )
  
file_path: fairlearn/test/unit/postprocessing/test_curve_utilities.py
imports: import numpy
  import pandas
  import pytest
  from fairlearn.postprocessing._constants import LABEL_KEY, SCORE_KEY, SENSITIVE_FEATURE_KEY
  from fairlearn.postprocessing._threshold_operation import ThresholdOperation
  from fairlearn.postprocessing._tradeoff_curve_utilities import _calculate_tradeoff_points, _filter_points_to_get_convex_hull, _interpolate_curve, _tradeoff_curve
  from .conftest import _get_grouped_data_and_base_points, labels_ex, scores_ex, sensitive_feature_names_ex1, sensitive_features_ex1
label_desc: Use image node_id 7 for calling a global function with example usage: _assert_equal_points(expected_points, actual_points) without return types