code: def test_tf_dataset_with_list_feature(self):
      np.random.seed(20)
      x = np.random.rand(20, 10)
      y = np.random.randint(0, 2, (20))
  
      rdd_x = self.sc.parallelize(x)
      rdd_y = self.sc.parallelize(y)
  
      rdd = rdd_x.zip(rdd_y)
  
      dataset = TFDataset.from_rdd(
          rdd,
          features=[(tf.float32, [10]), (tf.float32, [10])],
          labels=(tf.int32, []),
          batch_size=4,
          val_rdd=rdd,
      )
  
      for idx, tensor in enumerate(dataset.feature_tensors):
          assert tensor.name == "list_input_" + str(idx) + ":0"
  
imports: import pytest
  from pyspark.ml.linalg import DenseVector
  from bigdl.dllib.feature.common import ChainedPreprocessing, FeatureSet
  from bigdl.dllib.feature.image import *
  from bigdl.orca.test_zoo_utils import ZooTestCase
  from bigdl.dllib.keras.optimizers import Adam
  from bigdl.orca.tfpark import TFNet, TFOptimizer
  import tensorflow
  import numpy
  import os
  from bigdl.orca.tfpark import KerasModel, TFDataset
label_desc: Use image node_id 14 for calling the TestTFDataset obj's underlying member method code with example usage: obj.test_tf_dataset_with_list_feature() without return types