code: def test_dispatching_reader(self):
      with fasta.FastaReader(
          test_utils.genomics_core_testdata("test.fasta")
      ) as reader:
          # The reader is an instance of IndexedFastaReader which supports query().
          self.assertEqual(
              reader.query(ranges.make_range("chrM", 1, 6)), "ATCAC"
          )
      with fasta.FastaReader(
          test_utils.genomics_core_testdata("unindexed.fasta")
      ) as reader:
          # The reader is an instance of UnindexedFastaReader which doesn't support
          # query().
          with self.assertRaises(NotImplementedError):
              reader.query(ranges.make_range("chrM", 1, 5))
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import absltest
  from absl.testing import parameterized
  import six
  from third_party.nucleus.io import fasta
  from third_party.nucleus.io.python import reference
  from third_party.nucleus.testing import test_utils
  from third_party.nucleus.util import ranges
label_desc: Use image node_id 1 for calling the FastaReaderTests obj's underlying member method code with example usage: obj.test_dispatching_reader() without return types