code: def test_kind_chunk_invocation(point, division, base_dataset_fixture):
      """Test that calling :meth:`data.data_core.BaseDataset._do_something` results in the invocation
      of the proper callback method of :class:`data.data_core.BaseDataChunk` three times (once for
      `input`, `target` and `prediction`). Using `on_fold_end` as an example, this function ensures::
          `_do_something("fold", "end", ...)` `BaseDataset` call   ->
              `on_fold_end(...)` call (`input` chunk)
              `on_fold_end(...)` call (`target` chunk)
              `on_fold_end(...)` call (`prediction` chunk)"""
      method_to_mock = f"on_{division}_{point}"
      mock_method_path = f"hyperparameter_hunter.data.data_core.BaseDataChunk.{method_to_mock}"
  
      with mock.patch(mock_method_path) as mock_primary_callback:
          base_dataset_fixture._do_something(
              division, point, "An arg", k="A kwarg"
          )
          mock_primary_callback.assert_has_calls(
              [mock.call("An arg", k="A kwarg")] * 3
          )
  
file_path: hyperparameter_hunter/tests/test_data/test_data_core.py
imports: from hyperparameter_hunter.data.data_core import BaseDataChunk, BaseDataset, NullDataChunk
  import pandas
  import pytest
  from unittest import mock
label_desc: Use image node_id 5 for calling a global function with example usage: test_kind_chunk_invocation(point, division, base_dataset_fixture) without return types