code: def test_id(self):
      labels = {
          "regression": fo.Regression(value=51),
          "detection": fo.Detection(
              label="cat", bounding_box=[0, 0, 1, 1]
          ),
          "classification": fo.Classification(label="cat"),
          "polyline": fo.Polyline(label="cat", points=[]),
          "keypoint": fo.Keypoint(label="cat", points=[]),
          "segmentation": fo.Segmentation(
              mask=np.random.randint(255, size=(4, 4), dtype=np.uint8)
          ),
          "heatmap": fo.Heatmap(map=np.random.random(size=(4, 4))),
          "temporal_detection": fo.TemporalDetection(
              label="cat", support=[1, 2]
          ),
          "geolocation": fo.GeoLocation(point=(0, 0)),
          "geolocations": fo.GeoLocations(point=[(0, 0)]),
      }
  
      for label in labels.values():
          self.assertIsInstance(label.id, str)
          self.assertIsInstance(label._id, ObjectId)
  
      sample = fo.Sample(filepath="image.jpg", **labels)
  
      dataset = fo.Dataset()
      dataset.add_sample(sample)
  
      sample_view = dataset.view().first()
  
      for field in labels.keys():
          label = sample_view[field]
          self.assertIsInstance(label.id, str)
          self.assertIsInstance(label._id, ObjectId)
  
file_path: fiftyone/tests/unittests/label_tests.py
imports: import unittest
  from bson import Binary, ObjectId
  import numpy
  import fiftyone
  from decorators import drop_datasets
label_desc: Use image node_id 1 for calling the LabelTests obj's underlying member method code with example usage: obj.test_id() without return types