code: def check(self, namespace, expected, ignored=None):
      # see which names are in the namespace, minus optional
      # ignored ones
      # compare vs the expected
  
      result = sorted(
          f
          for f in dir(namespace)
          if not f.startswith("__") and f != "annotations"
      )
      if ignored is not None:
          result = sorted(set(result) - set(ignored))
  
      expected = sorted(expected)
      tm.assert_almost_equal(result, expected)
  
imports: from __future__ import annotations
  import pytest
  import pandas
  from pandas import api
  import pandas._testing
  from pandas.api import extensions, indexers, interchange, types, typing
label_desc: Use image node_id 1 for calling the Base obj's underlying member method code with example usage: obj.check(namespace, expected, ignored) without return types