code: def test_deduplicate_bins():
      bins = [
          [
              {"a": 1, "b": 2},
              {"a": 2, "b": 1},
              {"b": 2, "a": 1},
              {"b": 2, "a": 1},
          ],
          [
              np.array([1, 2, 3], dtype=np.float64),
              np.array([1, 3, 2], dtype=np.float64),
              np.array([1, 2, 3], dtype=np.float64),
          ],
      ]
  
      deduplicate_bins(bins)
  
      assert len(bins[0]) == 3
      assert id(bins[0][0]) != id(bins[0][1])
      assert id(bins[0][0]) == id(bins[0][2])
      assert id(bins[0][1]) != id(bins[0][2])
  
      assert len(bins[1]) == 3
      assert id(bins[1][0]) != id(bins[1][1])
      assert id(bins[1][0]) == id(bins[1][2])
      assert id(bins[1][1]) != id(bins[1][2])
  
file_path: interpret/python/interpret-core/tests/glassbox/ebm/test_ebm_utils.py
imports: from math import ceil, floor
  from interpret.glassbox._ebm._utils import make_bag, convert_categorical_to_continuous, _create_proportional_tensor, deduplicate_bins
  import numpy
  import pytest
label_desc: Use image node_id 1 for calling a global function with example usage: test_deduplicate_bins() without return types