code: def _check_sets(result, expected, msg, path, type_):
      """Compare two sets. This is used to check dictionary keys and sets.
  
      Parameters
      ----------
      result : set
      expected : set
      msg : str
      path : tuple
      type : str
          The type of an element. For dict we use ``'key'`` and for set we use
          ``'element'``.
      """
      if result != expected:
          if result > expected:
              diff = result - expected
              msg = "extra %s in result: %r" % (s(type_, diff), diff)
          elif result < expected:
              diff = expected - result
              msg = "result is missing %s: %r" % (s(type_, diff), diff)
          else:
              in_result = result - expected
              in_expected = expected - result
              msg = "%s only in result: %s\n%s only in expected: %s" % (
                  s(type_, in_result),
                  in_result,
                  s(type_, in_expected),
                  in_expected,
              )
          raise AssertionError(
              "%ss do not match\n%s%s"
              % (
                  type_,
                  _fmt_msg(msg),
                  _fmt_path(path),
              ),
          )
  
imports: from collections import OrderedDict
  from contextlib import contextmanager
  import datetime
  from functools import partial
  import re
  from nose.tools import assert_almost_equal, assert_almost_equals, assert_dict_contains_subset, assert_false, assert_greater, assert_greater_equal, assert_in, assert_is, assert_is_instance, assert_is_none, assert_is_not, assert_is_not_none, assert_less, assert_less_equal, assert_multi_line_equal, assert_not_almost_equal, assert_not_almost_equals, assert_not_equal, assert_not_equals, assert_not_in, assert_not_is_instance, assert_raises, assert_raises_regexp, assert_regexp_matches, assert_true, assert_tuple_equal
  import numpy
  import pandas
  from pandas.util.testing import assert_frame_equal, assert_panel_equal, assert_series_equal, assert_index_equal
  from six import iteritems, viewkeys, PY2
  from six.moves import zip_longest
  from toolz import dissoc, keyfilter
  import toolz.curried.operator
  from zipline.assets import Asset
  from zipline.dispatch import dispatch
  from zipline.lib.adjustment import Adjustment
  from zipline.lib.labelarray import LabelArray
  from zipline.testing.core import ensure_doctest
  from zipline.utils.compat import getargspec, mappingproxy
  from zipline.utils.formatting import s
  from zipline.utils.functional import dzip_exact, instance
  from zipline.utils.math_utils import tolerant_equals
  from zipline.utils.numpy_utils import assert_array_compare, compare_datetime_arrays
label_desc: Use image node_id 15 for calling a global function with example usage: _check_sets(result, expected, msg, path, type_) without return types