code: def test_exclude_existing_objects(
      self,
      mock_gcs_hook,
      source_objects,
      existing_objects,
      objects_expected,
  ):
      operator = S3ToGCSOperator(
          task_id=TASK_ID,
          bucket=S3_BUCKET,
          prefix=S3_PREFIX,
          delimiter=S3_DELIMITER,
          gcp_conn_id=GCS_CONN_ID,
          dest_gcs=GCS_PATH_PREFIX,
          gzip=True,
      )
      mock_gcs_hook.list.return_value = existing_objects
      files_reduced = operator.exclude_existing_objects(
          s3_objects=source_objects, gcs_hook=mock_gcs_hook
      )
      assert set(files_reduced) == set(objects_expected)
  
imports: from __future__ import annotations
  from unittest import mock
  from unittest.mock import PropertyMock
  import pytest
  import time_machine
  from airflow.exceptions import AirflowException, TaskDeferred
  from airflow.providers.google.cloud.hooks.cloud_storage_transfer_service import CloudDataTransferServiceHook
  from airflow.providers.google.cloud.transfers.s3_to_gcs import S3ToGCSOperator
  from airflow.utils.timezone import utcnow
label_desc: Use image node_id 4 for calling the TestS3ToGoogleCloudStorageOperator obj's underlying member method code with example usage: obj.test_exclude_existing_objects(mock_gcs_hook, source_objects, existing_objects, objects_expected) without return types