code: def test_should_load_and_select_using_function_video(self):
      # Equality test
      select_query = "SELECT id,DummyObjectDetector(data) FROM MyVideo \
              WHERE DummyObjectDetector(data).label = ['person'] ORDER BY id;"
      actual_batch = execute_query_fetch_all(self.evadb, select_query)
      expected = [
          {
              "myvideo.id": i * 2,
              "dummyobjectdetector.label": np.array(["person"]),
          }
          for i in range(NUM_FRAMES // 2)
      ]
      expected_batch = Batch(frames=pd.DataFrame(expected))
      self.assertEqual(actual_batch, expected_batch)
  
      # Contain test
      select_query = "SELECT id,DummyObjectDetector(data) FROM MyVideo \
              WHERE DummyObjectDetector(data).label @> ['person'] ORDER BY id;"
      actual_batch = execute_query_fetch_all(self.evadb, select_query)
      self.assertEqual(actual_batch, expected_batch)
  
      # Multi element contain test
  
      select_query = "SELECT id,DummyObjectDetector(data) FROM MyVideo \
              WHERE DummyObjectDetector(data).label <@ ['person', 'bicycle'] \
              ORDER BY id;"
      actual_batch = execute_query_fetch_all(self.evadb, select_query)
      expected = [
          {
              "myvideo.id": i * 2,
              "dummyobjectdetector.label": np.array(["person"]),
          }
          for i in range(NUM_FRAMES // 2)
      ]
      expected += [
          {
              "myvideo.id": i,
              "dummyobjectdetector.label": np.array(["bicycle"]),
          }
          for i in range(NUM_FRAMES)
          if i % 2 + 1 == 2
      ]
      expected_batch = Batch(frames=pd.DataFrame(expected))
      expected_batch.sort()
  
      self.assertEqual(actual_batch, expected_batch)
      nested_select_query = """SELECT name, id, data FROM
              (SELECT name, id, data, DummyObjectDetector(data) FROM MyVideo
                  WHERE id >= 2
              ) AS T
              WHERE ['person'] <@ label;
              """
      actual_batch = execute_query_fetch_all(
          self.evadb, nested_select_query
      )
      actual_batch.sort()
      expected_batch = list(
          create_dummy_batches(
              filters=[i for i in range(2, NUM_FRAMES) if i % 2 == 0]
          )
      )[0]
      expected_batch = expected_batch.project(
          ["myvideo.name", "myvideo.id", "myvideo.data"]
      )
      expected_batch.modify_column_alias("T")
      self.assertEqual(actual_batch, expected_batch)
  
imports: import tempfile
  import unittest
  from test.util import DummyObjectDetector, create_dummy_batches, create_sample_video, file_remove, get_evadb_for_testing, shutdown_ray
  import numpy
  import pandas
  import pytest
  from evadb.binder.binder_utils import BinderError
  from evadb.catalog.catalog_type import ColumnType, NdArrayType
  from evadb.executor.executor_utils import ExecutorError
  from evadb.models.storage.batch import Batch
  from evadb.server.command_handler import execute_query_fetch_all
label_desc: Use image node_id 4 for calling the FunctionExecutorTest obj's underlying member method code with example usage: obj.test_should_load_and_select_using_function_video() without return types