code: def test_stats_pipeline_with_examples_with_no_values(self):
      record_batches = [
          pa.RecordBatch.from_arrays(
              [
                  pa.array([[]], type=pa.list_(pa.float32())),
                  pa.array([[]], type=pa.list_(pa.binary())),
                  pa.array([[]], type=pa.list_(pa.int32())),
                  pa.array([[2]]),
              ],
              ["a", "b", "c", "w"],
          ),
          pa.RecordBatch.from_arrays(
              [
                  pa.array([[]], type=pa.list_(pa.float32())),
                  pa.array([[]], type=pa.list_(pa.binary())),
                  pa.array([[]], type=pa.list_(pa.int32())),
                  pa.array([[2]]),
              ],
              ["a", "b", "c", "w"],
          ),
          pa.RecordBatch.from_arrays(
              [
                  pa.array([[]], type=pa.list_(pa.float32())),
                  pa.array([[]], type=pa.list_(pa.binary())),
                  pa.array([[]], type=pa.list_(pa.int32())),
                  pa.array([[2]]),
              ],
              ["a", "b", "c", "w"],
          ),
      ]
  
      expected_result = text_format.Parse(
          """
        datasets{
          num_examples: 3
          features {
            path {
              step: 'a'
            }
            type: FLOAT
            num_stats {
              common_stats {
                num_non_missing: 3
                weighted_common_stats {
                  num_non_missing: 6
                }
              }
            }
          }
          features {
            path {
              step: 'b'
            }
            type: STRING
            string_stats {
              common_stats {
                num_non_missing: 3
                weighted_common_stats {
                  num_non_missing: 6
                }
              }
            }
          }
          features {
            path {
              step: 'c'
            }
            type: INT
            num_stats {
              common_stats {
                num_non_missing: 3
                weighted_common_stats {
                  num_non_missing: 6
                }
              }
            }
          }
          features {
            path {
            step: 'w'
          }
          type: INT
          num_stats {
            common_stats {
              num_non_missing: 3
              num_missing: 0
              min_num_values: 1
              max_num_values: 1
              avg_num_values: 1.0
              tot_num_values: 3
              weighted_common_stats {
                  num_non_missing: 6.0
                  avg_num_values: 1.0
                  tot_num_values: 6.0
              }
            }
            mean: 2.0
            std_dev: 0.0
            min: 2.0
            max: 2.0
            median: 2.0
            weighted_numeric_stats {
              mean: 2.0
              median: 2.0
            }
          }
        }
      }
      """,
          statistics_pb2.DatasetFeatureStatisticsList(),
      )
      with beam.Pipeline() as p:
          options = stats_options.StatsOptions(
              weight_feature="w",
              num_top_values=1,
              num_rank_histogram_buckets=1,
              num_values_histogram_buckets=2,
              num_histogram_buckets=1,
              num_quantiles_histogram_buckets=1,
              epsilon=0.001,
          )
          result = (
              p
              | beam.Create(record_batches)
              | stats_api.GenerateStatistics(options)
          )
          util.assert_that(
              result,
              test_util.make_dataset_feature_stats_list_proto_equal_fn(
                  self, expected_result, check_histograms=False
              ),
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import tempfile
  from absl.testing import absltest
  import apache_beam
  from apache_beam.testing import util
  import numpy
  import pyarrow
  import tensorflow
  from tensorflow_data_validation.api import stats_api
  from tensorflow_data_validation.utils import artifacts_io_impl
  from tensorflow_data_validation.statistics import stats_options
  from tensorflow_data_validation.utils import io_util
  from tensorflow_data_validation.utils import stats_util
  from tensorflow_data_validation.utils import test_util
  from google.protobuf import text_format
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 3 for calling the StatsAPITest obj's underlying member method code with example usage: obj.test_stats_pipeline_with_examples_with_no_values() without return types