code: def test__fit_by_treatment(base_input_df):
      learner_binary = logistic_classification_learner(
          features=["x1", "x2", TREATMENT_FEATURE],
          target="target",
          params={"max_iter": 10},
      )
  
      treatments = ["A", "B"]
  
      learners, logs = _fit_by_treatment(
          base_input_df,
          learner=learner_binary,
          treatment_col="treatment",
          control_name="control",
          treatments=treatments,
      )
  
      assert len(learners) == len(treatments)
      assert len(logs) == len(treatments)
      assert type(logs) is dict
      assert [type(learner) is LearnerFnType for learner in learners]
  
imports: from typing import Callable
  from unittest.mock import MagicMock, call, create_autospec, patch
  import numpy
  import pandas
  import pytest
  from pandas import DataFrame
  from pandas.testing import assert_frame_equal
  from fklearn.causal.cate_learning.meta_learners import TREATMENT_FEATURE, _append_treatment_feature, _create_treatment_flag, _filter_by_treatment, _fit_by_treatment, _get_learners, _get_model_fcn, _get_unique_treatments, _predict_by_treatment_flag, _simulate_t_learner_treatment_effect, _simulate_treatment_effect, causal_s_classification_learner, causal_t_classification_learner
  from fklearn.exceptions.exceptions import MissingControlError, MissingTreatmentError, MultipleTreatmentsError
  from fklearn.training.classification import logistic_classification_learner
  from fklearn.types import LearnerFnType
label_desc: Use image node_id 9 for calling a global function with example usage: test__fit_by_treatment(base_input_df) without return types