code: def test_binary_classification():
      estimator = xgb.XGBClassifier(
          n_estimators=2, random_state=1, max_depth=1
      )
      utils.get_binary_classification_model_trainer()(estimator)
  
      assembler = XGBoostModelAssemblerSelector(estimator)
      actual = assembler.assemble()
  
      sigmoid = ast.SigmoidExpr(
          ast.BinNumExpr(
              ast.IfExpr(
                  ast.CompExpr(
                      ast.FeatureRef(20),
                      ast.NumVal(16.795),
                      ast.CompOpType.GTE,
                  ),
                  ast.NumVal(-0.5178947448730469),
                  ast.NumVal(0.4880000054836273),
              ),
              ast.IfExpr(
                  ast.CompExpr(
                      ast.FeatureRef(27),
                      ast.NumVal(0.142349988),
                      ast.CompOpType.GTE,
                  ),
                  ast.NumVal(-0.4447747468948364),
                  ast.NumVal(0.39517202973365784),
              ),
              ast.BinNumOpType.ADD,
          ),
          to_reuse=True,
      )
  
      expected = ast.VectorVal(
          [
              ast.BinNumExpr(
                  ast.NumVal(1), sigmoid, ast.BinNumOpType.SUB
              ),
              sigmoid,
          ]
      )
  
      assert utils.cmp_exprs(actual, expected)
  
file_path: m2cgen/tests/assemblers/test_boosting_xgboost.py
imports: import numpy
  import xgboost
  from m2cgen import ast
  from m2cgen.assemblers import XGBoostModelAssemblerSelector
  from m2cgen.assemblers.utils import apply_op_to_expressions
  from tests import utils
label_desc: Use image node_id 1 for calling a global function with example usage: test_binary_classification() without return types