code: def test_get_preferred_schemes(self):
      expected_schemes = {"prefix", "home", "user"}
  
      # Windows.
      os.name = "nt"
      schemes = _get_preferred_schemes()
      self.assertIsInstance(schemes, dict)
      self.assertEqual(set(schemes), expected_schemes)
  
      # Mac and Linux, shared library build.
      os.name = "posix"
      schemes = _get_preferred_schemes()
      self.assertIsInstance(schemes, dict)
      self.assertEqual(set(schemes), expected_schemes)
  
      # Mac, framework build.
      os.name = "posix"
      sys.platform = "darwin"
      sys._framework = "MyPython"
      self.assertIsInstance(schemes, dict)
      self.assertEqual(set(schemes), expected_schemes)
  
imports: import unittest
  import sys
  import os
  import subprocess
  import shutil
  from copy import copy
  from test.support import captured_stdout, PythonSymlink, requires_subprocess, is_wasi
  from test.support.import_helper import import_module
  from test.support.os_helper import TESTFN, unlink, skip_unless_symlink, change_cwd
  import sysconfig
  from sysconfig import get_paths, get_platform, get_config_vars, get_path, get_path_names, _INSTALL_SCHEMES, get_default_scheme, get_scheme_names, get_config_var, _expand_vars, _get_preferred_schemes
  from sysconfig.__main__ import _main, _parse_makefile
  import _imp
  import _osx_support
  import _sysconfig
label_desc: Use image node_id 10 for calling the TestSysConfig obj's underlying member method code with example usage: obj.test_get_preferred_schemes() without return types