code: def test_estimate_size():
      MyOperand.register_size_estimator(lambda *_: 2)
      assert estimate_size(dict(), MyOperand(_key="1")) == 2
      assert estimate_size(dict(), MyOperand2(_key="1")) == 2
  
      MyOperand.unregister_size_estimator()
      assert estimate_size(dict(), MyOperand(_key="1")) == 1
      MyOperand2.unregister_size_estimator()
      with pytest.raises(KeyError):
          estimate_size(dict(), MyOperand2(_key="1"))
  
imports: import numpy
  import pandas
  import pytest
  from ....dataframe import core
  from ...None import OutputType
  from ..None import Operand, TileableOperandMixin, execute, estimate_size, ShuffleProxy
label_desc: Use image node_id 2 for calling a global function with example usage: test_estimate_size() without return types