code: def test_data_strategies(
      strategy: StrategyDefineData,
      features: Union[np.ndarray, pd.DataFrame, Tuple],
      task: Task,
      target: Union[None, np.ndarray],
      expected: Tuple[np.ndarray, np.ndarray],
      monkeypatch,
  ):
      monkeypatch.setattr(
          fedot_api_api_utils_data_definition,
          "array_to_input_data",
          _array_to_input_data,
      )
  
      obtained_features, obtained_target = strategy().define_data(
          features=features, task=task, target=target
      )
      expected_features, expected_target = expected
  
      assert np.allclose(obtained_features, expected_features)
      assert np.allclose(obtained_target, expected_target)
  
file_path: FEDOT/test/unit/data_operations/test_data_definition.py
imports: from datetime import datetime
  from typing import Union, Tuple, Optional
  import numpy
  import pandas
  import pytest
  import fedot.api.api_utils.data_definition
  from fedot.api.api_utils.data_definition import PandasStrategy, TupleStrategy, NumpyStrategy, StrategyDefineData
  from fedot.core.data.data import InputData
  from fedot.core.data.data import np_datetime_to_numeric
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum
label_desc: Use image node_id 3 for calling a global function with example usage: test_data_strategies(strategy, features, task, target, expected, monkeypatch) without return types