code: def test_exif_png(self, tmp_path):
      with Image.open("Tests/images/exif.png") as im:
          exif = im.getexif()
          assert exif == {274: 1}
  
          out = str(tmp_path / "temp.png")
          exif[258] = 8
          del exif[274]
          exif[40963] = 455
          exif[305] = "Pillow test"
          im.save(out, exif=exif)
  
      with Image.open(out) as reloaded:
          reloaded_exif = reloaded.getexif()
          assert reloaded_exif == {
              258: 8,
              40963: 455,
              305: "Pillow test",
          }
  
imports: import io
  import os
  import shutil
  import sys
  import tempfile
  import pytest
  from PIL import Image, ImageDraw, ImagePalette, UnidentifiedImageError
  from .helper import assert_image_equal, assert_image_equal_tofile, assert_image_similar_tofile, assert_not_all_same, hopper, is_win32, mark_if_feature_version, skip_unless_feature
label_desc: Use image node_id 49 for calling the TestImage obj's underlying member method code with example usage: obj.test_exif_png(tmp_path) without return types