code: def test_class_handler_registry():
      my_handler_registry = ClassFactRegistry()
  
      # The predicate doesn't matter here, so just pass
      @my_handler_registry.register(Mul)
      def fact1(expr):
          pass
  
      @my_handler_registry.multiregister(Expr)
      def fact2(expr):
          pass
  
      assert my_handler_registry[Basic] == (frozenset(), frozenset())
      assert my_handler_registry[Expr] == (
          frozenset(),
          frozenset({fact2}),
      )
      assert my_handler_registry[Mul] == (
          frozenset({fact1}),
          frozenset({fact2}),
      )
  
file_path: sympy/sympy/assumptions/tests/test_sathandlers.py
imports: from sympy.assumptions.ask import Q
  from sympy.core.basic import Basic
  from sympy.core.expr import Expr
  from sympy.core.mul import Mul
  from sympy.core.symbol import symbols
  from sympy.logic.boolalg import And, Or
  from sympy.assumptions.sathandlers import ClassFactRegistry, allargs, anyarg, exactlyonearg
label_desc: Use image node_id 1 for calling a global function with example usage: test_class_handler_registry() without return types