code: def test___get_segregated_documents(
      _get_documents_to_uuid_map,
      _prepare_document_to_uuid_map,
      weaviate_hook,
  ):
      _get_documents_to_uuid_map.return_value = {
          "abc.doc": {"uuid1", "uuid2", "uuid2"},
          "xyz.doc": {"uuid4", "uuid5"},
          "dfg.doc": {"uuid8", "uuid0", "uuid12"},
      }
      _prepare_document_to_uuid_map.return_value = {
          "abc.doc": {"uuid1", "uuid56", "uuid2"},
          "xyz.doc": {"uuid4", "uuid5"},
          "hjk.doc": {"uuid8", "uuid0", "uuid12"},
      }
      (
          _,
          changed_documents,
          unchanged_docs,
          new_documents,
      ) = weaviate_hook._get_segregated_documents(
          data=pd.DataFrame(),
          document_column="doc_key",
          uuid_column="id",
          class_name="doc",
      )
      assert changed_documents == {"abc.doc"}
      assert unchanged_docs == {"xyz.doc"}
      assert new_documents == {"hjk.doc"}
  
imports: from __future__ import annotations
  from contextlib import ExitStack
  from unittest import mock
  from unittest.mock import MagicMock, Mock
  import pandas
  import pytest
  import requests
  import weaviate
  from weaviate import ObjectAlreadyExistsException
  from airflow.models import Connection
  from airflow.providers.weaviate.hooks.weaviate import WeaviateHook
label_desc: Use image node_id 18 for calling a global function with example usage: test___get_segregated_documents(_get_documents_to_uuid_map, _prepare_document_to_uuid_map, weaviate_hook) without return types