code: def test_properties():
      def check(mode, *result):
          signature = (
              Image.getmodebase(mode),
              Image.getmodetype(mode),
              Image.getmodebands(mode),
              Image.getmodebandnames(mode),
          )
          assert signature == result
  
      check("1", "L", "L", 1, ("1",))
      check("L", "L", "L", 1, ("L",))
      check("P", "P", "L", 1, ("P",))
      check("I", "L", "I", 1, ("I",))
      check("F", "L", "F", 1, ("F",))
      check("RGB", "RGB", "L", 3, ("R", "G", "B"))
      check("RGBA", "RGB", "L", 4, ("R", "G", "B", "A"))
      check("RGBX", "RGB", "L", 4, ("R", "G", "B", "X"))
      check("RGBX", "RGB", "L", 4, ("R", "G", "B", "X"))
      check("CMYK", "RGB", "L", 4, ("C", "M", "Y", "K"))
      check("YCbCr", "RGB", "L", 3, ("Y", "Cb", "Cr"))
  
label_desc: Use image node_id 2 for calling a global function with example usage: test_properties() without return types