code: def testRangeConfigWithDateSpec(self):
      span1_split1 = os.path.join(
          self._input_base_path, "19700102", "split1", "data"
      )
      io_utils.write_string_file(span1_split1, "testing11")
  
      start_span = utils.date_to_span_number(1970, 1, 2)
      end_span = utils.date_to_span_number(1970, 1, 2)
      range_config = range_config_pb2.RangeConfig(
          static_range=range_config_pb2.StaticRange(
              start_span_number=start_span, end_span_number=end_span
          )
      )
  
      splits = [
          example_gen_pb2.Input.Split(
              name="s1", pattern="{YYYY}{MM}{DD}/split1/*"
          )
      ]
      (
          _,
          span,
          version,
      ) = utils.calculate_splits_fingerprint_span_and_version(
          self._input_base_path, splits, range_config=range_config
      )
  
      self.assertEqual(span, 1)
      self.assertIsNone(version)
      self.assertEqual(splits[0].pattern, "19700102/split1/*")
  
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 35 for calling the UtilsTest obj's underlying member method code with example usage: obj.testRangeConfigWithDateSpec() without return types