code: def test_unique_module_names(self):
      import package_a.subpackage
  
      obj = package_a.subpackage.PackageASubpackageObject()
      obj2 = package_a.PackageAObject(obj)
      f1 = BytesIO()
      with PackageExporter(f1) as pe:
          pe.intern("**")
          pe.save_pickle("obj", "obj.pkl", obj2)
      f1.seek(0)
      importer1 = PackageImporter(f1)
      loaded1 = importer1.load_pickle("obj", "obj.pkl")
      f1.seek(0)
      importer2 = PackageImporter(f1)
      loaded2 = importer2.load_pickle("obj", "obj.pkl")
  
      # Modules from loaded packages should not shadow the names of modules.
      # See mangling.md for more info.
      self.assertNotEqual(
          type(obj2).__module__, type(loaded1).__module__
      )
      self.assertNotEqual(
          type(loaded1).__module__, type(loaded2).__module__
      )
  
file_path: pytorch/test/package/test_mangling.py
imports: from io import BytesIO
  from torch.package import PackageExporter, PackageImporter
  from torch.package._mangling import demangle, get_mangle_prefix, is_mangled, PackageMangler
  from torch.testing._internal.common_utils import run_tests
label_desc: Use image node_id 9 for calling the TestMangling obj's underlying member method code with example usage: obj.test_unique_module_names() without return types