code: def _assert_reconciliation_complex(self, fitted_recon):
      reconciled = fitted_recon.transform(self.series_complex)
  
      def _assert_comps(comp, comps):
          np.testing.assert_almost_equal(
              reconciled[comp].values(copy=False),
              sum(reconciled[c] for c in comps).values(copy=False),
          )
  
      _assert_comps("a", ["ax", "ay"])
      _assert_comps("b", ["bx", "by"])
      _assert_comps("x", ["ax", "bx"])
      _assert_comps("y", ["ay", "by"])
      _assert_comps("total", ["ax", "ay", "bx", "by"])
      _assert_comps("total", ["a", "b"])
      _assert_comps("total", ["x", "y"])
  
file_path: darts/darts/tests/dataprocessing/transformers/test_reconciliation.py
imports: import numpy
  from pandas import date_range
  from darts import TimeSeries, concatenate
  from darts.dataprocessing.transformers.reconciliation import BottomUpReconciliator, MinTReconciliator, TopDownReconciliator, _get_summation_matrix
  from darts.models import LinearRegressionModel
  from darts.utils import timeseries_generation
label_desc: Use image node_id 2 for calling the TestReconciliation obj's underlying member method code with example usage: obj._assert_reconciliation_complex(fitted_recon) without return types