code: def test_list_schema(self):
      d = fo.Dataset()
      d.add_samples(
          [
              fo.Sample(
                  filepath="image1.png",
                  ground_truth=fo.Classification(
                      label="cat",
                      info=[
                          fo.DynamicEmbeddedDocument(
                              task="initial_annotation",
                              author="Alice",
                              timestamp=datetime(1970, 1, 1),
                              notes=["foo", "bar"],
                              ints=[1],
                              floats=[1.0],
                              mixed=[1, "foo"],
                          ),
                          fo.DynamicEmbeddedDocument(
                              task="editing_pass",
                              author="Bob",
                              timestamp=datetime.utcnow(),
                          ),
                      ],
                  ),
              ),
              fo.Sample(
                  filepath="image2.png",
                  ground_truth=fo.Classification(
                      label="dog",
                      info=[
                          fo.DynamicEmbeddedDocument(
                              task="initial_annotation",
                              author="Bob",
                              timestamp=datetime(2018, 10, 18),
                              notes=["spam", "eggs"],
                              ints=[2],
                              floats=[2],
                              mixed=[2.0],
                          ),
                      ],
                  ),
              ),
          ]
      )
  
      field = d.list_schema("ground_truth.info")
      self.assertIsInstance(field, fo.EmbeddedDocumentField)
      self.assertEqual(field.document_type, fo.DynamicEmbeddedDocument)
  
      schema = d.schema("ground_truth.info[]")
      self.assertIsInstance(schema["task"], fo.StringField)
      self.assertIsInstance(schema["author"], fo.StringField)
      self.assertIsInstance(schema["timestamp"], fo.DateTimeField)
      self.assertIsInstance(schema["notes"], fo.ListField)
      self.assertIsInstance(schema["ints"], fo.ListField)
      self.assertIsInstance(schema["floats"], fo.ListField)
      self.assertIsInstance(schema["mixed"], fo.ListField)
  
      field = d.list_schema("ground_truth.info[].notes")
      self.assertIsInstance(field, fo.StringField)
  
      field = d.list_schema("ground_truth.info[].ints")
      self.assertIsInstance(field, fo.IntField)
  
      field = d.list_schema("ground_truth.info[].floats")
      self.assertIsInstance(field, fo.FloatField)
  
      fields = d.list_schema("ground_truth.info[].mixed")
      self.assertIsInstance(fields, list)
      self.assertEqual(len(fields), 3)
  
      d.add_sample_field(
          "ground_truth.info",
          fo.ListField,
          subfield=fo.EmbeddedDocumentField,
          embedded_doc_type=fo.DynamicEmbeddedDocument,
      )
  
      field = d.list_schema("ground_truth.info.notes")
      self.assertIsInstance(field, fo.StringField)
  
      schema = d.schema("ground_truth.info")
      self.assertEqual(len(schema), 7)
  
imports: from datetime import date, datetime, timedelta
  import math
  from bson import ObjectId
  import numpy
  import unittest
  import fiftyone
  import fiftyone.core.fields
  from fiftyone import ViewField
  from decorators import drop_datasets
label_desc: Use image node_id 8 for calling the DatasetTests obj's underlying member method code with example usage: obj.test_list_schema() without return types