code: def test_mapping_keys_valuesitems(self):
      class BadMapping(dict):
          def keys(self):
              return None
  
          def values(self):
              return None
  
          def items(self):
              return None
  
      dict_obj = {"foo": 1, "bar": 2, "spam": 3}
      for mapping in [
          dict_obj,
          DictSubclass(dict_obj),
          BadMapping(dict_obj),
      ]:
          self.assertListEqual(
              _testcapi.dict_keys(mapping), list(dict_obj.keys())
          )
          self.assertListEqual(
              _testcapi.dict_values(mapping), list(dict_obj.values())
          )
          self.assertListEqual(
              _testcapi.dict_items(mapping), list(dict_obj.items())
          )
  
imports: import unittest
  from collections import OrderedDict, UserDict
  from types import MappingProxyType
  from test import support
  import _testcapi
label_desc: Use image node_id 20 for calling the CAPITest obj's underlying member method code with example usage: obj.test_mapping_keys_valuesitems() and returns: None, None, None