code: def testVersionNoMatching(self):
      span_dir = os.path.join(
          self._input_base_path, "span01", "wrong", "data"
      )
      io_utils.write_string_file(
          span_dir, "testing_version_no_matching"
      )
  
      splits = [
          example_gen_pb2.Input.Split(
              name="s1", pattern="span{SPAN}/version{VERSION}/split1/*"
          )
      ]
      with self.assertRaisesRegex(
          ValueError, "Cannot find matching for split"
      ):
          utils.calculate_splits_fingerprint_span_and_version(
              self._input_base_path, splits
          )
  
imports: import os
  import re
  import tensorflow
  from tfx.components.example_gen import utils
  from tfx.dsl.io import fileio
  from tfx.orchestration import data_types
  from tfx.proto import example_gen_pb2
  from tfx.proto import range_config_pb2
  from tfx.utils import io_utils
  from tfx.utils import json_utils
label_desc: Use image node_id 10 for calling the UtilsTest obj's underlying member method code with example usage: obj.testVersionNoMatching() without return types