code: def test_clip_copy(copy_func):
      """Clip must be copied with `.copy()` method, `copy.copy()` and
      `copy.deepcopy()` (same behaviour).
      """
      clip = Clip()
      other_clip = Clip()
  
      # shallow copy of clip
      for attr in clip.__dict__:
          setattr(clip, attr, "foo")
  
      copied_clip = copy_func(clip)
  
      # assert copied attributes
      for attr in copied_clip.__dict__:
          assert getattr(copied_clip, attr) == getattr(clip, attr)
  
          # other instances are not edited
          assert getattr(copied_clip, attr) != getattr(other_clip, attr)
  
file_path: moviepy/tests/test_Clip.py
imports: import copy
  import numpy
  import pytest
  from moviepy.Clip import Clip
  from moviepy.video.VideoClip import BitmapClip, ColorClip
label_desc: Use image node_id 6 for calling a global function with example usage: test_clip_copy(copy_func) without return types