code: def is_one2one(fmt):
      
      data = _generate_data_for_format(fmt)
      if data is None:
          return False
  
      # run data forward once and back to data
      stri = compose(fmt, data)
      data2 = parse(fmt, stri)
      # check if data2 equal to original data
      if len(data) != len(data2):
          return False
      for key in data:
          if key not in data2:
              return False
          if data2[key] != data[key]:
              return False
      # all checks passed, so just return True
      return True
docs: Runs a check to evaluate if the format string has a
      one to one correspondence.  I.e. that successive composing and
      parsing opperations will result in the original data.
      In other words, that input data maps to a string,
      which then maps back to the original data without any change
      or loss in information.
  
      Note: This test only applies to sensible usage of the format string.
      If string or numeric data is causes overflow, e.g. 
      if composing "abcd" into {3s}, one to one correspondence will always 
      be broken in such cases. This of course also applies to precision
      losses when using  datetime data.