code: def test_callback_on_batch_update(self):
      fn_range = MagicMock()
      self.figure.layout.on_change(
          fn_range, "xaxis.range", "yaxis.range", "width"
      )
  
      with self.figure.batch_update():
          self.figure.layout.xaxis.range = [-10, 10]
          self.figure.layout.width = 500
          # Check fn not called before context exits
          self.assertFalse(fn_range.called)
  
      fn_range.assert_called_once_with(
          self.figure.layout, (-10, 10), None, 500
      )
  
imports: import sys
  from unittest import TestCase
  import pytest
  import plotly.graph_objs
label_desc: Use image node_id 13 for calling the TestOnChangeCallbacks obj's underlying member method code with example usage: obj.test_callback_on_batch_update() without return types