code: def test_add_features_throws_if_num_data_unequal():
      X1 = np.random.random((100, 1))
      X2 = np.random.random((10, 1))
      d1 = lgb.Dataset(X1).construct()
      d2 = lgb.Dataset(X2).construct()
      with pytest.raises(lgb.basic.LightGBMError):
          d1.add_features_from(d2)
  
imports: import filecmp
  import numbers
  import re
  from copy import deepcopy
  from os import getenv
  from pathlib import Path
  import numpy
  import pytest
  from scipy import sparse
  from sklearn.datasets import dump_svmlight_file, load_svmlight_file
  from sklearn.model_selection import train_test_split
  import lightgbm
  from lightgbm.compat import PANDAS_INSTALLED, pd_DataFrame, pd_Series
  from .utils import dummy_obj, load_breast_cancer, mse_obj, np_assert_array_equal
label_desc: Use image node_id 9 for calling a global function with example usage: test_add_features_throws_if_num_data_unequal() without return types