code: def test_surfsmooth(create_surf_file_in_directory):
      smooth = fs.SurfaceSmooth()
  
      # Test underlying command
      assert smooth.cmd == "mri_surf2surf"
  
      # Test mandatory args exception
      with pytest.raises(ValueError):
          smooth.run()
  
      # Create testing files
      surf, cwd = create_surf_file_in_directory
  
      # Test input settings
      smooth.inputs.in_file = surf
      smooth.inputs.subject_id = "fsaverage"
      fwhm = 5
      smooth.inputs.fwhm = fwhm
      smooth.inputs.hemi = "lh"
  
      # Test the command line
      assert smooth.cmdline == (
          "mri_surf2surf --cortex --fwhm 5.0000 --hemi lh --sval %s --tval %s/lh.a_smooth%d.nii --s fsaverage"
          % (surf, cwd, fwhm)
      )
  
      # Test identity
      shmooth = fs.SurfaceSmooth(
          subject_id="fsaverage",
          fwhm=6,
          in_file=surf,
          hemi="lh",
          out_file="lh.a_smooth.nii",
      )
      assert smooth != shmooth
  
file_path: nipype/nipype/interfaces/freesurfer/tests/test_utils.py
imports: import os
  import os.path
  import pytest
  from nipype.testing.fixtures import create_files_in_directory_plus_dummy_file, create_surf_file_in_directory
  from nipype.pipeline import engine
  from nipype.interfaces import freesurfer
  from nipype.interfaces.base import TraitError
  from nipype.interfaces.io import FreeSurferSource
label_desc: Use image node_id 2 for calling a global function with example usage: test_surfsmooth(create_surf_file_in_directory) without return types