code: def testGeneratesFingerprint(self):
      self.createFiles(
          {
              "fp": {"data1": "testing", "data2": "testing2"},
          }
      )
      os.utime(self.relpath("fp", "data1"), (0, 1))
      os.utime(self.relpath("fp", "data2"), (0, 3))
      fingerprint = io_utils.generate_fingerprint(
          "split", os.path.join(self.relpath("fp"), "*")
      )
      self.assertEqual(
          "split:split,num_files:2,total_bytes:15,xor_checksum:2,sum_checksum:4",
          fingerprint,
      )
  
imports: import os
  from unittest import mock
  import tensorflow
  from tfx.dsl.io import fileio
  from tfx.utils import io_utils
  from tensorflow.python.lib.io import file_io
label_desc: Use image node_id 19 for calling the IoUtilsTest obj's underlying member method code with example usage: obj.testGeneratesFingerprint() without return types