code: def test_ifd_unsigned_rational(tmp_path):
      im = hopper()
      info = TiffImagePlugin.ImageFileDirectory_v2()
  
      max_long = 2**32 - 1
  
      # 4 bytes unsigned long
      numerator = max_long
  
      info[41493] = TiffImagePlugin.IFDRational(numerator, 1)
  
      out = str(tmp_path / "temp.tiff")
      im.save(out, tiffinfo=info, compression="raw")
  
      with Image.open(out) as reloaded:
          assert max_long == reloaded.tag_v2[41493].numerator
          assert 1 == reloaded.tag_v2[41493].denominator
  
      # out of bounds of 4 byte unsigned long
      numerator = max_long + 1
  
      info[41493] = TiffImagePlugin.IFDRational(numerator, 1)
  
      out = str(tmp_path / "temp.tiff")
      im.save(out, tiffinfo=info, compression="raw")
  
      with Image.open(out) as reloaded:
          assert max_long == reloaded.tag_v2[41493].numerator
          assert 1 == reloaded.tag_v2[41493].denominator
  
imports: import io
  import struct
  import pytest
  from PIL import Image, TiffImagePlugin, TiffTags
  from PIL.TiffImagePlugin import IFDRational
  from .helper import assert_deep_equal, hopper
label_desc: Use image node_id 14 for calling a global function with example usage: test_ifd_unsigned_rational(tmp_path) without return types