code: def test_assign_records(input, overlap, shuffle, expected_result):
      mock_records = [
          "record1",
          "record2",
          "record3",
          "record4",
          "record5",
      ]
  
      def mock_assign_records_to_groups(
          users, records, overlap, shuffle
      ):
          assert users == input
          assert records == mock_records
          assert overlap == overlap
          assert shuffle == shuffle
          return expected_result
  
      def mock_assign_records_to_individuals(
          users, records, overlap, shuffle
      ):
          assert users == input
          assert records == mock_records
          assert overlap == overlap
          assert shuffle == shuffle
          return expected_result
  
      with patch(
          "argilla.client.feedback.utils.assignment.assign_records_to_groups",
          side_effect=mock_assign_records_to_groups,
      ):
          with patch(
              "argilla.client.feedback.utils.assignment.assign_records_to_individuals",
              side_effect=mock_assign_records_to_individuals,
          ):
              result = assign_records(
                  input, mock_records, overlap, shuffle
              )
              assert result == expected_result
  
file_path: argilla/tests/unit/client/feedback/utils/test_assignment.py
imports: import warnings
  from unittest.mock import Mock, patch
  import pytest
  from argilla.client.feedback.utils.assignment import assign_records, assign_records_to_groups, assign_records_to_individuals, assign_workspaces, check_user, check_workspace
  from argilla.client.users import User
  from argilla.client.workspaces import Workspace
label_desc: Use image node_id 9 for calling a global function with example usage: test_assign_records(input, overlap, shuffle, expected_result) and returns: expected_result, expected_result