code: def test_bounds(self):
      d = fo.Dataset()
      d.add_sample_field(
          "numbers", fo.ListField, subfield=fo.IntField()
      )
      s = fo.Sample(filepath="image.jpeg")
      s["number"] = 0
      s["numbers"] = [0, 1]
      d.add_sample(s)
      self.assertEqual(d.bounds("number"), (0, 0))
      self.assertEqual(d.bounds("numbers"), (0, 1))
  
      d = fo.Dataset()
      s = fo.Sample(filepath="video.mp4")
      d.add_sample(s)
      d.add_frame_field("numbers", fo.ListField, subfield=fo.IntField())
      s[1]["number"] = 0
      s[1]["numbers"] = [0, 1]
      s.save()
      self.assertEqual(d.bounds("frames.number"), (0, 0))
      self.assertEqual(d.bounds("frames.numbers"), (0, 1))
  
      d = fo.Dataset()
      s = fo.Sample(filepath="image.jpeg")
      s["detection"] = fo.Detection(label="label", confidence=1)
      d.add_sample(s)
      self.assertEqual(d.bounds("detection.confidence"), (1, 1))
  
      s["detections"] = fo.Detections(
          detections=[
              fo.Detection(label="label", confidence=1),
              fo.Detection(label="label", confidence=0),
          ]
      )
      s.save()
      self.assertEqual(
          d.bounds("detections.detections.confidence"),
          (0, 1),
      )
      self.assertEqual(
          d.bounds(1 + F("detections.detections.confidence")),
          (1, 2),
      )
  
      d = fo.Dataset()
      s = fo.Sample(filepath="video.mp4")
      s[1]["detection"] = fo.Detection(label="label", confidence=1)
      d.add_sample(s)
      self.assertEqual(
          d.bounds("frames.detection.confidence"),
          (1, 1),
      )
  
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 1 for calling the DatasetTests obj's underlying member method code with example usage: obj.test_bounds() without return types