code: def test_issue_547():
      red = ColorClip((640, 480), color=(255, 0, 0)).with_duration(1)
      green = ColorClip((640, 480), color=(0, 255, 0)).with_duration(2)
      blue = ColorClip((640, 480), color=(0, 0, 255)).with_duration(3)
  
      video = concatenate_videoclips(
          [red, green, blue], method="compose"
      )
      assert video.duration == 6
      assert video.mask.duration == 6
  
      video = concatenate_videoclips([red, green, blue])
      assert video.duration == 6
  
imports: import os
  import pytest
  from moviepy.audio.io.AudioFileClip import AudioFileClip
  from moviepy.video.compositing.CompositeVideoClip import CompositeVideoClip
  from moviepy.video.compositing.concatenate import concatenate_videoclips
  from moviepy.video.compositing.transitions import crossfadein, crossfadeout
  from moviepy.video.fx.resize import resize
  from moviepy.video.io.VideoFileClip import VideoFileClip
  from moviepy.video.VideoClip import ColorClip, ImageClip, VideoClip
label_desc: Use image node_id 12 for calling a global function with example usage: test_issue_547() without return types