code: def _assert_namedtuple_close(a, b):
      cls_name = b.__class__.__name__
      assert a.__class__ == b.__class__
      for attr in b._fields:
          a_attr = getattr(a, attr)
          b_attr = getattr(b, attr)
          if _is_namedtuple(b_attr):
              _assert_namedtuple_close(a_attr, b_attr)
          np.testing.assert_allclose(
              a_attr,
              b_attr,
              err_msg=f"{cls_name} attribute {attr} differs",
          )
  
imports: import numpy
  import pytest
  from satpy.tests.reader_tests.utils import get_jit_methods, skip_numba_unstable_if_missing
label_desc: Use image node_id 11 for calling a global function with example usage: _assert_namedtuple_close(a, b) without return types