class_docstr: Tests that MutualInformation returns the correct AMI value.
class_docstr_tok: ["Tests","that","MutualInformation","returns","the","correct","AMI","value","."]
code: def test_mi_with_no_schema_or_paths(self):
      batch = pa.RecordBatch.from_arrays(
          [pa.array([[1]]), pa.array([[1]])], ["label_key", "fa"]
      )
  
      with self.assertRaisesRegex(
          ValueError,
          "Either multivalent feature set or schema must be provided",
      ):
          mutual_information.MutualInformation(
              types.FeaturePath(["label_key"]),
              None,
              TEST_SEED,
              TEST_MAX_ENCODING_LENGTH,
          ).compute(batch)
  
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 apache_beam
  from apache_beam.testing import util
  import numpy
  import pyarrow
  from tensorflow_data_validation import types
  from tensorflow_data_validation.statistics.generators import mutual_information
  from tensorflow_data_validation.statistics.generators import partitioned_stats_generator
  from tensorflow_data_validation.utils import test_util
  from tfx_bsl.arrow import table_util
  from google.protobuf import text_format
  from tensorflow_metadata.proto.v0 import schema_pb2
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 22 for calling the MutualInformationTest obj's underlying member method code with example usage: obj.test_mi_with_no_schema_or_paths() without return types