code: def test_clips_array_duration(util):
      filename = os.path.join(util.TMP_DIR, "test_clips_array.mp4")
  
      # NOTE: anyone knows what behaviour this sets ? If yes please replace
      # this comment.
      red = ColorClip((256, 200), color=(255, 0, 0))
      green = ColorClip((256, 200), color=(0, 255, 0))
      blue = ColorClip((256, 200), color=(0, 0, 255))
  
      video = clips_array([[red, green, blue]]).with_duration(5)
      with pytest.raises(AttributeError):  # fps not set
          video.write_videofile(filename)
  
      # this one should work correctly
      red.fps = green.fps = blue.fps = 30
      video = clips_array([[red, green, blue]]).with_duration(5)
      video.write_videofile(filename)
  
file_path: moviepy/tests/test_compositing.py
imports: import os
  import numpy
  import pytest
  from moviepy.video.compositing.CompositeVideoClip import CompositeVideoClip, clips_array
  from moviepy.video.compositing.concatenate import concatenate_videoclips
  from moviepy.video.compositing.transitions import slide_in, slide_out
  from moviepy.video.fx.resize import resize
  from moviepy.video.VideoClip import BitmapClip, ColorClip
label_desc: Use image node_id 2 for calling a global function with example usage: test_clips_array_duration(util) without return types